From eb893694a20d31b77d7ceeac50101d2a7e238b78 Mon Sep 17 00:00:00 2001 From: exatombe Date: Mon, 27 Oct 2025 22:05:30 +0100 Subject: Réorganiser le workflow Docker CI en remplaçant l'action de checkout par un script de clonage, simplifier les étapes de connexion et de construction, et supprimer le workflow Docker simple obsolète. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .forgejo/workflows/docker-ci.yml | 52 +++++++++++++++++++----------------- .forgejo/workflows/docker-simple.yml | 23 ---------------- 2 files changed, 28 insertions(+), 47 deletions(-) delete mode 100644 .forgejo/workflows/docker-simple.yml diff --git a/.forgejo/workflows/docker-ci.yml b/.forgejo/workflows/docker-ci.yml index 4890d76..033fe51 100644 --- a/.forgejo/workflows/docker-ci.yml +++ b/.forgejo/workflows/docker-ci.yml @@ -10,34 +10,38 @@ on: jobs: build: runs-on: docker - container: - image: docker:dind - options: --privileged steps: - name: Checkout code - run: | - apk add --no-cache git - git clone --depth 1 --branch ${GITHUB_REF_NAME} https://oauth2:${GITHUB_TOKEN}@${GITHUB_SERVER_URL#https://}/${GITHUB_REPOSITORY}.git . - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Start Docker daemon - run: | - dockerd & - sleep 5 + uses: actions/checkout@v4 - 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: Build Docker image - run: | - docker build -t ${{ env.REPO_URL }}/${{ github.repository }}:latest \ - -t ${{ 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: Push Docker image - 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: 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 diff --git a/.forgejo/workflows/docker-simple.yml b/.forgejo/workflows/docker-simple.yml deleted file mode 100644 index da0e39c..0000000 --- a/.forgejo/workflows/docker-simple.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Build and Push Docker Image (Simple) - -on: - workflow_dispatch: - -jobs: - build: - runs-on: docker - steps: - - name: Checkout code - uses: https://github.com/actions/checkout@v4 - - - name: Build Docker image - run: | - docker build -t ${{ env.REPO_URL }}/${{ github.repository }}:latest \ - -t ${{ env.REPO_URL }}/${{ github.repository }}:${{ github.sha }} . - - - name: Login and Push 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 - docker push ${{ env.REPO_URL }}/${{ github.repository }}:latest - docker push ${{ env.REPO_URL }}/${{ github.repository }}:${{ github.sha }} -- cgit v1.2.3