1.3.0: ci: add release ci
All checks were successful
Release Workflow / set-release-target (push) Successful in 1s
Test Pipeline / lint (pull_request) Successful in 2m32s
Release Workflow / build (push) Successful in 4m28s
Test Pipeline / ci-test (pull_request) Successful in 4m59s

Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
This commit is contained in:
GnomeZworc 2025-09-27 22:37:04 +02:00
commit dfce12b156
Signed by: nicolas.boufideline
GPG key ID: 4406BBBF8845D632

View file

@ -0,0 +1,75 @@
name: Release Workflow
on:
push:
tags:
- '*'
branches:
- main
jobs:
set-release-target:
runs-on: docker
outputs:
release_cible: ${{ steps.setvar.outputs.release_cible }}
steps:
- name: Déterminer la release cible
id: setvar
run: |
if [[ "${GITHUB_REF}" == refs/tags/* ]]; then
TAG="${GITHUB_REF#refs/tags/}"
echo "release_cible=$TAG" >> $GITHUB_OUTPUT
elif [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then
echo "release_cible=latest" >> $GITHUB_OUTPUT
else
echo "release_cible=unknown" >> $GITHUB_OUTPUT
fi
- name: Afficher la variable
run: echo "Release cible = ${{ steps.setvar.outputs.release_cible }}"
build:
runs-on: raw
container:
options: --privileged -v /var/run/docker.sock:/var/run/docker.sock
needs: set-release-target
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Install docker-cli
run: |
apt-get update
apt-get install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install -y docker-ce-cli
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login docker registry
uses: docker/login-action@v2
with:
username: ${{ forge.ACTOR }}
password: ${{ secrets.PACKAGE }}
registry: ${{ forge.SERVER_URL }}
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: git.g3e.fr/h6n/users:${{ needs.set-release-target.outputs.release_cible }}
target: release