mirror of
https://github.com/the-draupnir-project/Draupnir.git
synced 2026-03-29 10:29:57 +00:00
Some checks failed
GHCR - Development Branches / ghcr-publish (push) Failing after 39s
Docker Hub - Develop / docker-latest (push) Failing after 40s
Tests / Application Service Integration tests (push) Failing after 13m52s
Tests / Integration tests (push) Failing after 13m54s
Tests / Unit tests (push) Failing after 13m57s
Tests / Build & Lint (push) Failing after 13m59s
* Update Dockerignore Updates dockerignore to protect against cache contamination so we can more effectively utilise the full potential of our Cache system. * Implement Caching strategy support in dockerfile * Implement Caching for CI to massively speed up warm builds * Fix Wildcard funkyness breaking docker builds. * Fix FROM AS style guideline violations There's a style guideline that says you shouldn't mix the case of FROM and AS in a FROM AS statement. So we fix this violation in this commit. You can also force it all to lowercase but considering all our other keywords are uppercase why not go uppercase only for consistency.
82 lines
2.5 KiB
YAML
82 lines
2.5 KiB
YAML
# SPDX-FileCopyrightText: 2024 Gnuxie <Gnuxie@protonmail.com>
|
|
# SPDX-FileCopyrightText: 2026 Catalan Lover <catalanlover@protonmail.com>
|
|
#
|
|
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
# Copied from https://github.com/matrix-org/matrix-bifrost/blob/develop/.github/workflows/docker-hub-latest.yml
|
|
|
|
name: "Docker Hub - Develop"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
env:
|
|
DOCKER_NAMESPACE: gnuxie
|
|
PLATFORMS: linux/amd64,linux/arm64
|
|
# Only push if this is main, otherwise we just want to build
|
|
PUSH: ${{ github.ref == 'refs/heads/main' }}
|
|
IMG_SOURCE: https://github.com/${{ github.repository }}
|
|
|
|
jobs:
|
|
docker-latest:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
id-token: write
|
|
contents: read
|
|
attestations: write
|
|
artifact-metadata: write
|
|
steps:
|
|
- name: Check out
|
|
uses: actions/checkout@v6
|
|
with:
|
|
fetch-depth: 0
|
|
fetch-tags: true
|
|
|
|
# Needed for multi platform builds
|
|
- name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v4
|
|
with:
|
|
platforms: ${{ env.PLATFORMS }}
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v4
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v4
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build image
|
|
id: push
|
|
uses: docker/build-push-action@v7
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile
|
|
platforms: ${{ env.PLATFORMS }}
|
|
push: ${{ env.PUSH }}
|
|
# Shared Buildx cache scope reused by all container image workflows.
|
|
# Keep the scope name aligned across workflows to maximize cache hits.
|
|
cache-from: type=gha,scope=draupnir-container-build
|
|
cache-to: type=gha,scope=draupnir-container-build,mode=max
|
|
labels: |
|
|
org.opencontainers.image.source=${{ env.IMG_SOURCE }}
|
|
org.opencontainers.image.revision=${{ github.sha }}
|
|
org.opencontainers.image.version=${{ github.ref_name }}-${{ github.sha }}
|
|
org.opencontainers.image.ref.name=${{ github.ref_name }}
|
|
org.opencontainers.image.licenses=AFL-3.0
|
|
sbom: true
|
|
tags: |
|
|
${{ env.DOCKER_NAMESPACE }}/draupnir:develop
|
|
|
|
- name: Attest pushed image
|
|
id: attest
|
|
if: ${{ env.PUSH == 'true' }}
|
|
uses: actions/attest@v4
|
|
with:
|
|
subject-name: docker.io/${{ env.DOCKER_NAMESPACE }}/draupnir
|
|
subject-digest: ${{ steps.push.outputs.digest }}
|
|
push-to-registry: true
|