Skip to content
This repository has been archived by the owner on Aug 25, 2021. It is now read-only.

A GitHub Action / Docker image for Puppeteer, the Headless Chrome Node API

License

Notifications You must be signed in to change notification settings

ianwalter/puppeteer-container

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

ianwalter/puppeteer-container

A GitHub Action / Docker image for Puppeteer, the Headless Chrome Node API

DEPRECATED

Sorry, I've switched to Playwright and no longer use Puppeteer. You should be able to use ianwalter/playwright-container instead by setting environment variables like:

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
  • PUPPETEER_EXECUTABLE_PATH=/opt/playwright-browsers/chromium-857950/chrome-linux/chrome

So that Puppeteer doesn't download Chromium and uses the existig binary in the image.

About

Forked from buildkite/puppeteer and based on this troubleshooting guide.

Usage

Puppeteer will need to be launched with:

browser.launch({ args: ['--no-sandbox'] })

This is done by default in @ianwalter/bff-puppeteer.

As a GitHub Action:

name: CI
on:
  push:
    branches:
      - master
  pull_request:
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Install
        # NOTE: this pins the action to a specific commit sha for security
        # reasons but you can also use a version tag if desired. For example:
        # ianwalter/puppeteer-container@v4.0.0
        uses: ianwalter/puppeteer-container@acc52cd2334ad9eaf6e1974562d263e0a711b7e8
        with:
          args: pnpm i
      - name: Test
        uses: ianwalter/puppeteer-container@acc52cd2334ad9eaf6e1974562d263e0a711b7e8
        with:
          args: pnpm t

As a Docker container:

docker pull ianwalter/puppeteer:v4.0.0

Related

License

Apache 2.0 with Commons Clause - See LICENSE

 

Created by Ian Walter