ctie-exercice/.gitea/workflows/docker-build.yml
Adrien Bouvais a464ef1ffa
Some checks failed
Build and Push Docker Images / build-and-push (push) Failing after 43s
.
2026-08-16 10:49:02 +02:00

79 lines
2.5 KiB
YAML

name: Build and Push Docker Images
on:
push:
tags:
- '*.*.*'
env:
REGISTRY: registry.bouvais.lu
BASE_IMAGE_NAME: tenant/base
JUPYTER_IMAGE_NAME: tenant/jupyter
jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Log in to the Container registry
run: |
docker login ${{ env.REGISTRY }} \
--username adrien \
--password "${{ secrets.DOCKER_PASSWORD }}"
# --- 1. BUILD & TEST BASE IMAGE ---
- name: Build Base image
run: |
docker build \
-f ./images/base/dockerfile \
-t ${{ env.REGISTRY }}/${{ env.BASE_IMAGE_NAME }}:${{ github.ref_name }} \
./images/base
- name: Test Base image
run: |
docker run --rm \
-u root \
-v ${{ github.workspace }}:/tests \
-w /tests \
${{ env.REGISTRY }}/${{ env.BASE_IMAGE_NAME }}:${{ github.ref_name }} \
python3 tests/base.py
- name: Tag Base image as latest
run: |
docker tag ${{ env.REGISTRY }}/${{ env.BASE_IMAGE_NAME }}:${{ github.ref_name }} \
${{ env.REGISTRY }}/${{ env.BASE_IMAGE_NAME }}:latest
- name: Push Base image
run: |
docker push ${{ env.REGISTRY }}/${{ env.BASE_IMAGE_NAME }}:${{ github.ref_name }}
docker push ${{ env.REGISTRY }}/${{ env.BASE_IMAGE_NAME }}:latest
# --- 2. BUILD & TEST JUPYTER IMAGE ---
- name: Build Jupyter image
run: |
docker build \
-f ./images/jupyter/dockerfile \
--build-arg BASE_IMAGE=${{ env.REGISTRY }}/${{ env.BASE_IMAGE_NAME }}:${{ github.ref_name }} \
-t ${{ env.REGISTRY }}/${{ env.JUPYTER_IMAGE_NAME }}:${{ github.ref_name }} \
./images/jupyter
- name: Test Jupyter dependencies
run: |
docker run --rm \
-v ${{ github.workspace }}/tests:/tests \
${{ env.REGISTRY }}/${{ env.JUPYTER_IMAGE_NAME }}:${{ github.ref_name }} \
python3 /tests/dependencies.py
- name: Tag Jupyter image as latest
run: |
docker tag ${{ env.REGISTRY }}/${{ env.JUPYTER_IMAGE_NAME }}:${{ github.ref_name }} \
${{ env.REGISTRY }}/${{ env.JUPYTER_IMAGE_NAME }}:latest
- name: Push Jupyter image
run: |
docker push ${{ env.REGISTRY }}/${{ env.JUPYTER_IMAGE_NAME }}:${{ github.ref_name }}
docker push ${{ env.REGISTRY }}/${{ env.JUPYTER_IMAGE_NAME }}:latest