nixos-config/.forgejo/workflows/nix_build.yaml

142 lines
3.4 KiB
YAML
Raw Normal View History

2024-07-20 22:32:37 +02:00
name: Build all NixOS Configurations
on:
2024-07-21 12:27:57 +02:00
push:
branches:
- '**'
2024-07-21 12:29:29 +02:00
schedule:
- cron: '40 12 * * *' # not to frequent, GitHub only allows a few pulls per hour
2024-07-20 22:32:37 +02:00
2024-07-19 19:00:35 +02:00
jobs:
2024-07-20 22:32:37 +02:00
nix build:
2024-07-19 19:00:35 +02:00
runs-on: native
steps:
2024-07-21 12:24:00 +02:00
- uses: actions/checkout@v4
2024-07-21 12:15:56 +02:00
2024-07-21 12:32:04 +02:00
- name: update nix flakes
if: ${{ github.event_name == 'schedule' }}
run: |
cat <<EOF > .ssh_key
${{ secrets.SSH_KEY }}
EOF
chmod 600 .ssh_key
eval $(ssh-agent)
ssh-add .ssh_key
nix flake update
echo $SSH_AGENT_PID
kill $SSH_AGENT_PID
rm .ssh_key
2024-07-21 12:33:53 +02:00
- name: nix flake archive/check
2024-07-21 12:15:56 +02:00
run: |
2024-07-21 12:24:00 +02:00
cat <<EOF > .id_rsa
2024-07-21 12:15:56 +02:00
${{ secrets.SSH_KEY }}
EOF
2024-07-21 12:24:00 +02:00
chmod 600 .id_rsa
2024-07-21 12:15:56 +02:00
eval $(ssh-agent)
2024-07-21 12:24:00 +02:00
ssh-add .id_rsa
2024-07-21 12:15:56 +02:00
2024-07-21 12:26:11 +02:00
nix flake archive
2024-07-21 12:33:53 +02:00
nix flake check --verbose --log-format raw
2024-07-21 12:15:56 +02:00
echo $SSH_AGENT_PID
kill $SSH_AGENT_PID
2024-07-21 12:26:11 +02:00
rm .id_rsa
2024-07-21 12:15:56 +02:00
2024-07-21 12:24:00 +02:00
- name: nix flake check
run: nix flake check --verbose --log-format raw
2024-07-21 12:15:56 +02:00
2024-07-21 12:33:53 +02:00
- name: nix build orbi
run: nix build .#nixosConfigurations.orbi.config.system.build.toplevel
- name: nix build cream
run: nix build .#nixosConfigurations.cream.config.system.build.toplevel
2024-07-21 12:15:56 +02:00
2024-07-21 12:33:53 +02:00
- name: nix build cherry
run: nix build .#nixosConfigurations.cherry.config.system.build.toplevel
2024-07-21 12:15:56 +02:00
2024-07-21 12:33:53 +02:00
- name: nix build chungus
run: nix build .#nixosConfigurations.chungus.config.system.build.toplevel
- name: push if all fine
if: ${{ github.event_name == 'schedule' }}
run: |
2024-07-21 12:24:00 +02:00
2024-07-21 12:33:53 +02:00
git config --local user.email "action@git.ingolf-wagner.de"
git config --local user.name "Forgejo Action"
git diff --quiet && \
git diff --staged --quiet || \
(git commit -am "Update Nix flakes" && git push)
2024-07-21 12:24:00 +02:00
#name: Build all NixOS Configurations
#on:
# - push
# #schedule:
# # - cron: "20 12 * * *" # not to frequent, GitHub only allows a few pulls per hour
#jobs:
# nix build:
# runs-on: native
# steps:
# - name: checkout repository
# uses: actions/checkout@v2
# with:
# depth: 0
# - name: update nix flakes
# #if: github.event_name == 'schedule'
# run: |
# cat <<EOF > .ssh_key
# ${{ secrets.SSH_KEY }}
# EOF
# chmod 600 .ssh_key
# eval $(ssh-agent)
# ssh-add .ssh_key
# nix flake update
#
# echo $SSH_AGENT_PID
# kill $SSH_AGENT_PID
# rm .ssh_key
# - name: fetch and check
# run: |
# cat <<EOF > .ssh_key
# ${{ secrets.SSH_KEY }}
# EOF
# chmod 600 .ssh_key
# eval $(ssh-agent)
# ssh-add .ssh_key
# nix flake archive
# nix flake check --verbose --log-format raw
#
# echo $SSH_AGENT_PID
# kill $SSH_AGENT_PID
# rm .ssh_key
# - name: nix build orbi
# run: nix build .#nixosConfigurations.orbi.config.system.build.toplevel
# - name: nix build cream
# run: nix build .#nixosConfigurations.cream.config.system.build.toplevel
# - name: nix build cherry
# run: nix build .#nixosConfigurations.cherry.config.system.build.toplevel
# - name: nix build chungus
# run: nix build .#nixosConfigurations.chungus.config.system.build.toplevel
2024-07-21 12:15:56 +02:00