Skip to content

Add logo, hero image, and update binder links #1

Add logo, hero image, and update binder links

Add logo, hero image, and update binder links #1

Workflow file for this run

name: "GHCR: Binder Base Image"
# Builds the Underworld3 binder-ready Docker image and pushes to GHCR
# The image is used by mybinder.org via the uw3-binder-launcher repository
#
# This is separate from docker-image.yml which builds command-line Docker
# images for DockerHub.
on:
push:
branches: [main, uw3-release-candidate, development]
paths:
# Only rebuild when these files change (Cython/dependencies require rebuild)
- 'container/Dockerfile.base.optimized'
- 'pixi.toml'
- 'pixi.lock'
- 'src/**/*.pyx'
- 'src/**/*.c'
- 'setup.py'
workflow_dispatch:
inputs:
force_rebuild:
description: 'Force full rebuild (no cache)'
type: boolean
default: false
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract branch name
run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
file: container/Dockerfile.base.optimized
push: true
platforms: linux/amd64
no-cache: ${{ inputs.force_rebuild || false }}
tags: |
ghcr.io/underworldcode/uw3-base:${{ env.BRANCH }}-slim
ghcr.io/underworldcode/uw3-base:latest-slim
# Trigger launcher repo to update its Dockerfile reference
# Requires LAUNCHER_PAT secret (Personal Access Token with repo scope)
- name: Trigger launcher update
if: success()
uses: peter-evans/repository-dispatch@v2
with:
token: ${{ secrets.LAUNCHER_PAT }}
repository: underworldcode/uw3-binder-launcher
event-type: image-updated
client-payload: '{"branch": "${{ env.BRANCH }}"}'