name: Release on: workflow_dispatch: inputs: newversion: description: 'npm version {major,minor,patch,premajor,preminor,prepatch,prerelease}' required: true permissions: contents: write jobs: version_and_release: runs-on: ubuntu-latest steps: - name: 'Generate token' id: generate_token uses: tibdex/github-app-token@v1 with: app_id: ${{ secrets.BOT_APP_ID }} private_key: ${{ secrets.BOT_PRIVATE_KEY }} - name: 'Checking out code' uses: actions/checkout@v4 with: fetch-depth: 0 token: ${{ steps.generate_token.outputs.token }} - name: 'Setting up Node' uses: actions/setup-node@v4 with: node-version: 20 cache: 'npm' - name: 'Install Node Dependencies' run: npm ci - name: 'Build' run: npm run build - name: 'Test' run: npm test - name: 'git config' run: git config --global user.email "wrankles@zerotier.com" && git config --global user.name "wrankles" - name: 'Bump Version' run: npx release-it --ci -VV --no-github.release ${{ github.event.inputs.newversion }} --template keepachangelog env: GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }} - name: 'Create Release' run: npx release-it --ci -VV --no-increment --no-git --template compact env: GITHUB_TOKEN: ${{ steps.generate_token.outputs.token }}