NixOSDots/.gitea/workflows/Build Framework.yaml
Alexandre a2774bd3f8
All checks were successful
Check config / build (push) Successful in 9m45s
Added a toolcache to all action, hopefully it works
2026-06-27 15:25:40 +02:00

66 lines
2.3 KiB
YAML

name: Build Flake
on:
workflow_dispatch:
schedule:
- cron: "0 0 1 * *" # At midnight on the first day of the month (Monday)
jobs:
build:
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Get current time
uses: josStorer/get-current-time@v2
id: start-time
with:
utcOffset: "+02:00" # Summer time in France
- name: Install nix
uses: DeterminateSystems/nix-installer-action@main
with:
extra-conf: |
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs= hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc= nix-citizen.cachix.org-1:lPMkWc2X8XD4/7YPEEwXKKBg+SVbYTVrAaLA2wQTKCo=
trusted-substituters = https://cache.nixos.org https://nix-community.cachix.org https://hyprland.cachix.org https://nix-citizen.cachix.org
- name: Setup nix cache (experimental)
uses: DeterminateSystems/magic-nix-cache-action@main
- name: Checkout
uses: actions/checkout@v4
- name: Build bumped flake (only one host)
run: |
nix build .#nixosConfigurations.FW16.config.system.build.toplevel
- name: Get Build time
uses: josStorer/get-current-time@v2
id: end-time
with:
utcOffset: "+02:00" # Summer time in France
- name: Calculate build time
id: duration
run: |
duration=$((${{ steps.start-time.outputs.time }} - ${{ steps.end-time.outputs.time }}))
echo "duration=${duration}" >> "$GITHUB_OUTPUT"
- name: Notify Failure
if: failure()
run: |
curl \
-H "Title: Failed to build flake !"\
-d "Build started on ${{ steps.start-time.outputs.readableTime }} and failed.\nLasted ${{ steps.duration.outputs.duration }}" \
https://ntfy.alexdelcamp.fr/FlakeBuild
- name: Notify Success
run: |
curl \
-H "Title: Successfully builded flake!" \
-d "Build started on ${{ steps.start-time.outputs.readableTime }} and succeeded.\nLasted ${{ steps.duration.outputs.duration }}" \
https://ntfy.alexdelcamp.fr/FlakeBuild