| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
hugo-static-deploy.yml / Add workflow for typst (push) Failing after 0s
|
||
| .forgejo/workflows | ||
| README.md | ||
ci-workflows
Workflows Forgejo Actions réutilisables, partagés entre plusieurs projets.
Workflows disponibles
hugo-static-deploy.yml
Pipeline complet pour un site statique Hugo : checkout, build, vérification, déploiement SFTP.
Conventions attendues dans le projet appelant :
- Un
flake.nixexposant undevShells.defaultavec au moinshugo,lychee,lftpetjust. - Un
justfile(ouJustfile) avec trois cibles :build— construit le sitecheck— vérifie le site (liens, méta, etc.)deploy-ci— déploie via SFTP en lisant$SFTP_PASSdepuis l'environnement
- Un secret
SFTP_PASSconfiguré dans le repo appelant.
Conventions attendues côté infra Forgejo :
- Un runner avec le label
nixflakemappé vers une image Docker contenantnix(typiquementnixos/nix:latest). network: hostdans la config du runner si Forgejo tourne sur la même machine que le runner.
Usage (dans .forgejo/workflows/build-deploy.yml du projet appelant) :
name: build-and-deploy
on:
push:
branches:
- master
jobs:
call:
uses: crazy-crafters/ci-workflows/.forgejo/workflows/hugo-static-deploy.yml@master
secrets:
SFTP_PASS: ${{ secrets.SFTP_PASS }}
typst-build.yml
Compile les documents Typst d'un projet via sa flake (nix build). Validation à
chaque push / PR ; ne publie rien.
Conventions attendues dans le projet appelant :
- Un
flake.nixdontnix buildproduit les PDF (dans./result/).
Entrées (optionnelles) : flake-target — cible passée à nix build (défaut .).
Usage :
name: build
on:
push:
branches: [master]
pull_request:
jobs:
build:
uses: crazy-crafters/ci-workflows/.forgejo/workflows/typst-build.yml@master
typst-publish.yml
Compile via la flake puis publie les PDF comme pièces jointes d'une Release Forgejo (via l'API). À appeler sur un push de tag ; le nom du tag = nom de la Release.
Conventions attendues dans le projet appelant :
- Un
flake.nixdontnix buildproduit les PDF (dans./result/).
Entrées (optionnelles) : flake-target — cible passée à nix build (défaut .).
Usage :
name: publish
on:
push:
tags: ['v*']
jobs:
publish:
uses: crazy-crafters/ci-workflows/.forgejo/workflows/typst-publish.yml@master
Versionnement
Référencer @master suit la branche : tout changement appliqué ici prend effet au prochain run des projets appelants. Quand le pattern d'un workflow est stabilisé, taguer (v1, v2…) et inviter les projets appelants à pinner sur un tag explicite.
Projets qui utilisent ces workflows
olivier_albiez/hypomnemata— site Hugo personnelolivier_albiez/recettes-cuisine— cookbook Cooklang + Hugocrazy-crafters/administratif— documents Typst (build + publish)