-
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: run cli publish in separate workflows
- Loading branch information
1 parent
7dc7f54
commit add5319
Showing
2 changed files
with
136 additions
and
57 deletions.
There are no files selected for viewing
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