Files
Bertrand Benjamin 55128fd0d4
All checks were successful
Build / build (push) Successful in 3m36s
Feat(ci): init CI
2026-08-09 21:20:46 +02:00

56 lines
1.9 KiB
YAML

# 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