mirror of https://gitlab.com/famedly/conduit.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.3 KiB
74 lines
2.3 KiB
stages: |
|
- ci |
|
- artifacts |
|
|
|
variables: |
|
# Makes some things print in color |
|
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 |
|
|
|
# Add our own binary cache |
|
- if command -v nix > /dev/null; then echo "extra-substituters = https://nix.computer.surgery/conduit" >> /etc/nix/nix.conf; fi |
|
- if command -v nix > /dev/null; then echo "extra-trusted-public-keys = conduit:ZGAf6P6LhNvnoJJ3Me3PRg7tlLSrPxcQ2RiE5LIppjo=" >> /etc/nix/nix.conf; fi |
|
|
|
# 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 |
|
- 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 |
|
|
|
# Install direnv and nix-direnv |
|
- if command -v nix > /dev/null; then nix-env -iA nixpkgs.direnv nixpkgs.nix-direnv; fi |
|
|
|
# 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" |
|
|
|
ci: |
|
stage: ci |
|
image: nixos/nix:2.19.2 |
|
script: |
|
- direnv exec . engage |
|
cache: |
|
key: nix |
|
paths: |
|
- target |
|
- .gitlab-ci.d |
|
|
|
oci-image:x86_64-unknown-linux-gnu: |
|
stage: artifacts |
|
image: nixos/nix:2.19.2 |
|
script: |
|
- nix build .#oci-image |
|
|
|
# Make the output less difficult to find |
|
- cp result oci-image.tar.gz |
|
artifacts: |
|
paths: |
|
- oci-image.tar.gz |
|
|
|
debian:x86_64-unknown-linux-gnu: |
|
stage: artifacts |
|
image: rust:1.70.0 |
|
script: |
|
- apt-get update && apt-get install -y --no-install-recommends libclang-dev |
|
- cargo install cargo-deb |
|
- cargo deb |
|
|
|
# Make the output less difficult to find |
|
- mv target/debian/*.deb conduit.deb |
|
artifacts: |
|
paths: |
|
- conduit.deb |
|
cache: |
|
key: debian |
|
paths: |
|
- target |
|
- .gitlab-ci.d
|
|
|