web-ci/.github/workflows/build.yaml

101 lines
2.5 KiB
YAML

name: Build And Publish Docker
on:
push:
branches:
- "master"
jobs:
build:
runs-on: node-22
container:
image: node:22-bookworm
strategy:
matrix:
hugo-version:
[
"0.124.1",
"0.125.7",
"0.126.3",
"0.128.2"
]
node-version:
[
"20.9.0",
"21.7.3",
"22.4.1"
]
steps:
- uses: actions/checkout@v3
- name: Install deps
run: curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
- name: Login to Self-Hosted Registry
uses: docker/login-action@v2
with:
registry: codeberg.org
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Build and Push Extended Version
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: ./
file: ./Dockerfile
platforms: linux/amd64
push: true
build-args: |
HUGO_VERSION=${{ matrix.hugo-version }}
NODE_VERSION=${{ matrix.node-version }}
tags: |
"codeberg.org/mycosystems/hugo-ci:${{ matrix.hugo-version }}-${{ matrix.node-version }}"
build-latest:
runs-on: node-22
container:
image: node:22-bookworm
steps:
- uses: actions/checkout@v3
- name: Install deps
run: apt update -y && apt install -y curl nodejs && curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
- name: Login to Self-Hosted Registry
uses: docker/login-action@v2
with:
registry: codeberg.org
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Build and Push Extended Version
uses: docker/build-push-action@v4
with:
builder: ${{ steps.buildx.outputs.name }}
context: ./
file: ./Dockerfile
platforms: linux/amd64
push: true
build-args: |
HUGO_VERSION=0.128.2
NODE_VERSION=22.0.0
tags: |
codeberg.org/mycosystems/hugo-ci:latest