Image Creator #25
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'Image Creator' | |
on: | |
# A executer que lorsque l'on demande. | |
workflow_dispatch: | |
inputs: | |
minimal_version: | |
description: 'Build Minimal Image' | |
required: true | |
type: boolean | |
full_version: | |
description: 'Build Full Image' | |
required: true | |
type: boolean | |
env: | |
REGISTRY: 'ghcr.io' | |
USER_NAME: 'arcaneframework' | |
IMAGE_OS_NAME: 'ubuntu-2204' | |
IMAGE_OS_TAG: 'gcc-12_clang-15_cuda-122' | |
DOCKERFILE_PATH: './dockerfiles' | |
jobs: | |
# On met les if à chaque bloc pour que si l'on veux que full, ce job soit success quand même. | |
# Quand on demande minimal et full, le minimal doit être fait avant le full. | |
build-and-push-minimal: | |
name: U22_G12_C15_CU122 Minimal Image | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Checkout repository | |
if: ${{ inputs.minimal_version }} | |
uses: actions/checkout@v3 | |
- name: Log in to the Container registry | |
if: ${{ inputs.minimal_version }} | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Extract metadata (tags, labels) for Docker | |
if: ${{ inputs.minimal_version }} | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.USER_NAME }}/${{ env.IMAGE_OS_NAME }} | |
labels: | | |
org.opencontainers.image.title=ArcaneFramework | |
org.opencontainers.image.description=Image to Build/Install/Run Arcane Framework | |
org.opencontainers.image.vendor=CEA | |
tags: | | |
type=raw, cuda_minimal_latest | |
type=raw, cuda-122_minimal_latest | |
type=raw, ${{ env.IMAGE_OS_TAG }}_minimal_latest | |
type=raw, ${{ env.IMAGE_OS_TAG }}_minimal_{{date 'YYYYMMDD'}} | |
- name: Build and push Docker image | |
if: ${{ inputs.minimal_version }} | |
uses: docker/build-push-action@v4 | |
with: | |
file: ${{ env.DOCKERFILE_PATH }}/minimal/Dockerfile | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
build-and-push-full: | |
name: U22_G12_C15_CU122 Full Image | |
if: ${{ inputs.full_version }} | |
needs: | |
- build-and-push-minimal | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Log in to the Container registry | |
uses: docker/login-action@v2 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.USER_NAME }}/${{ env.IMAGE_OS_NAME }} | |
labels: | | |
org.opencontainers.image.title=ArcaneFramework | |
org.opencontainers.image.description=Image to Build/Install/Run Arcane Framework | |
org.opencontainers.image.vendor=CEA | |
tags: | | |
type=raw, cuda_full_latest | |
type=raw, cuda-122_full_latest | |
type=raw, ${{ env.IMAGE_OS_TAG }}_full_latest | |
type=raw, ${{ env.IMAGE_OS_TAG }}_full_{{date 'YYYYMMDD'}} | |
- name: Build and push Docker image | |
uses: docker/build-push-action@v4 | |
with: | |
file: ${{ env.DOCKERFILE_PATH }}/full/Dockerfile | |
push: true | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} |