Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,12 @@ Pour produire les paquets Linux :
npm run tauri build -- --bundles deb,appimage
```

Ils sont écrits sous `src-tauri/target/release/bundle/`. Le paquet Debian s'installe
avec `sudo apt install ./EnvEdit_1.0.0_amd64.deb` depuis son dossier. L'AppImage se lance
après `chmod +x EnvEdit_1.0.0_amd64.AppImage`. Ces paquets ne contiennent pas le backend
Python. Les projets locaux restent hors ligne ; seuls les projets SSH utilisent une
connexion configurée explicitement par l'utilisateur.

## Préparer une release GitHub

La version cible est choisie **avant** le tag. Créer une branche `release/X.Y.Z`,
Expand All @@ -152,12 +158,12 @@ Le contrôle de version se lance aussi localement avec
installateurs avant de publier manuellement le brouillon. Ne pas déplacer un tag déjà
publié : corriger sur une nouvelle version si nécessaire.

Exemple de préparation de `0.5.0` une fois les versions modifiées et la PR validée :
Exemple pour `1.0.0` une fois les versions modifiées et la PR validée :

```bash
node scripts/check-release-version.mjs v0.5.0
git tag -a v0.5.0 -m "EnvEdit 0.5.0"
git push origin v0.5.0
node scripts/check-release-version.mjs v1.0.0
git tag -a v1.0.0 -m "EnvEdit 1.0.0"
git push origin v1.0.0
```

La CI produit des builds Windows/macOS **expérimentaux** ; elle ne valide pas encore
Expand All @@ -166,12 +172,6 @@ distribution comme versions prises en charge reste différée. Les installateurs
sont pas encore signés ni, pour macOS, notarisés. Aucun déploiement n'est déclenché
par les pull requests ou par la branche de préparation.

Ils sont écrits sous `src-tauri/target/release/bundle/`. Le paquet Debian s'installe
avec `sudo apt install ./EnvEdit_0.4.4_amd64.deb` depuis son dossier. L'AppImage se lance
après `chmod +x EnvEdit_0.4.4_amd64.AppImage`. Ces paquets ne contiennent pas le backend
Python. Les projets locaux restent hors ligne ; seuls les projets SSH utilisent une
connexion configurée explicitement par l'utilisateur.

La configuration réside dans `$XDG_CONFIG_HOME/envedit/catalog.json` (ou
`~/.config/envedit/catalog.json`). Elle contient les sections, leurs noms et les chemins des
projets, jamais les valeurs des variables. L'ancien `projects.json` n'est pas migré et est
Expand Down
42 changes: 42 additions & 0 deletions docs/RELEASE-1.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Préparation de la version 1.0.0

Branche de validation : `release/1.0.0`. Aucun tag ni release publiée à ce stade.

## Vérifications effectuées localement

- Versions synchronisées dans `package.json`, `package-lock.json`, `Cargo.toml`,
`Cargo.lock` et `tauri.conf.json` (`v1.0.0`).
- Vitest : 18 tests réussis ; Rust : 22 tests réussis.
- `npm run tauri build -- --bundles deb` : paquet
`src-tauri/target/release/bundle/deb/EnvEdit_1.0.0_amd64.deb` produit.
- Métadonnées du paquet contrôlées avec `dpkg-deb --info` : paquet `env-edit`,
version `1.0.0`, architecture `amd64`, dépendances GTK/WebKitGTK annoncées.
- Contenu extrait dans un dossier temporaire ; le binaire démarre avec
`XDG_CONFIG_HOME` et `XDG_CACHE_HOME` isolés et reste actif jusqu'au délai de
huit secondes du test de lancement. Une fixture `.env` synthétique a été copiée
dans le dossier temporaire, sans être ouverte par l'application pendant ce test.

## Validation manuelle encore nécessaire

Le propriétaire du projet a installé localement le `.deb` 1.0.0 et indique que
l'application « semble fonctionnelle ». Ce retour confirme l'installation et un
premier essai utilisateur, sans constituer une validation exhaustive des critères
ci-dessous. L'agent n'a pas exécuté lui-même l'installation système : `sudo`
demande le mot de passe de l'utilisateur. Pour réinstaller depuis la racine du
dépôt :

```bash
sudo apt install ./src-tauri/target/release/bundle/deb/EnvEdit_1.0.0_amd64.deb
```

Tester ensuite l'application installée avec **un nouveau dossier temporaire et une
fixture sans secret réel** : ajout du projet, ouverture du `.env`, édition inline,
commentaire en tooltip, masquage/copie d'une valeur sensible, sauvegarde ciblée,
avertissement de valeur vide, fermeture avec modifications non sauvegardées et
comparaison avec `.env.example`. Ne pas utiliser un projet de production pour
valider cette release.

Les vérifications SSH sur serveur de test, les critères manuels encore ouverts
dans `ACCEPTANCE.md` et la parité Windows/macOS restent à traiter ou à déclarer
explicitement comme limites de la release. Le test historique Python/GTK n'a
pas été exécuté localement : `pytest` est absent de cet environnement.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "envedit",
"private": true,
"version": "0.4.4",
"version": "1.0.0",
"type": "module",
"scripts": {
"dev": "vite",
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "envedit"
version = "0.4.4"
version = "1.0.0"
description = "Portable, conservative dotenv editor"
authors = ["EnvEdit contributors"]
edition = "2021"
Expand Down
2 changes: 1 addition & 1 deletion src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "EnvEdit",
"version": "0.4.4",
"version": "1.0.0",
"identifier": "io.github.envedit.EnvEdit",
"build": {
"beforeDevCommand": "npm run dev",
Expand Down
3 changes: 2 additions & 1 deletion src/App.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import { config, flushPromises, mount } from '@vue/test-utils'
import { Dialog, Notify, Quasar } from 'quasar'
import { beforeEach, describe, expect, it, vi } from 'vitest'
import packageInfo from '../package.json'
import App from './App.vue'

const { invoke, writeText, openDirectory } = vi.hoisted(() => ({ invoke: vi.fn(), writeText: vi.fn(), openDirectory: vi.fn() }))
Expand Down Expand Up @@ -91,7 +92,7 @@ describe('parcours principal portable', () => {
expect(invoke).toHaveBeenCalledWith('open_env_file', { path: '/fixture/project/.env' })
expect(wrapper.findAll('input').some((input) => input.element.value === 'APP_URL')).toBe(true)
expect(wrapper.text()).toContain('1 variable(s) affichée(s)')
expect(wrapper.text()).toContain('v0.4.4')
expect(wrapper.text()).toContain(`v${packageInfo.version}`)
wrapper.unmount()
})

Expand Down
Loading