summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorexatombe <jeremy27.clara22@gmail.com>2025-10-27 22:31:52 +0100
committerexatombe <jeremy27.clara22@gmail.com>2025-10-27 22:31:52 +0100
commit0f8fd964593361f9142ab65d64b7bd9aaf320318 (patch)
treea8deeb4644527d6a3f6ce1cd075cd0f6fee61db9
parent13e4b48ac18e9d08e481efee956b5f83ec17cd88 (diff)
Réorganiser le workflow Docker CI en remplaçant les étapes de construction et de publication par des actions Docker appropriées et en extrayant les métadonnées de l'image.
-rw-r--r--.forgejo/workflows/docker-ci.yml42
1 files changed, 30 insertions, 12 deletions
diff --git a/.forgejo/workflows/docker-ci.yml b/.forgejo/workflows/docker-ci.yml
index 49a885f..734e11e 100644
--- a/.forgejo/workflows/docker-ci.yml
+++ b/.forgejo/workflows/docker-ci.yml
@@ -10,23 +10,41 @@ on:
jobs:
build:
runs-on: docker
-
steps:
- name: Checkout code
uses: actions/checkout@v4
- - name: Build Docker image
- run: docker build -t ${{ env.REPO_URL }}/${{ github.repository }}:latest .
-
- - name: Tag image with commit SHA
- run: docker tag ${{ env.REPO_URL }}/${{ github.repository }}:latest ${{ env.REPO_URL }}/${{ github.repository }}:${{ github.sha }}
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v3
- name: Login to Forgejo Container Registry
if: github.event_name != 'pull_request'
- run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ${{ env.REPO_URL }} -u ${{ github.actor }} --password-stdin
+ uses: docker/login-action@v3
+ with:
+ registry: ${{ env.REPO_URL }}
+ username: ${{ github.actor }}
+ password: ${{ secrets.GITHUB_TOKEN }}
- - name: Push Docker images
- if: github.event_name != 'pull_request'
- run: |
- docker push ${{ env.REPO_URL }}/${{ github.repository }}:latest
- docker push ${{ env.REPO_URL }}/${{ github.repository }}:${{ github.sha }}
+ - name: Extract metadata
+ id: meta
+ uses: docker/metadata-action@v5
+ with:
+ images: ${{ env.REPO_URL }}/${{ github.repository }}
+ tags: |
+ type=ref,event=branch
+ type=ref,event=pr
+ type=semver,pattern={{version}}
+ type=semver,pattern={{major}}.{{minor}}
+ type=sha,prefix={{branch}}-
+ type=raw,value=latest,enable={{is_default_branch}}
+
+ - name: Build and push Docker image
+ uses: docker/build-push-action@v5
+ with:
+ context: .
+ file: ./Dockerfile
+ push: ${{ github.event_name != 'pull_request' }}
+ tags: ${{ steps.meta.outputs.tags }}
+ labels: ${{ steps.meta.outputs.labels }}
+ cache-from: type=gha
+ cache-to: type=gha,mode=max