name: Release on: workflow_dispatch: inputs: version: description: 'The version number. default: the version number in package.json' required: false npm_tag: description: 'The tag to register the published NPM package with' required: false default: 'latest' ref: description: 'The branch, tag or SHA to release from' required: false env: VERSION: ${{ github.event.inputs.version }} NPM_TAG: ${{ github.event.inputs.npm_tag }} REF: ${{ github.event.inputs.ref || github.sha }} jobs: release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: ref: ${{ env.REF }} - uses: actions/setup-node@v1 with: node-version: 12 registry-url: https://registry.npmjs.org/ - name: Set Env run: | VER=$(node -p "require('./package.json').version") echo "VERSION=$VER" >> $GITHUB_ENV if: ${{ !env.VERSION }} - run: npm install - name: Bump Version run: npm version --allow-same-version --no-git-tag $VERSION - run: npm run build - run: npm run pack:ext - name: NPM Publish run: npm publish --tag $NPM_TAG env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # 0301... - name: Sign Firefox Extension id: web_ext_sign uses: kewisch/action-web-ext@v1 with: cmd: sign source: dist/ext.zip channel: unlisted apiKey: ${{ secrets.AMO_SIGN_KEY }} apiSecret: ${{ secrets.AMO_SIGN_SECRET }} - name: Github Release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SIGNED_WEB_EXT: ${{ steps.web-ext-build.outputs.target }} run: | hub release create \ -a "dist/main.js#userscript.js" \ -a "dist/ext.zip#webextension.zip" \ -a "$SIGNED_WEB_EXT" \ -m v$VERSION \ -t $REF \ v$VERSION