name: publish on: push: tags: - v* workflow_dispatch: inputs: dry_run: type: boolean description: Dry run default: true permissions: contents: write jobs: publish: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v5 - name: Setup node uses: actions/setup-node@v6 with: node-version: 22 cache: 'npm' - name: Install dependencies run: npm ci - name: Zip extensions run: | npm run zip:firefox npm run zip - name: Upload to latest release if: github.event.inputs.dry_run != 'true' uses: svenstaro/upload-release-action@v2 with: repo_token: ${{ secrets.GITHUB_TOKEN }} file: .output/*.zip tag: ${{ github.ref }} overwrite: true file_glob: true - name: Submit to stores env: DRY_RUN: ${{ github.event.inputs.dry_run }} FIREFOX_EXTENSION_ID: ${{ secrets.FIREFOX_EXTENSION_ID }} FIREFOX_JWT_ISSUER: ${{ secrets.FIREFOX_JWT_ISSUER }} FIREFOX_JWT_SECRET: ${{ secrets.FIREFOX_JWT_SECRET }} CHROME_EXTENSION_ID: ${{ secrets.CHROME_EXTENSION_ID }} CHROME_CLIENT_ID: ${{ secrets.CHROME_CLIENT_ID }} CHROME_CLIENT_SECRET: ${{ secrets.CHROME_CLIENT_SECRET }} CHROME_REFRESH_TOKEN: ${{ secrets.CHROME_REFRESH_TOKEN }} run: | wxt submit \ --firefox-zip .output/*-mv2.zip --firefox-sources-zip .output/*-sources.zip \ --chrome-zip .output/*-mv3.zip