Skip to content

Commit

Permalink
added matrix for build process
Browse files Browse the repository at this point in the history
  • Loading branch information
PolyCatDev committed Dec 11, 2024
1 parent 7255e81 commit 5b7567e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 203 deletions.
157 changes: 0 additions & 157 deletions .github/workflows/build-nvidia.yml

This file was deleted.

57 changes: 11 additions & 46 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,20 @@ jobs:
build_push:
name: Build and push image
runs-on: ubuntu-24.04
strategy:
matrix:
variant: [amd, nvidia]
env:
VARIANT: ${{ matrix.variant }}
CONTAINERFILE: ${{ matrix.variant == 'amd' && './Containerfile' || './Containerfile-Nvidia' }}
IMAGE_NAME_SUFFIX: ${{ matrix.variant }}

permissions:
contents: read
packages: write
id-token: write

steps:
# Checkout push-to-registry action GitHub repository
- name: Checkout Push to Registry action
uses: actions/checkout@v4

Expand Down Expand Up @@ -63,53 +69,34 @@ jobs:
BUILD_TAGS+=("latest")
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
echo "Generated the following commit tags: "
for TAG in "${COMMIT_TAGS[@]}"; do
echo "${TAG}"
done
alias_tags=("${COMMIT_TAGS[@]}")
else
alias_tags=("${BUILD_TAGS[@]}")
fi
echo "Generated the following build tags: "
for TAG in "${BUILD_TAGS[@]}"; do
echo "${TAG}"
done
echo "alias_tags=${alias_tags[*]}" >> $GITHUB_OUTPUT
# Build metadata
- name: Image Metadata
uses: docker/metadata-action@v5
id: meta
with:
images: |
${{ env.MY_IMAGE_NAME }}
${{ env.MY_IMAGE_NAME }}-${{ env.IMAGE_NAME_SUFFIX }}
labels: |
io.artifacthub.package.readme-url=https://raw.githubusercontent.com/${{ github.repository }}/main/README.md
org.opencontainers.image.description=${{ env.MY_IMAGE_DESC }}
org.opencontainers.image.title=${{ env.MY_IMAGE_NAME }}
org.opencontainers.image.title=${{ env.MY_IMAGE_NAME }}-${{ env.IMAGE_NAME_SUFFIX }}
# Build image using Buildah action
- name: Build Image
id: build_image
uses: redhat-actions/buildah-build@v2
with:
containerfiles: |
./Containerfile
# Postfix image name with -custom to make it a little more descriptive
# Syntax: https://docs.github.com/en/actions/learn-github-actions/expressions#format
image: ${{ env.MY_IMAGE_NAME }}
${{ env.CONTAINERFILE }}
image: ${{ env.MY_IMAGE_NAME }}-${{ env.IMAGE_NAME_SUFFIX }}
tags: |
${{ steps.generate-tags.outputs.alias_tags }}
labels: ${{ steps.meta.outputs.labels }}
oci: false

# Workaround bug where capital letters in your GitHub username make it impossible to push to GHCR.
# https://github.com/macbre/push-to-ghcr/issues/12
- name: Lowercase Registry
id: registry_case
uses: ASzc/change-string-case-action@v6
Expand All @@ -133,25 +120,3 @@ jobs:
image: ${{ steps.build_image.outputs.image }}
tags: ${{ steps.build_image.outputs.tags }}
registry: ${{ steps.registry_case.outputs.lowercase }}
username: ${{ env.REGISTRY_USER }}
password: ${{ env.REGISTRY_PASSWORD }}
extra-args: |
--compression-format=zstd
# This section is optional and only needs to be enabled if you plan on distributing
# your project for others to consume. You will need to create a public and private key
# using Cosign and save the private key as a repository secret in Github for this workflow
# to consume. For more details, review the image signing section of the README.

# Sign container
- uses: sigstore/[email protected]
if: github.event_name != 'pull_request'

- name: Sign container image
if: github.event_name != 'pull_request'
run: |
cosign sign -y --key env://COSIGN_PRIVATE_KEY ${{ steps.registry_case.outputs.lowercase }}/${{ steps.build_image.outputs.image }}@${TAGS}
env:
TAGS: ${{ steps.push.outputs.digest }}
COSIGN_EXPERIMENTAL: false
COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}

0 comments on commit 5b7567e

Please sign in to comment.