name: Proactively build and cache flake
on:
  schedule:
    - cron: "0 */6 * * *"
  push:
    branches:
      - "force-build"


jobs:
  build_arm:
    runs-on: ubuntu-22.04-arm
    steps:
      - uses: actions/checkout@v4
      - uses: DeterminateSystems/nix-installer-action@v16
        with:
          extra-conf: |
            keep-going = true
            fallback = true
      - uses: DeterminateSystems/flake-checker-action@v9
      - uses: ryanccn/attic-action@v0
        with:
          endpoint: ${{ secrets.ATTIC_ENDPOINT }}
          cache: ${{ vars.ATTIC_CACHE }}
          token: ${{ secrets.ATTIC_TOKEN }}
      # free useless disk space
      - run: 'bash ci/util_free_space_extreme.sh'
      - run: 'nix flake update'
      - run: 'nix develop .#ci --command bash ci/run_builds.sh'

  build_x86:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4
      - uses: DeterminateSystems/nix-installer-action@v16
        with:
          extra-conf: |
            keep-going = true
            fallback = true
      - uses: DeterminateSystems/flake-checker-action@v9
      - uses: ryanccn/attic-action@v0
        with:
          endpoint: ${{ secrets.ATTIC_ENDPOINT }}
          cache: ${{ vars.ATTIC_CACHE }}
          token: ${{ secrets.ATTIC_TOKEN }}
      # free useless disk space
      - run: 'bash ci/util_free_space_extreme.sh'
      - run: 'nix flake update'
      - run: 'nix develop .#ci --command bash ci/run_builds.sh'