diff --git a/.gitignore b/.gitignore index 4fba1aea..24b746e7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,8 +10,10 @@ target # Nix artifacts result* -# GitLab CI cache +# GitLab CI artifacts /.gitlab-ci.d +/grapevine-static-aarch64-unknown-linux-musl +/grapevine-static-x86_64-unknown-linux-musl # mdbook artifacts /public diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9460a94e..7e271a82 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -63,6 +63,10 @@ artifacts: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' script: - direnv exec . job artifacts + artifacts: + paths: + - grapevine-static-aarch64-unknown-linux-musl + - grapevine-static-x86_64-unknown-linux-musl pages: stage: deploy diff --git a/bin/job b/bin/job index ca4dccc5..3726f92d 100755 --- a/bin/job +++ b/bin/job @@ -4,6 +4,20 @@ job_artifacts() ( set -euo pipefail nix-build-and-cache packages + + # Subsequent `nix build` calls should be fast because the above line ensures + # the packages have been built already. + + packages=( + static-aarch64-unknown-linux-musl + static-x86_64-unknown-linux-musl + ) + + for x in "${packages[@]}"; do + nix build ".#$x" + cp result/bin/grapevine grapevine-"$x" + chmod u+w grapevine-"$x" + done ) job_ci() (