From 48d9e39634aa316f5d51350755fa56deeb0b2d78 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 21:11:31 +0000 Subject: [PATCH 01/13] Initial plan From db4a79a76ec07cc3474169fd18a2d868660fb2e3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 30 Mar 2026 21:15:03 +0000 Subject: [PATCH 02/13] sanitize branch name in Docker image tags to allow '/' in branch names Agent-Logs-Url: https://github.com/AniMeaux/website/sessions/f6096ec4-d4fd-4c79-abdf-9b928e0067cf Co-authored-by: simonrelet <17502801+simonrelet@users.noreply.github.com> --- .github/workflows/admin.deploy.yml | 14 +++++++++++--- .github/workflows/show.deploy.yml | 14 +++++++++++--- .github/workflows/website.deploy.yml | 14 +++++++++++--- 3 files changed, 33 insertions(+), 9 deletions(-) diff --git a/.github/workflows/admin.deploy.yml b/.github/workflows/admin.deploy.yml index 4862c48f..2509cbe2 100644 --- a/.github/workflows/admin.deploy.yml +++ b/.github/workflows/admin.deploy.yml @@ -88,6 +88,10 @@ jobs: username: x password: ${{ secrets.FLY_API_TOKEN }} + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🐳 Docker build uses: docker/build-push-action@v3 with: @@ -96,7 +100,7 @@ jobs: push: true tags: registry.fly.io/${{ steps.app_name.outputs.value }}:${{ - github.ref_name }}-${{ github.sha }} + steps.ref_name.outputs.value }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -127,13 +131,17 @@ jobs: file: ./apps/admin/fly.toml field: app + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/admin/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ github.ref_name }}-${{ + steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -145,7 +153,7 @@ jobs: args: deploy --config ./apps/admin/fly.toml --app ${{ steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ github.ref_name }}-${{ + steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github/workflows/show.deploy.yml b/.github/workflows/show.deploy.yml index 56e6dd00..534c8c58 100644 --- a/.github/workflows/show.deploy.yml +++ b/.github/workflows/show.deploy.yml @@ -88,6 +88,10 @@ jobs: username: x password: ${{ secrets.FLY_API_TOKEN }} + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🐳 Docker build uses: docker/build-push-action@v3 with: @@ -96,7 +100,7 @@ jobs: push: true tags: registry.fly.io/${{ steps.app_name.outputs.value }}:${{ - github.ref_name }}-${{ github.sha }} + steps.ref_name.outputs.value }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -127,13 +131,17 @@ jobs: file: ./apps/show/fly.toml field: app + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/show/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ github.ref_name }}-${{ + steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -145,7 +153,7 @@ jobs: args: deploy --config ./apps/show/fly.toml --app ${{ steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ github.ref_name }}-${{ + steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github/workflows/website.deploy.yml b/.github/workflows/website.deploy.yml index f757ac1b..cf0dbb6c 100644 --- a/.github/workflows/website.deploy.yml +++ b/.github/workflows/website.deploy.yml @@ -88,6 +88,10 @@ jobs: username: x password: ${{ secrets.FLY_API_TOKEN }} + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🐳 Docker build uses: docker/build-push-action@v3 with: @@ -96,7 +100,7 @@ jobs: push: true tags: registry.fly.io/${{ steps.app_name.outputs.value }}:${{ - github.ref_name }}-${{ github.sha }} + steps.ref_name.outputs.value }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -127,13 +131,17 @@ jobs: file: ./apps/website/fly.toml field: app + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/website/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ github.ref_name }}-${{ + steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -145,7 +153,7 @@ jobs: args: deploy --config ./apps/website/fly.toml --app ${{ steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ github.ref_name }}-${{ + steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} From 817ff8fa3f28fe44c3612ff434649671d04bf128 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 18:55:24 +0000 Subject: [PATCH 03/13] move ref name sanitization to a shared prepare job to avoid duplication Agent-Logs-Url: https://github.com/AniMeaux/website/sessions/98226199-511f-44fe-84a0-a4afddcccf48 Co-authored-by: simonrelet <17502801+simonrelet@users.noreply.github.com> --- .github/workflows/admin.deploy.yml | 26 +++++++++++++++----------- .github/workflows/show.deploy.yml | 26 +++++++++++++++----------- .github/workflows/website.deploy.yml | 26 +++++++++++++++----------- 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/.github/workflows/admin.deploy.yml b/.github/workflows/admin.deploy.yml index 2509cbe2..38d68171 100644 --- a/.github/workflows/admin.deploy.yml +++ b/.github/workflows/admin.deploy.yml @@ -24,6 +24,16 @@ concurrency: cancel-in-progress: true jobs: + prepare: + name: 🔧 Prepare + runs-on: ubuntu-latest + outputs: + ref_name: ${{ steps.ref_name.outputs.value }} + steps: + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + lint: name: 🔬 Lint runs-on: ubuntu-latest @@ -57,6 +67,7 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest + needs: [prepare] steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -88,10 +99,6 @@ jobs: username: x password: ${{ secrets.FLY_API_TOKEN }} - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT - - name: 🐳 Docker build uses: docker/build-push-action@v3 with: @@ -100,7 +107,7 @@ jobs: push: true tags: registry.fly.io/${{ steps.app_name.outputs.value }}:${{ - steps.ref_name.outputs.value }}-${{ github.sha }} + needs.prepare.outputs.ref_name }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -118,6 +125,7 @@ jobs: name: 🚀 Deploy runs-on: ubuntu-latest needs: + - prepare - lint - build steps: @@ -131,17 +139,13 @@ jobs: file: ./apps/admin/fly.toml field: app - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT - - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/admin/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ + steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -153,7 +157,7 @@ jobs: args: deploy --config ./apps/admin/fly.toml --app ${{ steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ + steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github/workflows/show.deploy.yml b/.github/workflows/show.deploy.yml index 534c8c58..b7f1e6af 100644 --- a/.github/workflows/show.deploy.yml +++ b/.github/workflows/show.deploy.yml @@ -24,6 +24,16 @@ concurrency: cancel-in-progress: true jobs: + prepare: + name: 🔧 Prepare + runs-on: ubuntu-latest + outputs: + ref_name: ${{ steps.ref_name.outputs.value }} + steps: + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + lint: name: 🔬 Lint runs-on: ubuntu-latest @@ -57,6 +67,7 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest + needs: [prepare] steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -88,10 +99,6 @@ jobs: username: x password: ${{ secrets.FLY_API_TOKEN }} - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT - - name: 🐳 Docker build uses: docker/build-push-action@v3 with: @@ -100,7 +107,7 @@ jobs: push: true tags: registry.fly.io/${{ steps.app_name.outputs.value }}:${{ - steps.ref_name.outputs.value }}-${{ github.sha }} + needs.prepare.outputs.ref_name }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -118,6 +125,7 @@ jobs: name: 🚀 Deploy runs-on: ubuntu-latest needs: + - prepare - lint - build steps: @@ -131,17 +139,13 @@ jobs: file: ./apps/show/fly.toml field: app - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT - - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/show/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ + steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -153,7 +157,7 @@ jobs: args: deploy --config ./apps/show/fly.toml --app ${{ steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ + steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github/workflows/website.deploy.yml b/.github/workflows/website.deploy.yml index cf0dbb6c..4ec82902 100644 --- a/.github/workflows/website.deploy.yml +++ b/.github/workflows/website.deploy.yml @@ -24,6 +24,16 @@ concurrency: cancel-in-progress: true jobs: + prepare: + name: 🔧 Prepare + runs-on: ubuntu-latest + outputs: + ref_name: ${{ steps.ref_name.outputs.value }} + steps: + - name: 🏷️ Sanitize ref name + id: ref_name + run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + lint: name: 🔬 Lint runs-on: ubuntu-latest @@ -57,6 +67,7 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest + needs: [prepare] steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -88,10 +99,6 @@ jobs: username: x password: ${{ secrets.FLY_API_TOKEN }} - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT - - name: 🐳 Docker build uses: docker/build-push-action@v3 with: @@ -100,7 +107,7 @@ jobs: push: true tags: registry.fly.io/${{ steps.app_name.outputs.value }}:${{ - steps.ref_name.outputs.value }}-${{ github.sha }} + needs.prepare.outputs.ref_name }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -118,6 +125,7 @@ jobs: name: 🚀 Deploy runs-on: ubuntu-latest needs: + - prepare - lint - build steps: @@ -131,17 +139,13 @@ jobs: file: ./apps/website/fly.toml field: app - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT - - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/website/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ + steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -153,7 +157,7 @@ jobs: args: deploy --config ./apps/website/fly.toml --app ${{ steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ steps.ref_name.outputs.value }}-${{ + steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} From 2dabf7d7fd73d87caccaddf976100ea1301bd3fb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 21:19:06 +0000 Subject: [PATCH 04/13] extract Read app name step into prepare job for deploy and checks workflows Agent-Logs-Url: https://github.com/AniMeaux/website/sessions/16a88366-b6b4-4bf2-bb57-a31f75280775 Co-authored-by: simonrelet <17502801+simonrelet@users.noreply.github.com> --- .github/workflows/admin.checks.yml | 16 +++++++++++--- .github/workflows/admin.deploy.yml | 33 +++++++++++++--------------- .github/workflows/show.checks.yml | 16 +++++++++++--- .github/workflows/show.deploy.yml | 33 +++++++++++++--------------- .github/workflows/website.checks.yml | 16 +++++++++++--- .github/workflows/website.deploy.yml | 33 +++++++++++++--------------- 6 files changed, 84 insertions(+), 63 deletions(-) diff --git a/.github/workflows/admin.checks.yml b/.github/workflows/admin.checks.yml index 85d788f2..e3751407 100644 --- a/.github/workflows/admin.checks.yml +++ b/.github/workflows/admin.checks.yml @@ -22,9 +22,11 @@ concurrency: cancel-in-progress: true jobs: - build: - name: 📦 Build + prepare: + name: 🔧 Prepare runs-on: ubuntu-latest + outputs: + app_name: ${{ steps.app_name.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -36,6 +38,14 @@ jobs: file: ./apps/admin/fly.toml field: app + build: + name: 📦 Build + runs-on: ubuntu-latest + needs: [prepare] + steps: + - name: ⬇️ Checkout repo + uses: actions/checkout@v4 + - name: 🐳 Set up Docker Buildx uses: docker/setup-buildx-action@v2 with: @@ -55,7 +65,7 @@ jobs: context: . file: ./apps/admin/Dockerfile tags: - registry.fly.io/${{ steps.app_name.outputs.value }}:${{ + registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ github.head_ref }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/admin.deploy.yml b/.github/workflows/admin.deploy.yml index 38d68171..2bf9bd9b 100644 --- a/.github/workflows/admin.deploy.yml +++ b/.github/workflows/admin.deploy.yml @@ -28,8 +28,19 @@ jobs: name: 🔧 Prepare runs-on: ubuntu-latest outputs: + app_name: ${{ steps.app_name.outputs.value }} ref_name: ${{ steps.ref_name.outputs.value }} steps: + - name: ⬇️ Checkout repo + uses: actions/checkout@v4 + + - name: 👀 Read app name + uses: SebRollen/toml-action@v1.0.2 + id: app_name + with: + file: ./apps/admin/fly.toml + field: app + - name: 🏷️ Sanitize ref name id: ref_name run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT @@ -72,13 +83,6 @@ jobs: - name: ⬇️ Checkout repo uses: actions/checkout@v4 - - name: 👀 Read app name - uses: SebRollen/toml-action@v1.0.2 - id: app_name - with: - file: ./apps/admin/fly.toml - field: app - - name: 🐳 Set up Docker Buildx uses: docker/setup-buildx-action@v2 with: @@ -106,7 +110,7 @@ jobs: file: ./apps/admin/Dockerfile push: true tags: - registry.fly.io/${{ steps.app_name.outputs.value }}:${{ + registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -132,20 +136,13 @@ jobs: - name: ⬇️ Checkout repo uses: actions/checkout@v4 - - name: 👀 Read app name - uses: SebRollen/toml-action@v1.0.2 - id: app_name - with: - file: ./apps/admin/fly.toml - field: app - - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/admin/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ + needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -156,8 +153,8 @@ jobs: with: args: deploy --config ./apps/admin/fly.toml --app ${{ - steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ + needs.prepare.outputs.app_name }}-staging --image registry.fly.io/${{ + needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github/workflows/show.checks.yml b/.github/workflows/show.checks.yml index b27bc9f6..755d40e0 100644 --- a/.github/workflows/show.checks.yml +++ b/.github/workflows/show.checks.yml @@ -22,9 +22,11 @@ concurrency: cancel-in-progress: true jobs: - build: - name: 📦 Build + prepare: + name: 🔧 Prepare runs-on: ubuntu-latest + outputs: + app_name: ${{ steps.app_name.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -36,6 +38,14 @@ jobs: file: ./apps/show/fly.toml field: app + build: + name: 📦 Build + runs-on: ubuntu-latest + needs: [prepare] + steps: + - name: ⬇️ Checkout repo + uses: actions/checkout@v4 + - name: 🐳 Set up Docker Buildx uses: docker/setup-buildx-action@v2 with: @@ -55,7 +65,7 @@ jobs: context: . file: ./apps/show/Dockerfile tags: - registry.fly.io/${{ steps.app_name.outputs.value }}:${{ + registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ github.head_ref }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/show.deploy.yml b/.github/workflows/show.deploy.yml index b7f1e6af..ab123345 100644 --- a/.github/workflows/show.deploy.yml +++ b/.github/workflows/show.deploy.yml @@ -28,8 +28,19 @@ jobs: name: 🔧 Prepare runs-on: ubuntu-latest outputs: + app_name: ${{ steps.app_name.outputs.value }} ref_name: ${{ steps.ref_name.outputs.value }} steps: + - name: ⬇️ Checkout repo + uses: actions/checkout@v4 + + - name: 👀 Read app name + uses: SebRollen/toml-action@v1.0.2 + id: app_name + with: + file: ./apps/show/fly.toml + field: app + - name: 🏷️ Sanitize ref name id: ref_name run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT @@ -72,13 +83,6 @@ jobs: - name: ⬇️ Checkout repo uses: actions/checkout@v4 - - name: 👀 Read app name - uses: SebRollen/toml-action@v1.0.2 - id: app_name - with: - file: ./apps/show/fly.toml - field: app - - name: 🐳 Set up Docker Buildx uses: docker/setup-buildx-action@v2 with: @@ -106,7 +110,7 @@ jobs: file: ./apps/show/Dockerfile push: true tags: - registry.fly.io/${{ steps.app_name.outputs.value }}:${{ + registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -132,20 +136,13 @@ jobs: - name: ⬇️ Checkout repo uses: actions/checkout@v4 - - name: 👀 Read app name - uses: SebRollen/toml-action@v1.0.2 - id: app_name - with: - file: ./apps/show/fly.toml - field: app - - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/show/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ + needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -156,8 +153,8 @@ jobs: with: args: deploy --config ./apps/show/fly.toml --app ${{ - steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ + needs.prepare.outputs.app_name }}-staging --image registry.fly.io/${{ + needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github/workflows/website.checks.yml b/.github/workflows/website.checks.yml index da9cbb91..57d6340c 100644 --- a/.github/workflows/website.checks.yml +++ b/.github/workflows/website.checks.yml @@ -22,9 +22,11 @@ concurrency: cancel-in-progress: true jobs: - build: - name: 📦 Build + prepare: + name: 🔧 Prepare runs-on: ubuntu-latest + outputs: + app_name: ${{ steps.app_name.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -36,6 +38,14 @@ jobs: file: ./apps/website/fly.toml field: app + build: + name: 📦 Build + runs-on: ubuntu-latest + needs: [prepare] + steps: + - name: ⬇️ Checkout repo + uses: actions/checkout@v4 + - name: 🐳 Set up Docker Buildx uses: docker/setup-buildx-action@v2 with: @@ -55,7 +65,7 @@ jobs: context: . file: ./apps/website/Dockerfile tags: - registry.fly.io/${{ steps.app_name.outputs.value }}:${{ + registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ github.head_ref }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/website.deploy.yml b/.github/workflows/website.deploy.yml index 4ec82902..2b308c82 100644 --- a/.github/workflows/website.deploy.yml +++ b/.github/workflows/website.deploy.yml @@ -28,8 +28,19 @@ jobs: name: 🔧 Prepare runs-on: ubuntu-latest outputs: + app_name: ${{ steps.app_name.outputs.value }} ref_name: ${{ steps.ref_name.outputs.value }} steps: + - name: ⬇️ Checkout repo + uses: actions/checkout@v4 + + - name: 👀 Read app name + uses: SebRollen/toml-action@v1.0.2 + id: app_name + with: + file: ./apps/website/fly.toml + field: app + - name: 🏷️ Sanitize ref name id: ref_name run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT @@ -72,13 +83,6 @@ jobs: - name: ⬇️ Checkout repo uses: actions/checkout@v4 - - name: 👀 Read app name - uses: SebRollen/toml-action@v1.0.2 - id: app_name - with: - file: ./apps/website/fly.toml - field: app - - name: 🐳 Set up Docker Buildx uses: docker/setup-buildx-action@v2 with: @@ -106,7 +110,7 @@ jobs: file: ./apps/website/Dockerfile push: true tags: - registry.fly.io/${{ steps.app_name.outputs.value }}:${{ + registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -132,20 +136,13 @@ jobs: - name: ⬇️ Checkout repo uses: actions/checkout@v4 - - name: 👀 Read app name - uses: SebRollen/toml-action@v1.0.2 - id: app_name - with: - file: ./apps/website/fly.toml - field: app - - name: 🚀 Deploy Production if: ${{ github.ref == 'refs/heads/main' }} uses: superfly/flyctl-actions@1.4 with: args: deploy --config ./apps/website/fly.toml --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ + needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -156,8 +153,8 @@ jobs: with: args: deploy --config ./apps/website/fly.toml --app ${{ - steps.app_name.outputs.value }}-staging --image registry.fly.io/${{ - steps.app_name.outputs.value }}:${{ needs.prepare.outputs.ref_name }}-${{ + needs.prepare.outputs.app_name }}-staging --image registry.fly.io/${{ + needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ github.sha }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} From 0dea1869cde378e362161847e1c3c1c35a95663f Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 21:20:41 +0000 Subject: [PATCH 05/13] extract complete image tag into prepare job for deploy and checks workflows Agent-Logs-Url: https://github.com/AniMeaux/website/sessions/16a88366-b6b4-4bf2-bb57-a31f75280775 Co-authored-by: simonrelet <17502801+simonrelet@users.noreply.github.com> --- .github/workflows/admin.checks.yml | 9 ++++++--- .github/workflows/admin.deploy.yml | 22 +++++++++------------- .github/workflows/show.checks.yml | 9 ++++++--- .github/workflows/show.deploy.yml | 22 +++++++++------------- .github/workflows/website.checks.yml | 9 ++++++--- .github/workflows/website.deploy.yml | 22 +++++++++------------- 6 files changed, 45 insertions(+), 48 deletions(-) diff --git a/.github/workflows/admin.checks.yml b/.github/workflows/admin.checks.yml index e3751407..b81e8fa8 100644 --- a/.github/workflows/admin.checks.yml +++ b/.github/workflows/admin.checks.yml @@ -27,6 +27,7 @@ jobs: runs-on: ubuntu-latest outputs: app_name: ${{ steps.app_name.outputs.value }} + image_tag: ${{ steps.image_tag.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -38,6 +39,10 @@ jobs: file: ./apps/admin/fly.toml field: app + - name: 🏷️ Build image tag + id: image_tag + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:${{ github.head_ref }}-${{ github.sha }}" >> $GITHUB_OUTPUT + build: name: 📦 Build runs-on: ubuntu-latest @@ -64,9 +69,7 @@ jobs: with: context: . file: ./apps/admin/Dockerfile - tags: - registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ - github.head_ref }}-${{ github.sha }} + tags: ${{ needs.prepare.outputs.image_tag }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/admin.deploy.yml b/.github/workflows/admin.deploy.yml index 2bf9bd9b..3b7572ac 100644 --- a/.github/workflows/admin.deploy.yml +++ b/.github/workflows/admin.deploy.yml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest outputs: app_name: ${{ steps.app_name.outputs.value }} - ref_name: ${{ steps.ref_name.outputs.value }} + image_tag: ${{ steps.image_tag.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -41,9 +41,9 @@ jobs: file: ./apps/admin/fly.toml field: app - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🏷️ Build image tag + id: image_tag + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.ref_name }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT lint: name: 🔬 Lint @@ -109,9 +109,7 @@ jobs: context: . file: ./apps/admin/Dockerfile push: true - tags: - registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ - needs.prepare.outputs.ref_name }}-${{ github.sha }} + tags: ${{ needs.prepare.outputs.image_tag }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -141,9 +139,8 @@ jobs: uses: superfly/flyctl-actions@1.4 with: args: - deploy --config ./apps/admin/fly.toml --image registry.fly.io/${{ - needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ - github.sha }} + deploy --config ./apps/admin/fly.toml --image ${{ + needs.prepare.outputs.image_tag }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -153,8 +150,7 @@ jobs: with: args: deploy --config ./apps/admin/fly.toml --app ${{ - needs.prepare.outputs.app_name }}-staging --image registry.fly.io/${{ - needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ - github.sha }} + needs.prepare.outputs.app_name }}-staging --image ${{ + needs.prepare.outputs.image_tag }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github/workflows/show.checks.yml b/.github/workflows/show.checks.yml index 755d40e0..7d8cbc39 100644 --- a/.github/workflows/show.checks.yml +++ b/.github/workflows/show.checks.yml @@ -27,6 +27,7 @@ jobs: runs-on: ubuntu-latest outputs: app_name: ${{ steps.app_name.outputs.value }} + image_tag: ${{ steps.image_tag.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -38,6 +39,10 @@ jobs: file: ./apps/show/fly.toml field: app + - name: 🏷️ Build image tag + id: image_tag + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:${{ github.head_ref }}-${{ github.sha }}" >> $GITHUB_OUTPUT + build: name: 📦 Build runs-on: ubuntu-latest @@ -64,9 +69,7 @@ jobs: with: context: . file: ./apps/show/Dockerfile - tags: - registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ - github.head_ref }}-${{ github.sha }} + tags: ${{ needs.prepare.outputs.image_tag }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/show.deploy.yml b/.github/workflows/show.deploy.yml index ab123345..42ccc743 100644 --- a/.github/workflows/show.deploy.yml +++ b/.github/workflows/show.deploy.yml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest outputs: app_name: ${{ steps.app_name.outputs.value }} - ref_name: ${{ steps.ref_name.outputs.value }} + image_tag: ${{ steps.image_tag.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -41,9 +41,9 @@ jobs: file: ./apps/show/fly.toml field: app - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🏷️ Build image tag + id: image_tag + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.ref_name }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT lint: name: 🔬 Lint @@ -109,9 +109,7 @@ jobs: context: . file: ./apps/show/Dockerfile push: true - tags: - registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ - needs.prepare.outputs.ref_name }}-${{ github.sha }} + tags: ${{ needs.prepare.outputs.image_tag }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -141,9 +139,8 @@ jobs: uses: superfly/flyctl-actions@1.4 with: args: - deploy --config ./apps/show/fly.toml --image registry.fly.io/${{ - needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ - github.sha }} + deploy --config ./apps/show/fly.toml --image ${{ + needs.prepare.outputs.image_tag }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -153,8 +150,7 @@ jobs: with: args: deploy --config ./apps/show/fly.toml --app ${{ - needs.prepare.outputs.app_name }}-staging --image registry.fly.io/${{ - needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ - github.sha }} + needs.prepare.outputs.app_name }}-staging --image ${{ + needs.prepare.outputs.image_tag }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} diff --git a/.github/workflows/website.checks.yml b/.github/workflows/website.checks.yml index 57d6340c..5859dcb0 100644 --- a/.github/workflows/website.checks.yml +++ b/.github/workflows/website.checks.yml @@ -27,6 +27,7 @@ jobs: runs-on: ubuntu-latest outputs: app_name: ${{ steps.app_name.outputs.value }} + image_tag: ${{ steps.image_tag.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -38,6 +39,10 @@ jobs: file: ./apps/website/fly.toml field: app + - name: 🏷️ Build image tag + id: image_tag + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:${{ github.head_ref }}-${{ github.sha }}" >> $GITHUB_OUTPUT + build: name: 📦 Build runs-on: ubuntu-latest @@ -64,9 +69,7 @@ jobs: with: context: . file: ./apps/website/Dockerfile - tags: - registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ - github.head_ref }}-${{ github.sha }} + tags: ${{ needs.prepare.outputs.image_tag }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new diff --git a/.github/workflows/website.deploy.yml b/.github/workflows/website.deploy.yml index 2b308c82..f5f1da5e 100644 --- a/.github/workflows/website.deploy.yml +++ b/.github/workflows/website.deploy.yml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest outputs: app_name: ${{ steps.app_name.outputs.value }} - ref_name: ${{ steps.ref_name.outputs.value }} + image_tag: ${{ steps.image_tag.outputs.value }} steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 @@ -41,9 +41,9 @@ jobs: file: ./apps/website/fly.toml field: app - - name: 🏷️ Sanitize ref name - id: ref_name - run: echo "value=$(echo '${{ github.ref_name }}' | tr '/' '-')" >> $GITHUB_OUTPUT + - name: 🏷️ Build image tag + id: image_tag + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.ref_name }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT lint: name: 🔬 Lint @@ -109,9 +109,7 @@ jobs: context: . file: ./apps/website/Dockerfile push: true - tags: - registry.fly.io/${{ needs.prepare.outputs.app_name }}:${{ - needs.prepare.outputs.ref_name }}-${{ github.sha }} + tags: ${{ needs.prepare.outputs.image_tag }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new @@ -141,9 +139,8 @@ jobs: uses: superfly/flyctl-actions@1.4 with: args: - deploy --config ./apps/website/fly.toml --image registry.fly.io/${{ - needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ - github.sha }} + deploy --config ./apps/website/fly.toml --image ${{ + needs.prepare.outputs.image_tag }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} @@ -153,8 +150,7 @@ jobs: with: args: deploy --config ./apps/website/fly.toml --app ${{ - needs.prepare.outputs.app_name }}-staging --image registry.fly.io/${{ - needs.prepare.outputs.app_name }}:${{ needs.prepare.outputs.ref_name }}-${{ - github.sha }} + needs.prepare.outputs.app_name }}-staging --image ${{ + needs.prepare.outputs.image_tag }} env: FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }} From aead06105f17cde0662a5a31601093a77f2e1f71 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 21:21:03 +0000 Subject: [PATCH 06/13] sanitize head_ref in image tag for checks workflows to allow '/' in branch names Agent-Logs-Url: https://github.com/AniMeaux/website/sessions/16a88366-b6b4-4bf2-bb57-a31f75280775 Co-authored-by: simonrelet <17502801+simonrelet@users.noreply.github.com> --- .github/workflows/admin.checks.yml | 2 +- .github/workflows/show.checks.yml | 2 +- .github/workflows/website.checks.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/admin.checks.yml b/.github/workflows/admin.checks.yml index b81e8fa8..33b40117 100644 --- a/.github/workflows/admin.checks.yml +++ b/.github/workflows/admin.checks.yml @@ -41,7 +41,7 @@ jobs: - name: 🏷️ Build image tag id: image_tag - run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:${{ github.head_ref }}-${{ github.sha }}" >> $GITHUB_OUTPUT + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.head_ref }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT build: name: 📦 Build diff --git a/.github/workflows/show.checks.yml b/.github/workflows/show.checks.yml index 7d8cbc39..98a8b0ca 100644 --- a/.github/workflows/show.checks.yml +++ b/.github/workflows/show.checks.yml @@ -41,7 +41,7 @@ jobs: - name: 🏷️ Build image tag id: image_tag - run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:${{ github.head_ref }}-${{ github.sha }}" >> $GITHUB_OUTPUT + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.head_ref }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT build: name: 📦 Build diff --git a/.github/workflows/website.checks.yml b/.github/workflows/website.checks.yml index 5859dcb0..d2b2d17d 100644 --- a/.github/workflows/website.checks.yml +++ b/.github/workflows/website.checks.yml @@ -41,7 +41,7 @@ jobs: - name: 🏷️ Build image tag id: image_tag - run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:${{ github.head_ref }}-${{ github.sha }}" >> $GITHUB_OUTPUT + run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.head_ref }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT build: name: 📦 Build From 1b456578341424ea27484949ff47b981aaaa2a66 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 21:21:34 +0000 Subject: [PATCH 07/13] add comment explaining why github.head_ref is used in checks workflows Agent-Logs-Url: https://github.com/AniMeaux/website/sessions/16a88366-b6b4-4bf2-bb57-a31f75280775 Co-authored-by: simonrelet <17502801+simonrelet@users.noreply.github.com> --- .github/workflows/admin.checks.yml | 3 +++ .github/workflows/show.checks.yml | 3 +++ .github/workflows/website.checks.yml | 3 +++ 3 files changed, 9 insertions(+) diff --git a/.github/workflows/admin.checks.yml b/.github/workflows/admin.checks.yml index 33b40117..293a8ec6 100644 --- a/.github/workflows/admin.checks.yml +++ b/.github/workflows/admin.checks.yml @@ -39,6 +39,9 @@ jobs: file: ./apps/admin/fly.toml field: app + # In workflows triggered by pull requests, `github.ref_name` is + # `/merge`. We use `github.head_ref` instead to get the + # source branch name. - name: 🏷️ Build image tag id: image_tag run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.head_ref }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT diff --git a/.github/workflows/show.checks.yml b/.github/workflows/show.checks.yml index 98a8b0ca..6cc09ca0 100644 --- a/.github/workflows/show.checks.yml +++ b/.github/workflows/show.checks.yml @@ -39,6 +39,9 @@ jobs: file: ./apps/show/fly.toml field: app + # In workflows triggered by pull requests, `github.ref_name` is + # `/merge`. We use `github.head_ref` instead to get the + # source branch name. - name: 🏷️ Build image tag id: image_tag run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.head_ref }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT diff --git a/.github/workflows/website.checks.yml b/.github/workflows/website.checks.yml index d2b2d17d..0c87e15a 100644 --- a/.github/workflows/website.checks.yml +++ b/.github/workflows/website.checks.yml @@ -39,6 +39,9 @@ jobs: file: ./apps/website/fly.toml field: app + # In workflows triggered by pull requests, `github.ref_name` is + # `/merge`. We use `github.head_ref` instead to get the + # source branch name. - name: 🏷️ Build image tag id: image_tag run: echo "value=registry.fly.io/${{ steps.app_name.outputs.value }}:$(echo '${{ github.head_ref }}' | tr '/' '-')-${{ github.sha }}" >> $GITHUB_OUTPUT From e649e8b5ef5fd55b4ab48546fe16054590776c8e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 31 Mar 2026 22:15:54 +0000 Subject: [PATCH 08/13] fix needs syntax to use multi-line format instead of bracket notation Agent-Logs-Url: https://github.com/AniMeaux/website/sessions/0fdcc863-0105-4bfd-95f3-2a5ef61bbadd Co-authored-by: simonrelet <17502801+simonrelet@users.noreply.github.com> --- .github/workflows/admin.checks.yml | 3 ++- .github/workflows/admin.deploy.yml | 3 ++- .github/workflows/show.checks.yml | 3 ++- .github/workflows/show.deploy.yml | 3 ++- .github/workflows/website.checks.yml | 3 ++- .github/workflows/website.deploy.yml | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/admin.checks.yml b/.github/workflows/admin.checks.yml index 293a8ec6..e1e2ff11 100644 --- a/.github/workflows/admin.checks.yml +++ b/.github/workflows/admin.checks.yml @@ -49,7 +49,8 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest - needs: [prepare] + needs: + - prepare steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 diff --git a/.github/workflows/admin.deploy.yml b/.github/workflows/admin.deploy.yml index 3b7572ac..0d5d7622 100644 --- a/.github/workflows/admin.deploy.yml +++ b/.github/workflows/admin.deploy.yml @@ -78,7 +78,8 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest - needs: [prepare] + needs: + - prepare steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 diff --git a/.github/workflows/show.checks.yml b/.github/workflows/show.checks.yml index 6cc09ca0..67235840 100644 --- a/.github/workflows/show.checks.yml +++ b/.github/workflows/show.checks.yml @@ -49,7 +49,8 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest - needs: [prepare] + needs: + - prepare steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 diff --git a/.github/workflows/show.deploy.yml b/.github/workflows/show.deploy.yml index 42ccc743..15a44518 100644 --- a/.github/workflows/show.deploy.yml +++ b/.github/workflows/show.deploy.yml @@ -78,7 +78,8 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest - needs: [prepare] + needs: + - prepare steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 diff --git a/.github/workflows/website.checks.yml b/.github/workflows/website.checks.yml index 0c87e15a..11dc779e 100644 --- a/.github/workflows/website.checks.yml +++ b/.github/workflows/website.checks.yml @@ -49,7 +49,8 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest - needs: [prepare] + needs: + - prepare steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 diff --git a/.github/workflows/website.deploy.yml b/.github/workflows/website.deploy.yml index f5f1da5e..9c86c8ea 100644 --- a/.github/workflows/website.deploy.yml +++ b/.github/workflows/website.deploy.yml @@ -78,7 +78,8 @@ jobs: build: name: 📦 Build runs-on: ubuntu-latest - needs: [prepare] + needs: + - prepare steps: - name: ⬇️ Checkout repo uses: actions/checkout@v4 From c8377adb5d9ad8924e123748a0eea0565cd52929 Mon Sep 17 00:00:00 2001 From: Simon Relet Date: Wed, 1 Apr 2026 08:53:21 +0200 Subject: [PATCH 09/13] docs: Add commit message guidelines --- docs/commit-message-guidelines.md | 142 ++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 docs/commit-message-guidelines.md diff --git a/docs/commit-message-guidelines.md b/docs/commit-message-guidelines.md new file mode 100644 index 00000000..124e87e3 --- /dev/null +++ b/docs/commit-message-guidelines.md @@ -0,0 +1,142 @@ +# Commit message guidelines + +The rules below are inspired by the [Angular convention][convention-angular]. + +## Overall structure + +Each commit message is structured in three sections, separated by a blank line: + +``` +
+ + + +