name: update-flake-lock
run-name: ${{ github.actor }} - update-flake-lock
#on:
#  push:
#    branches:
#      main
# I guess scheduling is in v1.21:
# https://codeberg.org/forgejo/forgejo/issues/741
# on:
#   schedule:
#     - cron: '*/5 * * * *'
jobs:
  update-flake-lock:
    runs-on: docker
    container: 
      image: alpine:edge
    steps:
    - name:  "Setup Runner"
      run: |
        apk update
        apk add git nodejs nix \
        --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/
        git config --global user.email "${{github.actor}}"
        git config --global user.name "Albert J. Copeland"
    - uses: https://code.forgejo.org/actions/checkout@v3
      with:
        sparse-checkout: |
          .forgejo
          home-manager 
          lib 
          nixos 
          flake.lock 
          flake.nix
          shell.nix
    - name: "Directory Structure"
      run: | 
        ls ${{ github.workspace }}/*
    - name: "Runner:  Node Info"
      run: |
        id
        uname -a
        hostname
        cat /etc/os-release
    - name: "Nix Version"
      run:  | 
        nix --version
    - name: "Nix Flake Update"
      run: | 
        echo "Running Nix Flake Update"
        cd /workspace/albert/nix
        nix --extra-experimental-features "nix-command flakes" flake update
        echo "Git Diff:"
        git diff
    - name: "Commit and Upload"
      run: | 
        git commit -am "[ACTIONS] Flake Update"
        git push 
    - if: success()
      run: | 
        echo "Success!"
    - if: always()
      run:  rm -rf /.cache
    - if: always()
      run: rm -rf ${{ github.worksspace }}