Rules-based browser launcher for TUI + GNOME. switchyard.aly.codes
tui gome bowser go
0

Configure Feed

Select the types of activity you want to include in your feed.

ci: add amo job, standardize ci

Aly Raffauf (May 28, 2026, 12:01 AM EDT) 61debe02 1663cca1

+39 -19
+39 -19
.github/workflows/ci.yml
··· 8 8 name: CI 9 9 jobs: 10 10 test: 11 - name: "Unit Tests" 11 + name: "Test" 12 12 runs-on: ubuntu-latest 13 13 steps: 14 14 - uses: actions/checkout@v4 ··· 32 32 name: coverage-report 33 33 path: coverage.out 34 34 35 - webextension: 36 - name: "WebExtension" 35 + build-webextension: 36 + name: "Build WebExtension" 37 37 runs-on: ubuntu-latest 38 38 steps: 39 39 - uses: actions/checkout@v4 40 40 - uses: actions/setup-node@v4 41 41 with: 42 42 node-version: "lts/*" 43 - - uses: extractions/setup-just@v2 44 - - name: Bundle extension 45 - run: just bundle-extension 46 - - uses: actions/upload-artifact@v4 47 - with: 48 - name: switchyard-webextension 49 - path: switchyard-webextension.zip 43 + - name: Build extension 44 + working-directory: webextension 45 + run: npm ci && npm run build 50 46 51 - flatpak: 52 - name: "Flatpak (${{ matrix.variant.arch }})" 47 + build-flatpak: 48 + name: "Build Flatpak (${{ matrix.variant.arch }})" 53 49 runs-on: ${{ matrix.variant.runner }} 54 50 strategy: 55 51 matrix: ··· 70 66 cache-key: flatpak-builder 71 67 arch: ${{ matrix.variant.arch }} 72 68 73 - release: 74 - name: "Create Release" 69 + publish-amo: 70 + name: "Publish to AMO" 75 71 if: startsWith(github.ref, 'refs/tags/') 76 - needs: [flatpak, test, webextension] 72 + needs: [build-webextension] 73 + runs-on: ubuntu-latest 74 + steps: 75 + - uses: actions/checkout@v4 76 + - uses: actions/setup-node@v4 77 + with: 78 + node-version: "lts/*" 79 + - name: Build extension 80 + working-directory: webextension 81 + run: npm ci && npm run build 82 + - name: Sign for self-distribution (unlisted) 83 + working-directory: webextension 84 + run: npx web-ext sign --channel=unlisted --api-key=${{ secrets.AMO_JWT_ISSUER }} --api-secret=${{ secrets.AMO_JWT_SECRET }} 85 + - uses: actions/upload-artifact@v4 86 + with: 87 + name: switchyard-webextension-xpi 88 + path: webextension/web-ext-artifacts/*.xpi 89 + - name: Submit to AMO (listed) 90 + working-directory: webextension 91 + run: npx web-ext sign --channel=listed --api-key=${{ secrets.AMO_JWT_ISSUER }} --api-secret=${{ secrets.AMO_JWT_SECRET }} 92 + 93 + publish-github: 94 + name: "Publish GitHub Release" 95 + if: startsWith(github.ref, 'refs/tags/') 96 + needs: [build-flatpak, test, publish-amo] 77 97 runs-on: ubuntu-latest 78 98 permissions: 79 99 contents: write 80 100 steps: 81 - - name: Download all Flatpak artifacts 101 + - name: Download Flatpak bundles 82 102 uses: actions/download-artifact@v4 83 103 with: 84 104 pattern: io.github.alyraffauf.Switchyard.Devel-${{ github.sha }}-*.flatpak 85 105 merge-multiple: true 86 - - name: Download extension artifact 106 + - name: Download signed XPI 87 107 uses: actions/download-artifact@v4 88 108 with: 89 - name: switchyard-webextension 109 + name: switchyard-webextension-xpi 90 110 91 111 - name: Create Release 92 112 uses: softprops/action-gh-release@v2 93 113 with: 94 114 files: | 95 115 *.flatpak 96 - switchyard-webextension.zip 116 + *.xpi 97 117 draft: false 98 118 prerelease: false 99 119 generate_release_notes: true