Files
edgeever/.github/workflows/extension-build.yml
T
Dariusz Koryto 6f50d1a80a ci: retry bun install across remaining workflows (#565)
Mirror the retry loop already used in desktop-build.yml for every remaining one-shot 'bun install --frozen-lockfile' step so transient registry or network failures (e.g. a failed mermaid tarball download) no longer fail the whole run. deploy-tools.yml gains shell: bash because its matrix includes windows-latest; sync-edgeever-upstream.yml uses break on success so the following verification commands still run.
2026-10-14 23:59:50 +08:00

85 lines
2.2 KiB
YAML

name: Build browser extensions
on:
pull_request:
paths:
- "apps/extension/**"
- "apps/web/src/components/ui/**"
- "apps/web/src/lib/utils.ts"
- "tsconfig.json"
- "bunfig.toml"
- "patches/**"
- "package.json"
- "bun.lock"
- "scripts/publish-web-clipper.mjs"
- "scripts/publish-web-clipper.test.mjs"
- "scripts/verify-extension-source.mjs"
- ".github/workflows/extension-build.yml"
- ".github/workflows/extension-store.yml"
push:
branches:
- main
paths:
- "apps/extension/**"
- "apps/web/src/components/ui/**"
- "apps/web/src/lib/utils.ts"
- "tsconfig.json"
- "bunfig.toml"
- "patches/**"
- "package.json"
- "bun.lock"
- "scripts/publish-web-clipper.mjs"
- "scripts/publish-web-clipper.test.mjs"
- "scripts/verify-extension-source.mjs"
- ".github/workflows/extension-build.yml"
- ".github/workflows/extension-store.yml"
workflow_dispatch:
permissions:
contents: read
jobs:
build:
if: github.repository == 'tianma-if/edgeever'
name: Build Chromium and Firefox
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Set up Bun
uses: oven-sh/setup-bun@v2
with:
bun-version-file: package.json
- name: Install dependencies
run: |
for attempt in 1 2 3; do
if bun install --frozen-lockfile; then
exit 0
fi
if [[ "$attempt" = "3" ]]; then
exit 1
fi
sleep "$((15 * attempt))"
done
- name: Test extension manifests
run: bun run test:extension
- name: Test store submission
run: bun test scripts/publish-web-clipper.test.mjs
- name: Build Chromium extension
run: bun run build:extension
- name: Build Firefox extension
run: bun run build:extension:firefox
- name: Lint Firefox extension
run: bun run lint:extension:firefox
- name: Rebuild Firefox from the review source archive
run: bun scripts/verify-extension-source.mjs