This commit is contained in:
55
.gitea/workflows/build.yml
Normal file
55
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# Compile les binaires des cinq plateformes à chaque poussée, et les dépose en
|
||||||
|
# artefacts téléchargeables depuis la page de l'exécution.
|
||||||
|
#
|
||||||
|
# Le dépôt n'ayant aucune dépendance, la pipeline se contente de reprendre les
|
||||||
|
# commandes de la machine de développement : node --test, puis ./build.sh, qui
|
||||||
|
# lance lui-même go test avant de compiler.
|
||||||
|
#
|
||||||
|
# Gitea lit les workflows dans .gitea/workflows/ — .github/workflows/ marche
|
||||||
|
# aussi, mais autant nommer les choses par leur maison.
|
||||||
|
name: Build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
pull_request:
|
||||||
|
branches: [main]
|
||||||
|
# Permet de relancer la compilation à la main depuis l'onglet Actions.
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
# Label déclaré par act_runner à son enregistrement. S'il a été enregistré
|
||||||
|
# avec d'autres labels, remplacer ici par celui qui existe :
|
||||||
|
# ./act_runner --config config.yaml daemon (les labels sont affichés au démarrage)
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Installer Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: '1.22'
|
||||||
|
# Le cache des modules s'appuie sur un go.sum, que ce dépôt n'a pas
|
||||||
|
# faute de dépendance : activé, il ferait échouer l'étape.
|
||||||
|
cache: false
|
||||||
|
|
||||||
|
- name: Tester le modèle métier
|
||||||
|
# Node est fourni par l'image du runner ; pas de setup-node, qui
|
||||||
|
# téléchargerait une distribution pour rien.
|
||||||
|
run: node --test
|
||||||
|
|
||||||
|
- name: Compiler les cinq plateformes
|
||||||
|
# build.sh lance go test ./... avant de compiler : le serveur est donc
|
||||||
|
# testé ici aussi.
|
||||||
|
run: ./build.sh
|
||||||
|
|
||||||
|
- name: Déposer les binaires
|
||||||
|
# v3 et non v4 : l'API d'artefacts de la v4 réclame une Gitea récente,
|
||||||
|
# là où la v3 fonctionne depuis 1.20.
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: frise-binaires
|
||||||
|
path: dist/frise-*
|
||||||
|
retention-days: 30
|
||||||
@@ -51,7 +51,12 @@ saisi. Pour découvrir l'outil sur des données réalistes, copier `data/exemple
|
|||||||
|
|
||||||
Il faut [Go](https://go.dev) 1.22 ou plus récent, et rien d'autre : aucune dépendance externe,
|
Il faut [Go](https://go.dev) 1.22 ou plus récent, et rien d'autre : aucune dépendance externe,
|
||||||
aucun `vendor/`. Les binaires des trois systèmes se produisent depuis une seule machine, sans
|
aucun `vendor/`. Les binaires des trois systèmes se produisent depuis une seule machine, sans
|
||||||
intégration continue ni SDK tiers.
|
SDK tiers.
|
||||||
|
|
||||||
|
Une pipeline Gitea rejoue les mêmes commandes à chaque poussée sur `main` — `node --test`, puis
|
||||||
|
`./build.sh` — et dépose les cinq binaires en artefacts de l'exécution, à récupérer depuis
|
||||||
|
l'onglet **Actions**. Elle ne remplace pas la compilation locale, elle la vérifie : rien
|
||||||
|
n'oblige à passer par elle pour produire un exécutable.
|
||||||
|
|
||||||
### Développer
|
### Développer
|
||||||
|
|
||||||
@@ -413,6 +418,7 @@ données. Aucune dépendance de part ni d'autre, les lanceurs intégrés à Node
|
|||||||
|---|---|
|
|---|---|
|
||||||
| `main.go` | Sert l'interface embarquée, expose `GET`/`PUT` sur `/api/data`, écrit les sauvegardes |
|
| `main.go` | Sert l'interface embarquée, expose `GET`/`PUT` sur `/api/data`, écrit les sauvegardes |
|
||||||
| `build.sh` | Compile les binaires des cinq plateformes dans `dist/` |
|
| `build.sh` | Compile les binaires des cinq plateformes dans `dist/` |
|
||||||
|
| `.gitea/workflows/build.yml` | Pipeline Gitea : tests puis `build.sh`, binaires déposés en artefacts |
|
||||||
| `js/model.js` | Données et règles métier : CRUD, validation, bornes, cycle de vie et horizon, référence, dérive, tags, regroupement par mois |
|
| `js/model.js` | Données et règles métier : CRUD, validation, bornes, cycle de vie et horizon, référence, dérive, tags, regroupement par mois |
|
||||||
| `js/storage.js` | Dialogue avec le serveur, sauvegarde debouncée, indicateur d'état |
|
| `js/storage.js` | Dialogue avec le serveur, sauvegarde debouncée, indicateur d'état |
|
||||||
| `js/timeline.js` | Rendu de la frise : échelle, couloirs, barres, jalons, pli/dépli, curseur |
|
| `js/timeline.js` | Rendu de la frise : échelle, couloirs, barres, jalons, pli/dépli, curseur |
|
||||||
|
|||||||
Reference in New Issue
Block a user