diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..a95c1eb --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,30 @@ +# Dependabot configuration for keeping GitHub Actions up to date +# This configuration enables automatic updates for GitHub Actions dependencies +# to ensure the workflows use the latest secure versions. + +version: 2 +updates: + # Monitor GitHub Actions dependencies + - package-ecosystem: "github-actions" + directory: "/" + schedule: + # Check for updates weekly on Mondays + interval: "weekly" + day: "monday" + time: "06:00" + timezone: "Europe/Paris" + # Limit the number of open pull requests + open-pull-requests-limit: 5 + # Add labels to PRs + labels: + - "dependencies" + - "github-actions" + # Commit message configuration + commit-message: + prefix: "chore(deps)" + include: "scope" + # Group all GitHub Actions updates into a single PR + groups: + github-actions: + patterns: + - "*" diff --git a/.github/workflows/build-and-publish.yaml b/.github/workflows/build-and-publish.yaml index 6231c8b..1b04137 100644 --- a/.github/workflows/build-and-publish.yaml +++ b/.github/workflows/build-and-publish.yaml @@ -124,7 +124,7 @@ jobs: docker.io/obeoneorg/traefik_network_connector tags: | # For pushes to the 'main' branch, tag the image as 'latest'. - type=ref,event=branch,enable=${{ github.ref_name == 'main' }},prefix=,suffix=latest + type=raw,value=latest,enable=${{ github.ref_name == 'main' }} # For 'v*.*.*' tags, generate SemVer tags (e.g., v1.2.3, v1.2, v1). type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} @@ -135,7 +135,7 @@ jobs: - name: Build and push (multi-repo) if: steps.gatekeeper.outputs.run_build == 'true' id: build-and-push - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile @@ -144,8 +144,7 @@ jobs: linux/amd64 linux/arm64 linux/i386 - linux/armhf - linux/armel + linux/arm/v7 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha @@ -190,4 +189,4 @@ jobs: for image in "${IMAGES[@]}"; do echo "Signing ${image}@${DIGEST}" cosign sign --yes "${image}@${DIGEST}" - done \ No newline at end of file + done diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dabe4d2..b7b1883 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,8 +69,8 @@ jobs: fi echo "All conditions met. Proceeding with the release process." - echo "authorized=true" >> $GITHUB_OUTPUT" - echo "on_main=true" >> $GITHUB_OUTPUT" + echo "authorized=true" >> $GITHUB_OUTPUT + echo "on_main=true" >> $GITHUB_OUTPUT # Step 4: Create a GitHub Release and Generate Changelog. # This step is conditionally executed only if the 'check_conditions' step @@ -83,13 +83,35 @@ jobs: with: # The action automatically infers the tag name from the Git reference (github.ref_name). name: Release ${{ github.ref_name }} - + # Enables the automatic generation of release notes, leveraging the action's built-in capabilities. generateReleaseNotes: true - + + # Add Docker image links to release body + body: | + ## Docker Images + + This release is available as multi-platform Docker images on both GitHub Container Registry and Docker Hub: + + ### GitHub Container Registry (GHCR) + ```bash + docker pull ghcr.io/obeone/auto_docker_proxy:${{ github.ref_name }} + docker pull ghcr.io/obeone/traefik_network_connector:${{ github.ref_name }} + ``` + + ### Docker Hub + ```bash + docker pull obeoneorg/auto_docker_proxy:${{ github.ref_name }} + docker pull obeoneorg/traefik_network_connector:${{ github.ref_name }} + ``` + + **Supported Platforms:** linux/amd64, linux/arm64, linux/arm/v7 + + All images are signed with [Cosign](https://github.com/sigstore/cosign) for supply chain security. + draft: false # Publishes the release immediately, rather than as a draft. prerelease: false # Designates the release as a full, stable release. - + # The GITHUB_TOKEN is automatically provided by GitHub Actions, # granting the necessary permissions for creating the release. - token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 3f83f97..96da046 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,6 @@ venv.bak/ # Misc .history /test + +# Claude +/.claude