diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index b6026ed..63e9c45 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -14,16 +14,17 @@ jobs: - name: Checkout uses: actions/checkout@v6 - - name: Setup Chrome - uses: browser-actions/setup-chrome@v2 - with: - chrome-version: stable + - name: Install firefox runtime dependencies + run: apt-get update && apt-get install -y libgtk-3-0 libasound2 libx11-xcb1 + + - name: Setup Firefox + id: setup-firefox + uses: browser-actions/setup-firefox@v1 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '20' - cache: 'npm' - name: Install dependencies run: npm ci @@ -32,6 +33,8 @@ jobs: run: npm run build env: GITHUB_TOKEN: ${{ github.token }} + PUPPETEER_BROWSER: firefox + PUPPETEER_EXECUTABLE_PATH: ${{ steps.setup-firefox.outputs.firefox-path }} - name: Upload build artifacts uses: actions/upload-artifact@v6 diff --git a/src/routes/joakim-repomaa-cv.pdf/+server.ts b/src/routes/joakim-repomaa-cv.pdf/+server.ts index cc67ca1..2ae7d53 100644 --- a/src/routes/joakim-repomaa-cv.pdf/+server.ts +++ b/src/routes/joakim-repomaa-cv.pdf/+server.ts @@ -25,12 +25,14 @@ const PDF_CONFIG = { // Browser launch options for different environments const getLaunchOptions = (): LaunchOptions => { - const chromePath = process.env.PUPPETEER_EXECUTABLE_PATH; + const browserPath = process.env.PUPPETEER_EXECUTABLE_PATH; + const browser = process.env.PUPPETEER_BROWSER || 'chrome'; const options: LaunchOptions = { headless: true, + browser: browser as 'chrome' | 'firefox', }; - if (chromePath) { - options.executablePath = chromePath; + if (browserPath) { + options.executablePath = browserPath; } return options; };