name: 🚀 Release on: workflow_dispatch: inputs: package: description: Package to release default: wxt type: choice options: - analytics - auto-icons - i18n - is-background - module-react - module-solid - module-svelte - module-vue - runner - storage - unocss - webextension-polyfill - wxt permissions: contents: read jobs: validate: name: Validate uses: './.github/workflows/validate.yml' secrets: inherit publish: name: Publish runs-on: ubuntu-24.04 permissions: contents: write # Push version changes id-token: write # OIDC for NPM publishing needs: - validate steps: - name: Checkout uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: fetch-depth: 0 ssh-key: ${{ secrets.DEPLOY_KEY }} # https://github.com/sbellone/release-workflow-example - name: Setup uses: ./.github/actions/setup - name: Configure Git run: | git config user.name 'github-actions[bot]' git config user.email 'github-actions[bot]@users.noreply.github.com' git config --global push.followTags true - name: Bump and Tag run: | bun run scripts/bump-package-version.ts ${{ inputs.package }} git push git push --tags - name: Publish to NPM working-directory: packages/${{ inputs.package }} run: | bun pm pack sudo npm i -g npm@latest npm publish *.tgz - name: Create GitHub release run: bun run scripts/create-github-release.ts ${{ inputs.package }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}