## 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/**' 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 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-static - name: compress the binary uses: actions/nix/develop@main with: run: | zstd result/bin/iocaine - name: determine the version uses: actions/nix/develop@main id: ver with: run: | echo "ver=$(cargo info -q iocaine | grep "^version:" | cut -d " " -f 2)" >>"${GITHUB_OUTPUT}" - 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/${{ steps.ver.outputs.ver }} curl --user :${{ secrets.DOCKER_PASSWORD }} \ --upload-file result/bin/iocaine.zstd \ https://git.madhouse-project.org/api/packages/algernon/generic/iocaine/${{ steps.ver.outputs.ver }}/iocaine.zstd 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