name: 🚀 Release on: workflow_dispatch: inputs: package: description: Package to release default: wxt type: choice options: - analytics - auto-icons - i18n - 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@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 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: | pnpm tsx scripts/bump-package-version.ts ${{ inputs.package }} git push git push --tags - name: Publish to NPM working-directory: packages/${{ inputs.package }} run: | pnpm pack sudo npm i -g npm@latest /usr/local/bin/npm publish *.tgz - name: Create GitHub release run: pnpm tsx scripts/create-github-release.ts ${{ inputs.package }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}