Skip to content

fix(cf): reload page on stuck Turnstile widget + faster integration t… #145

fix(cf): reload page on stuck Turnstile widget + faster integration t…

fix(cf): reload page on stuck Turnstile widget + faster integration t… #145

name: Publish Latest Docker Images to GitHub Container Registry
on:
workflow_dispatch:
push:
branches:
- main
permissions:
contents: read
packages: write
jobs:
push_to_registry:
name: Push multi-platform docker images to ghcr.io
runs-on: ubuntu-24.04
steps:
- name: Check out the repo
uses: actions/checkout@v4
- name: Check for changes
uses: dorny/paths-filter@v3
id: changes
with:
filters: |
base:
- 'docker/base/**'
- 'assets/**'
- 'bin/**'
- 'extensions/**'
- 'external/**'
- 'scripts/**'
- 'static/**'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
chromium:
- 'docker/chromium/**'
- 'fonts/**'
- 'src/**'
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Publish the latest Base image
if: steps.changes.outputs.base == 'true' || github.event_name == 'workflow_dispatch'
uses: docker/build-push-action@v5
with:
builder: ${{ steps.buildx.outputs.name }}
file: ./docker/base/Dockerfile
tags: |
ghcr.io/divmode/browserless-base:latest
context: .
push: true
platforms: |
linux/amd64
linux/arm64
cache-from: type=gha,scope=base
cache-to: type=gha,mode=max,scope=base
- name: Publish the latest Chromium image
if: steps.changes.outputs.base == 'true' || steps.changes.outputs.chromium == 'true' || github.event_name == 'workflow_dispatch'
uses: docker/build-push-action@v5
with:
build-args: |
VERSION=latest
builder: ${{ steps.buildx.outputs.name }}
file: ./docker/chromium/Dockerfile
tags: |
ghcr.io/divmode/browserless-chromium:latest
context: .
push: true
platforms: |
linux/amd64
linux/arm64
cache-from: type=gha,scope=chromium
cache-to: type=gha,mode=max,scope=chromium
# Commented out - we only use Chromium
# - name: Publish the latest Chrome image
# uses: docker/build-push-action@v5
# with:
# build-args: |
# VERSION=latest
# builder: ${{ steps.buildx.outputs.name }}
# file: ./docker/chrome/Dockerfile
# tags: |
# ghcr.io/divmode/browserless-chrome:latest
# context: .
# push: true
# platforms: |
# linux/amd64
# - name: Publish the latest Edge image
# uses: docker/build-push-action@v5
# with:
# build-args: |
# VERSION=latest
# builder: ${{ steps.buildx.outputs.name }}
# file: ./docker/edge/Dockerfile
# tags: |
# ghcr.io/divmode/browserless-edge:latest
# context: .
# push: true
# platforms: |
# linux/amd64
# - name: Publish the latest FireFox image
# uses: docker/build-push-action@v5
# with:
# build-args: |
# VERSION=latest
# builder: ${{ steps.buildx.outputs.name }}
# file: ./docker/firefox/Dockerfile
# tags: |
# ghcr.io/divmode/browserless-firefox:latest
# context: .
# push: true
# platforms: |
# linux/amd64
# linux/arm64
# - name: Publish the latest Webkit image
# uses: docker/build-push-action@v5
# with:
# build-args: |
# VERSION=latest
# builder: ${{ steps.buildx.outputs.name }}
# file: ./docker/webkit/Dockerfile
# tags: |
# ghcr.io/divmode/browserless-webkit:latest
# context: .
# push: true
# platforms: |
# linux/amd64
# linux/arm64
# - name: Publish the latest Multi image
# uses: docker/build-push-action@v5
# with:
# build-args: |
# VERSION=latest
# builder: ${{ steps.buildx.outputs.name }}
# file: ./docker/multi/Dockerfile
# tags: |
# ghcr.io/divmode/browserless-multi:latest
# context: .
# push: true
# platforms: |
# linux/amd64
# linux/arm64