forked from malobeo/infrastructure
All checks were successful
Weekly Flake Update / update_and_check_flake (push) Successful in 5m48s
110 lines
3.8 KiB
YAML
110 lines
3.8 KiB
YAML
name: Weekly Flake Update
|
|
|
|
on:
|
|
schedule:
|
|
- cron: "0 0 * * 4"
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
update_and_check_flake:
|
|
runs-on: ubuntu-latest
|
|
env:
|
|
NIXPKGS_ALLOW_UNFREE: 1
|
|
steps:
|
|
- name: Install sudo
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y sudo
|
|
- name: Install Tea
|
|
env:
|
|
TEA_DL_URL: "https://dl.gitea.com/tea/0.9.2/tea-0.9.2-linux-amd64"
|
|
shell: bash
|
|
run: |
|
|
TEA_DIR=$(mktemp -d -t tmp.XXXX)
|
|
pushd $TEA_DIR
|
|
wget "$TEA_DL_URL"
|
|
wget "${TEA_DL_URL}.sha256"
|
|
if $(sha256sum --quiet -c "tea-0.9.2-linux-amd64.sha256"); then
|
|
mv "tea-0.9.2-linux-amd64" /usr/bin/tea
|
|
chmod +x /usr/bin/tea
|
|
popd
|
|
rm -rf $TEA_DIR
|
|
else
|
|
popd
|
|
rm -rf $TEA_DIR
|
|
echo "::error title=⛔ error hint::Tea v0.9.2 Checksum Failed"
|
|
exit 1
|
|
fi
|
|
- uses: https://code.forgejo.org/actions/checkout@v6
|
|
- name: Set up Nix
|
|
uses: https://github.com/cachix/install-nix-action@v31
|
|
with:
|
|
github_access_token: ${{ secrets.AHTLONS_GITHUB_TOKEN }} #Fuck github
|
|
|
|
- name: Run nix flake update
|
|
run: nix flake update
|
|
|
|
- name: Commit flake.lock
|
|
run: |
|
|
git config user.name "malobot"
|
|
git config user.email "malobot@systemli.org"
|
|
git stash push
|
|
git branch nixpkgs_bump_$(date +%Y%m%d)
|
|
git checkout nixpkgs_bump_$(date +%Y%m%d)
|
|
git stash pop
|
|
git add flake.lock
|
|
git diff --staged --quiet || git commit -m "Update flake.lock"
|
|
|
|
- name: Check for eval warnings
|
|
id: commit
|
|
shell: bash
|
|
run: |
|
|
{
|
|
echo "COMMIT_DESC<<EOF"
|
|
echo "Date: $(date)"
|
|
echo "Evaluation warnings:"
|
|
nix flake check --all-systems --no-build 2>&1 | grep evaluation | awk '!seen[$0]++' || echo "None :)"
|
|
echo EOF
|
|
} >> "$GITHUB_OUTPUT"
|
|
|
|
|
|
- name: Login to Gitea
|
|
shell: bash
|
|
env:
|
|
GIT_SERVER_URL: https://git.dynamicdiscord.de
|
|
GIT_SERVER_TOKEN: ${{ secrets.AHTLONS_GITEA_TOKEN }}
|
|
run: >-
|
|
tea login add
|
|
-u "$GIT_SERVER_URL"
|
|
-t "$GIT_SERVER_TOKEN"
|
|
- name: Check for existing pull request
|
|
id: no-pr
|
|
continue-on-error: true
|
|
shell: bash
|
|
run: >-
|
|
tea pr -f head -o simple |
|
|
grep -q ${{ github.ref_name }} &&
|
|
exit 1 ||
|
|
exit 0
|
|
- name: Force push branch
|
|
run: git push --force -u origin nixpkgs_bump_$(date +%Y%m%d)
|
|
- name: Create pull request
|
|
if: steps.no-pr.outcome == 'success'
|
|
env:
|
|
COMMIT_MSG: Automatic Nixpkgs update
|
|
COMMIT_DESC: ${{ steps.commit.outputs.COMMIT_DESC }}
|
|
shell: bash
|
|
run: >-
|
|
tea pr create
|
|
-L "bump"
|
|
-t "$COMMIT_MSG"
|
|
-d "$COMMIT_DESC"
|
|
- name: Skip pull request
|
|
if: steps.no-pr.outcome == 'failure'
|
|
shell: bash
|
|
run: >
|
|
echo "::error title=⛔ error hint::
|
|
A PR already exists for this branch: ${{ github.ref_name }}" |