# 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