2 Commits
Author SHA1 Message Date
Michael e759a1a7d5 prepare v1.1.0 release 2026-05-31 10:53:40 +02:00
LogiFlowandClaude 3b5ede5872 Robustesse release : accepte les tags V*/v* et normalise la version (#3)
* Passe la version à 1.1.0 et publie automatiquement les releases

- Monte la version à 1.1.0 (tauri.conf.json, Cargo.toml, package.json)
  pour générer un nouvel installeur via la CI.
- Met releaseDraft à false dans le workflow : les releases étaient
  créées en brouillon, donc invisibles et jamais marquées 'Latest' sur
  la page GitHub. Elles sont désormais publiées et présentées comme la
  dernière version.

* Durcit le déclenchement de la release (tags V*/v*) et normalise la version

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-31 10:41:18 +02:00
2 changed files with 30 additions and 13 deletions

No files matched your search

+29 -12
View File
@@ -3,7 +3,9 @@ name: Release Tauri App
on: on:
push: push:
tags: tags:
# Accept lowercase and uppercase tags, for example v1.1.0.0 or V1.1.0.0.
- 'v*' - 'v*'
- 'V*'
workflow_dispatch: workflow_dispatch:
jobs: jobs:
@@ -38,20 +40,37 @@ jobs:
cd widget cd widget
npm install npm install
- name: Update version in tauri.conf.json - name: Update app version from tag
shell: bash shell: bash
run: | run: |
TAG_VERSION=$(echo "${{ github.ref_name }}" | sed 's/^v//') # Keep Tauri/Cargo on valid SemVer while allowing release tags like V1.1.0.0.
if [[ ! "$TAG_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then RAW_VERSION=$(echo "${{ github.ref_name }}" | sed 's/^[vV]//')
TAG_VERSION="1.0.0" APP_VERSION="1.1.0"
if [[ "$RAW_VERSION" =~ ^([0-9]+\.[0-9]+\.[0-9]+)(\.[0-9]+)?$ ]]; then
APP_VERSION="${BASH_REMATCH[1]}"
fi fi
echo "Updating tauri.conf.json version to $TAG_VERSION" echo "Updating app version to $APP_VERSION"
node -e " node -e "
const fs = require('fs'); const fs = require('fs');
const file = './widget/src-tauri/tauri.conf.json';
const config = JSON.parse(fs.readFileSync(file, 'utf8')); const updateJson = (file, update) => {
config.package.version = '$TAG_VERSION'; const data = JSON.parse(fs.readFileSync(file, 'utf8'));
fs.writeFileSync(file, JSON.stringify(config, null, 2), 'utf8'); update(data);
fs.writeFileSync(file, JSON.stringify(data, null, 2) + '\n', 'utf8');
};
updateJson('./widget/package.json', (pkg) => {
pkg.version = '$APP_VERSION';
});
updateJson('./widget/src-tauri/tauri.conf.json', (config) => {
config.package.version = '$APP_VERSION';
});
const cargoFile = './widget/src-tauri/Cargo.toml';
const cargo = fs.readFileSync(cargoFile, 'utf8')
.replace(/^version = \".*\"$/m, 'version = \"$APP_VERSION\"');
fs.writeFileSync(cargoFile, cargo, 'utf8');
" "
- name: Build the Tauri app - name: Build the Tauri app
@@ -64,9 +83,7 @@ jobs:
releaseBody: | releaseBody: |
Installeur Windows de TodoFlow ${{ github.ref_name }}. Installeur Windows de TodoFlow ${{ github.ref_name }}.
Téléchargez le fichier `.exe` (NSIS) ou `.msi` ci-dessous pour installer l'application. Telechargez le fichier `.exe` (NSIS) ou `.msi` ci-dessous pour installer l'application.
# Publier directement la release (et non en brouillon) afin qu'elle soit visible
# publiquement et marquée automatiquement comme "Latest" sur la page GitHub.
releaseDraft: false releaseDraft: false
prerelease: false prerelease: false
projectPath: './widget' projectPath: './widget'
+1 -1
View File
@@ -43,7 +43,7 @@ async def lifespan(app: FastAPI):
app = FastAPI( app = FastAPI(
title="TodoFlow API", title="TodoFlow API",
description="API centralisée pour la Todo list, connectée au widget de bureau et pilotable par Agent IA.", description="API centralisée pour la Todo list, connectée au widget de bureau et pilotable par Agent IA.",
version="1.0.0", version="1.1.0",
lifespan=lifespan lifespan=lifespan
) )