name: Release Axios on: workflow_dispatch: inputs: type: type: choice description: Choose release type options: - auto - patch - minor - major default: auto beta: type: boolean description: Prerelease default: false npm: type: boolean description: NPM release default: true dry: type: boolean description: Dry release default: false jobs: releaseIt: runs-on: ubuntu-latest env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: git config run: | git config user.name "${GITHUB_ACTOR}" git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" - name: Setup node uses: actions/setup-node@v3 with: node-version: 16 cache: npm - name: npm credentials run: npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN - run: npm install - name: release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TYPE_ARG: ${{ fromJSON('{"auto":"", "patch":"--patch", "minor":"--minor", "major":"--major"}')[github.event.inputs.type] }} BETA_ARG: ${{ github.event.inputs.beta == 'true' && '--preRelease=beta' || '' }} DRY_ARG: ${{ github.event.inputs.dry == 'true' && '--dry-run' || '' }} run: npm run release -- --ci --verbose $TYPE_ARG $BETA_ARG $DRY_ARG - name: npm-release if: ${{ github.event.inputs.dry == 'false' && github.event.inputs.npm == 'true' }} run: npm publish