diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..38e153e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,59 @@ +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 + default: ${{ github.sha }} + +env: + VERSION: ${{ github.event.inputs.version }} + NPM_TAG: ${{ github.event.inputs.npm_tag }} + REF: ${{ github.event.inputs.ref }} + +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 + + - name: Github Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + hub release create \ + -a "dist/main.js#userscript.js" \ + -a "dist/ext.zip#webextension.zip" \ + -m v$VERSION \ + -t $REF \ + v$VERSION