diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0f93302e..1813c8c8 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,33 +8,37 @@ variables: TERM: ansi before_script: - # Enable nix-command and flakes - - if command -v nix > /dev/null; then echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf; fi + - | + if command -v nix > /dev/null; then + # Enable nix-command and flakes + echo "experimental-features = nix-command flakes" >> /etc/nix/nix.conf - # Disable IFD, to ensure we are able to build without it - - if command -v nix > /dev/null; then echo "allow-import-from-derivation = false" >> /etc/nix/nix.conf; fi + # Disable IFD, to ensure we are able to build without it + echo "allow-import-from-derivation = false" >> /etc/nix/nix.conf - # Add our own binary cache - - if command -v nix > /dev/null && [ -n "$ATTIC_ENDPOINT" ] && [ -n "$ATTIC_CACHE" ]; then echo "extra-substituters = $ATTIC_ENDPOINT/$ATTIC_CACHE" >> /etc/nix/nix.conf; fi - - if command -v nix > /dev/null && [ -n "$ATTIC_PUBLIC_KEY" ]; then echo "extra-trusted-public-keys = $ATTIC_PUBLIC_KEY" >> /etc/nix/nix.conf; fi + # Add crane binary cache + echo "extra-substituters = https://crane.cachix.org" >> /etc/nix/nix.conf + echo "extra-trusted-public-keys = crane.cachix.org-1:8Scfpmn9w+hGdXH/Q9tTLiYAE/2dnJYRJP7kl80GuRk=" >> /etc/nix/nix.conf - # Add crane binary cache - - if command -v nix > /dev/null; then echo "extra-substituters = https://crane.cachix.org" >> /etc/nix/nix.conf; fi - - if command -v nix > /dev/null; then echo "extra-trusted-public-keys = crane.cachix.org-1:8Scfpmn9w+hGdXH/Q9tTLiYAE/2dnJYRJP7kl80GuRk=" >> /etc/nix/nix.conf; fi + # Add nix-community binary cache + echo "extra-substituters = https://nix-community.cachix.org" >> /etc/nix/nix.conf + echo "extra-trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" >> /etc/nix/nix.conf - # Add nix-community binary cache - - if command -v nix > /dev/null; then echo "extra-substituters = https://nix-community.cachix.org" >> /etc/nix/nix.conf; fi - - if command -v nix > /dev/null; then echo "extra-trusted-public-keys = nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" >> /etc/nix/nix.conf; fi + # Add our own binary cache + if [ -n "$ATTIC_ENDPOINT" ] && [ -n "$ATTIC_CACHE" ] && [ -n "$ATTIC_PUBLIC_KEY" ]; then + echo "extra-substituters = $ATTIC_ENDPOINT/$ATTIC_CACHE" >> /etc/nix/nix.conf + echo "extra-trusted-public-keys = $ATTIC_PUBLIC_KEY" >> /etc/nix/nix.conf + fi - # Install direnv - - if command -v nix > /dev/null; then nix profile install --impure --inputs-from . nixpkgs#direnv; fi + # Install direnv + nix profile install --impure --inputs-from . nixpkgs#direnv - # Allow .envrc - - if command -v nix > /dev/null; then direnv allow; fi - - # Set CARGO_HOME to a cacheable path - - export CARGO_HOME="$(git rev-parse --show-toplevel)/.gitlab-ci.d/cargo" + # Allow .envrc + direnv allow + fi + # Set CARGO_HOME to a cacheable path + export CARGO_HOME="$(git rev-parse --show-toplevel)/.gitlab-ci.d/cargo" cache-ci-deps: stage: ci