mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
201c86838f
## About the changes https://github.blog/changelog/2022-10-24-npm-v9-0-0-released/ introduced a breaking change in the way they handle files inside package.json which caused some issues with the way we pack and distribute Unleash: > npm pack now follows a strict order of operations when applying ignore rules. If a files array is present in the package.json, then rules in .gitignore and .npmignore files from the root will be ignored. What we discovered is that when having a nested .gitignore (the one we have inside frontend), `npm publish` was taking that nested .gitignore into account (despite the fact that we also have a package.json with files inside the same folder). We tricked this by removing the `build` folder from `frontend/.gitignore` and instead adding it into the root `.gitignore` which is being ignored by `npm publish` following what's stated in the release note above. ----------------- Co-authored-by: Gard Rimestad <gard@getunleash.io>
56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
name: 'Publish to npm'
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
node-version: [18.x]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Setup to npm
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
registry-url: 'https://registry.npmjs.org'
|
|
cache: 'yarn'
|
|
- name: Build
|
|
run: |
|
|
yarn install --frozen-lockfile
|
|
yarn --cwd ./frontend install --frozen-lockfile
|
|
- name: Publish to npm
|
|
run: |
|
|
LATEST=$(npm show unleash-server version)
|
|
TAG=$(node scripts/npm-tag.js $LATEST)
|
|
npm publish --tag ${TAG:-latest}
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
- uses: aws-actions/configure-aws-credentials@v1
|
|
with:
|
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
|
|
- name: Get the version
|
|
id: get_version
|
|
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
|
- name: Publish static assets to S3
|
|
run: |
|
|
aws s3 cp frontend/build s3://getunleash-static/unleash/${{ steps.get_version.outputs.VERSION }} --recursive
|
|
- name: Trigger sync
|
|
uses: actions/github-script@v6
|
|
with:
|
|
github-token: ${{ secrets.UNLEASH_CI_BUILDER_GITHUB_TOKEN }}
|
|
script: |
|
|
await github.rest.actions.createWorkflowDispatch({
|
|
owner: 'ivarconr',
|
|
repo: 'unleash-enterprise',
|
|
workflow_id: 'continuous_version_sync.yaml',
|
|
ref: 'master'
|
|
})
|