mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-04-20 16:11:14 -03:00
Most of our docker images are for an OS release which is past EOL. Most are not checked in CI, which leads to more staleness. It's not obvious which docker are expected to work and which are best-effort. I've updated all of them in the past, which would be slightly easier if we got rid of the redundancy. Remove most unused ones for now, to reduce confusion and maintenance effort. Some Ubuntu images are replaced by docker/ubuntu-latest-lts.Dockerfile docker/ubuntu-oldest-supported.Dockerfile Leave around the fedora:latest and opensuse/tumbleweed:latest images for now, though I don't think there's a reason to publish them in build_docker_images until we add CI jobs. We can add some images back (even past-EOL versions) but preferrably with a documentted update policy (see next commit) and CI tests (could be a nightly/weekly/pre-release check).
65 lines
1.5 KiB
YAML
65 lines
1.5 KiB
YAML
name: Build Docker test images
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- 'docker/**'
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: docker-builds
|
|
|
|
env:
|
|
REGISTRY: ghcr.io
|
|
NAMESPACE: fish-ci
|
|
|
|
jobs:
|
|
docker-build:
|
|
if: github.repository_owner == 'fish-shell'
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
attestations: write
|
|
id-token: write
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
target: alpine
|
|
- os: ubuntu-latest
|
|
target: ubuntu-oldest-supported
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v5
|
|
-
|
|
name: Login to Container registry
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ${{ env.REGISTRY }}
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
-
|
|
name: Extract metadata (tags, labels) for Docker
|
|
id: meta
|
|
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
|
|
with:
|
|
images: ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ env.NAMESPACE }}/${{ matrix.target }}
|
|
flavor: |
|
|
latest=true
|
|
-
|
|
name: Build and push
|
|
uses: docker/build-push-action@v6
|
|
with:
|
|
context: docker/context
|
|
push: true
|
|
file: docker/${{ matrix.target }}.Dockerfile
|
|
tags: ${{ steps.meta.outputs.tags }}
|
|
labels: ${{ steps.meta.outputs.labels }}
|