diff --git a/.github/workflows/submit.yml b/.github/workflows/submit.yml new file mode 100644 index 0000000..29deec9 --- /dev/null +++ b/.github/workflows/submit.yml @@ -0,0 +1,79 @@ +name: Submit for Review +on: + workflow_dispatch: + inputs: + dryRun: + default: false + type: boolean + description: Skip submission and perform a dry run + +jobs: + validate: + name: Validate + uses: ./.github/workflows/validate.yml + secrets: inherit + + submit: + name: Submit + runs-on: ubuntu-22.04 + needs: [validate] + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: pnpm/action-setup@v2 + with: + version: 8 + + - uses: actions/setup-node@v4 + with: + node-version: 18 + + - name: Configure Git + run: | + git config user.email "github-actions@users.noreply.github.com" + git config user.name "GitHub Actions" + + - name: Bump Version + id: version + run: | + pnpx changelogen@latest --bump + NEW_VERSION=$(node -pe 'require("./package.json").version') + echo "newVersion=$NEW_VERSION" >> "$GITHUB_OUTPUT" + + - name: Build + run: | + pnpm build + pnpm build:firefox + + - name: Submit + run: | + pnpm wxt submit \ + --chrome-zip .output/*-chrome.zip \ + --firefox-zip .output/*-firefox.zip --firefox-sources-zip .output/*-sources.zip + env: + DRY_RUN: ${{ inputs.dryRun }} + 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 }} + FIREFOX_EXTENSION_ID: ${{ secrets.FIREFOX_EXTENSION_ID }} + FIREFOX_JWT_ISSUER: ${{ secrets.FIREFOX_JWT_ISSUER }} + FIREFOX_JWT_SECRET: ${{ secrets.FIREFOX_JWT_SECRET }} + EDGE_PRODUCT_ID: ${{ secrets.EDGE_PRODUCT_ID }} + EDGE_CLIENT_ID: ${{ secrets.EDGE_CLIENT_ID }} + EDGE_CLIENT_SECRET: ${{ secrets.EDGE_CLIENT_SECRET }} + EDGE_ACCESS_TOKEN_URL: ${{ secrets.EDGE_ACCESS_TOKEN_URL }} + + - name: Commit and Push + run: | + git commit -am "chore(release): v$NEW_VERSION" + git tag v$NEW_VERSION + git push + git push --tags + env: + NEW_VERSION: ${{ steps.version.outputs.newVersion }} + + - name: Release + run: pnpx changelogen@latest gh release ${{ steps.version.outputs.newVersion }} --token ${{ github.token }}