name: update-flake-lock
run-name: ${{ github.actor }} - update-flake-lock
on:
  schedule:
    - cron: '0 0 * * 7'
    # “At 00:00 on Sunday."
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: actions/checkout@v3
    - name: "Directory Structure"
      run: | 
        ls ${{ github.workspace }}/*
    - name: "Git Info"
      run: |
        git -C ${{ github.workspace }} status
        git -C ${{ github.workspace }} log
        git -C ${{ github.workspace }} diff
    - 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 (`date +%Y-%m-%d`)"
        git push 
    - if: success()
      run: | 
        echo "Success!"
    - if: always()
      run:  rm -rf /.cache
    - if: always()
      run: rm -rf ${{ github.worksspace }}