Files
TodoFlow/.github/workflows/release.yml
T
Claude 735cb3deee 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.
2026-05-31 02:19:02 +00:00

73 lines
2.1 KiB
YAML

name: Release Tauri App
on:
push:
tags:
- 'v*'
workflow_dispatch:
jobs:
release:
permissions:
contents: write
strategy:
fail-fast: false
matrix:
platform: [windows-latest]
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Rust cache
uses: swatinem/rust-cache@v2
with:
workspaces: './widget/src-tauri -> target'
- name: Install app dependencies
run: |
cd widget
npm install
- name: Update version in tauri.conf.json
shell: bash
run: |
TAG_VERSION=$(echo "${{ github.ref_name }}" | sed 's/^v//')
if [[ ! "$TAG_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]]; then
TAG_VERSION="1.0.0"
fi
echo "Updating tauri.conf.json version to $TAG_VERSION"
node -e "
const fs = require('fs');
const file = './widget/src-tauri/tauri.conf.json';
const config = JSON.parse(fs.readFileSync(file, 'utf8'));
config.package.version = '$TAG_VERSION';
fs.writeFileSync(file, JSON.stringify(config, null, 2), 'utf8');
"
- name: Build the Tauri app
uses: tauri-apps/tauri-action@v0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tagName: ${{ github.ref_name }}
releaseName: 'TodoFlow ${{ github.ref_name }}'
releaseBody: |
Installeur Windows de TodoFlow ${{ github.ref_name }}.
Téléchargez 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
prerelease: false
projectPath: './widget'