From 9d4db87c8b208e998a34ec74aaf7ecaea013dc11 Mon Sep 17 00:00:00 2001 From: Hubert Cornet Date: Sat, 14 Feb 2026 10:19:24 +0100 Subject: [PATCH] Update .gitea/workflows/release.yml --- .gitea/workflows/release.yml | 44 ++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 33e40f3..7d3b5b3 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -1,4 +1,4 @@ -name: Release SDSAT +name: Release on: push: @@ -15,45 +15,55 @@ jobs: with: python-version: "3.11" - - name: Install deps + - name: Install tooling run: | python -m pip install -U pip - pip install -r requirements.txt - pip install -r requirements-dev.txt + pip install ruff pytest requests - - name: Lint + Tests + - name: Lint + tests run: | - ruff check . + ruff check . --fix pytest -q - - name: Build release package + - name: Build zip run: | mkdir -p dist - zip -r dist/SDSAT-${{ gitea.ref_name }}.zip scripts pyproject.toml requirements.txt + zip -r "dist/SDSAT-${{ gitea.ref_name }}.zip" scripts pyproject.toml || true - # Crée une release Gitea + upload l'asset - - name: Create Gitea release (and upload asset) + # Si requirements.txt existe, on le met aussi + if [ -f requirements.txt ]; then + zip -ur "dist/SDSAT-${{ gitea.ref_name }}.zip" requirements.txt + fi + + - name: Create release + upload asset (Gitea API) env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} + GITEA_SERVER_URL: ${{ gitea.server_url }} OWNER: ${{ gitea.repository_owner }} REPO: ${{ gitea.event.repository.name }} TAG: ${{ gitea.ref_name }} - GITEA_SERVER_URL: ${{ gitea.server_url }} run: | set -e API="${GITEA_SERVER_URL}/api/v1" - # create release + + # Create release (ignore if exists) curl -sS -X POST "${API}/repos/${OWNER}/${REPO}/releases" \ -H "Authorization: token ${GITEA_TOKEN}" \ -H "Content-Type: application/json" \ -d "{\"tag_name\":\"${TAG}\",\"name\":\"${TAG}\",\"draft\":false,\"prerelease\":false}" \ - >/tmp/release.json + >/tmp/release_create.json || true - RID=$(python -c "import json;print(json.load(open('/tmp/release.json'))['id'])") + # Get release by tag + curl -sS "${API}/repos/${OWNER}/${REPO}/releases/tags/${TAG}" \ + -H "Authorization: token ${GITEA_TOKEN}" \ + >/tmp/release_get.json - # upload asset - curl -sS -X POST "${API}/repos/${OWNER}/${REPO}/releases/${RID}/assets?name=SDSAT-${TAG}.zip" \ + RID=$(python -c "import json;print(json.load(open('/tmp/release_get.json'))['id'])") + + ASSET="dist/SDSAT-${TAG}.zip" + + curl -sS -X POST "${API}/repos/${OWNER}/${REPO}/releases/${RID}/assets?name=$(basename ${ASSET})" \ -H "Authorization: token ${GITEA_TOKEN}" \ -H "Content-Type: application/zip" \ - --data-binary @dist/SDSAT-${TAG}.zip \ + --data-binary @"${ASSET}" \ >/dev/null