## SPDX-FileCopyrightText: 2025 Gergely Nagy ## SPDX-FileContributor: Gergely Nagy ## ## SPDX-License-Identifier: MIT name: build on: push: branches: - 'main' paths: - '.forgejo/workflows/build.yaml' - 'flake.nix' - 'flake.lock' - 'nix/**' - 'Cargo.*' - 'src/**' - 'templates/**' - 'tests/**' jobs: binary: runs-on: nixos-latest steps: - name: checkout uses: actions/checkout@v4 - name: setup magic attic cache uses: actions/magic-attic-cache@main with: ATTIC_TOKEN: ${{ secrets.ATTIC_TOKEN }} - name: build uses: actions/nix/build@main with: logs: true package: iocaine binary-static: runs-on: nixos-latest strategy: matrix: system: - x86_64-linux steps: - name: checkout uses: actions/checkout@v4 - name: setup magic attic cache uses: actions/magic-attic-cache@main with: ATTIC_TOKEN: ${{ secrets.ATTIC_TOKEN }} - name: build uses: actions/nix/build@main with: logs: true package: packages.${{ matrix.system }}.iocaine-static - name: compress the binary uses: actions/nix/develop@main with: run: | zstd result/bin/iocaine -o iocaine-latest.${{ matrix.system }}.zst - name: upload package uses: actions/nix/develop@main with: run: | curl --user :${{ secrets.DOCKER_PASSWORD }} -XDELETE \ https://git.madhouse-project.org/api/packages/algernon/generic/iocaine-binaries/latest curl --user :${{ secrets.DOCKER_PASSWORD }} \ --upload-file iocaine-latest.${{ matrix.system }}.zst \ --fail \ https://git.madhouse-project.org/api/packages/algernon/generic/iocaine-binaries/latest/iocaine-latest.${{ matrix.system }}.zst container: runs-on: nixos-latest steps: - name: checkout uses: actions/checkout@v4 - name: setup magic attic cache uses: actions/magic-attic-cache@main with: ATTIC_TOKEN: ${{ secrets.ATTIC_TOKEN }} - name: build the container image uses: actions/nix/build@main with: logs: true package: container-image - name: load the container image into docker run: | docker load