| # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created | |||||
| # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages | |||||
| # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node | |||||
| # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |||||
| name: Node.js Package | |||||
| name: publish | |||||
| on: | on: | ||||
| release: | |||||
| types: [created] | |||||
| push: | |||||
| branches: [ master ] | |||||
| pull_request: | |||||
| branches: [ master ] | |||||
| jobs: | jobs: | ||||
| build: | build: | ||||
| runs-on: ubuntu-latest | |||||
| steps: | |||||
| - uses: actions/checkout@v2 | |||||
| - uses: actions/setup-node@v1 | |||||
| with: | |||||
| node-version: 12 | |||||
| - run: yarn ci | |||||
| - run: yarn test | |||||
| publish-npm: | |||||
| needs: build | |||||
| runs-on: ubuntu-latest | runs-on: ubuntu-latest | ||||
| steps: | |||||
| - uses: actions/checkout@v2 | |||||
| - uses: actions/setup-node@v1 | |||||
| with: | |||||
| node-version: 12 | |||||
| registry-url: https://registry.npmjs.org/ | |||||
| - run: npm ci | |||||
| - run: npm publish | |||||
| env: | |||||
| NODE_AUTH_TOKEN: ${{secrets.npm_token}} | |||||
| publish-gpr: | |||||
| needs: build | |||||
| runs-on: ubuntu-latest | |||||
| strategy: | |||||
| matrix: | |||||
| node-version: [10.x, 12.x] | |||||
| steps: | steps: | ||||
| - uses: actions/checkout@v2 | |||||
| - uses: actions/setup-node@v1 | |||||
| with: | |||||
| node-version: 12 | |||||
| registry-url: https://npm.pkg.github.com/ | |||||
| - run: npm ci | |||||
| - run: npm run publish | |||||
| env: | |||||
| NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} | |||||
| - uses: actions/checkout@v2 | |||||
| - name: Use Node.js ${{ matrix.node-version }} | |||||
| uses: actions/setup-node@v1 | |||||
| with: | |||||
| node-version: ${{ matrix.node-version }} | |||||
| - name: Publish project | |||||
| run: yarn && yarn run publish |