-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: improve publish action scripts (#1729)
- Loading branch information
1 parent
ba25e24
commit 952c05c
Showing
6 changed files
with
228 additions
and
75 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name: Tests e2e | ||
|
||
on: [push] | ||
|
||
jobs: | ||
build-and-e2e: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- run: npm ci | ||
- run: npm run bundle | ||
- run: npm run e2e |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
name: Publish cli | ||
|
||
on: | ||
push: | ||
tags: | ||
- v[0-9]*.[0-9]*.[0-9]* | ||
|
||
|
||
jobs: | ||
bundle: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
- name: Cache node modules | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS | ||
key: npm-${{ hashFiles('package-lock.json') }} | ||
restore-keys: | | ||
npm-${{ hashFiles('package-lock.json') }} | ||
npm- | ||
- run: npm ci | ||
- run: npm run bundle | ||
- name: Store bundle artifact | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: bundles-cli | ||
path: bundles | ||
retention-days: 1 | ||
unit-tests: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- run: npm ci | ||
- run: npm test | ||
e2e-tests: | ||
needs: [bundle] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- run: npm ci | ||
- name: Download bundled artifact | ||
uses: actions/download-artifact@v2 | ||
with: | ||
name: bundles | ||
path: bundles-cli | ||
- run: npm run e2e | ||
bundle-cli: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
- name: Cache node modules | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.npm | ||
key: npm-${{ hashFiles('package-lock.json') }} | ||
restore-keys: | | ||
npm-${{ hashFiles('package-lock.json') }} | ||
npm- | ||
- name: Install dependencies | ||
run: npm ci | ||
- name: Bundle | ||
run: npm run compile:cli | ||
- name: Store bundle artifact | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: cli | ||
path: cli | ||
retention-days: 1 | ||
check-version-cli: | ||
name: Check Version | ||
runs-on: ubuntu-latest | ||
needs: [bundle-cli, unit-tests, e2e-tests] | ||
outputs: | ||
changed: ${{ steps.check.outputs.changed }} | ||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v2 | ||
- name: Set up Node.js | ||
uses: actions/setup-node@v2 | ||
- name: Check if version has been updated | ||
id: check | ||
uses: EndBug/version-check@v2.0.1 | ||
with: | ||
file-name: ./cli/package.json | ||
file-url: https://unpkg.com/redoc-cli/package.json | ||
static-checking: localIsNew | ||
publish-cli: | ||
needs: [ check-version-cli ] | ||
if: needs.check-version-cli.outputs.changed == 'true' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/setup-node@v1 | ||
with: | ||
node-version: "14.x" | ||
- uses: actions/checkout@v2 | ||
- name: Download cli bundled artifact | ||
uses: actions/download-artifact@v2 | ||
with: | ||
name: cli | ||
path: cli | ||
- name: Cache node modules | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS | ||
key: npm-${{ hashFiles('package-lock.json') }} | ||
restore-keys: | | ||
npm-${{ hashFiles('package-lock.json') }} | ||
npm- | ||
- name: Publish to NPM | ||
run: cd cli/ && npm publish | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
name: Publish | ||
|
||
on: | ||
push: | ||
tags: | ||
- v[0-9]*.[0-9]*.[0-9]* | ||
|
||
jobs: | ||
bundle: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-node@v2 | ||
- name: Cache node modules | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS | ||
key: npm-${{ hashFiles('package-lock.json') }} | ||
restore-keys: | | ||
npm-${{ hashFiles('package-lock.json') }} | ||
npm- | ||
- run: npm ci | ||
- run: npm run bundle | ||
- name: Store bundle artifact | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: bundles | ||
path: bundles | ||
retention-days: 1 | ||
unit-tests: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- run: npm ci | ||
- run: npm test | ||
e2e-tests: | ||
needs: [bundle] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- run: npm ci | ||
- name: Download bundled artifact | ||
uses: actions/download-artifact@v2 | ||
with: | ||
name: bundles | ||
path: bundles | ||
- run: npm run e2e | ||
deploy-demo: | ||
needs: [bundle, unit-tests, e2e-tests] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v1 | ||
- name: Configure AWS Credentials | ||
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: us-east-1 | ||
- name: Install dependencies | ||
run: npm ci | ||
- name: Download bundled artifacts | ||
uses: actions/download-artifact@v2 | ||
with: | ||
name: bundles | ||
path: bundles | ||
- name: Build package | ||
run: npm run build:demo | ||
- name: Deploy to S3 bucket | ||
run: npm run deploy:demo | ||
- name: Invalidate | ||
run: aws cloudfront create-invalidation --distribution-id ${{ secrets.CF_DEMO_DISTRIBUTION_ID }} --paths "/*" | ||
publish: | ||
needs: [bundle, unit-tests, e2e-tests] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/setup-node@v1 | ||
with: | ||
node-version: "14.x" | ||
- uses: actions/checkout@v2 | ||
- name: Download bundled artifacts | ||
uses: actions/download-artifact@v2 | ||
with: | ||
name: bundles | ||
path: bundles | ||
- name: Cache node modules | ||
uses: actions/cache@v2 | ||
with: | ||
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS | ||
key: npm-${{ hashFiles('package-lock.json') }} | ||
restore-keys: | | ||
npm-${{ hashFiles('package-lock.json') }} | ||
npm- | ||
- name: Before deploy | ||
run: npm run declarations | ||
- name: Publish to NPM | ||
run: npm publish | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | ||
- name: After script | ||
run: cat ./coverage/lcov.info | coveralls |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,4 +9,4 @@ jobs: | |
- uses: actions/checkout@v1 | ||
- run: npm ci | ||
- run: npm run bundle | ||
- run: npm test | ||
- run: npm test |
This file was deleted.
Oops, something went wrong.