Conduit is a simple, fast and reliable chat server powered by Matrix https://conduit.rs
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.
66 lines
1.6 KiB
66 lines
1.6 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 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 |
|
|
|
docker: |
|
stage: artifacts |
|
image: nixos/nix:2.19.2 |
|
script: |
|
- nix build .#oci-image |
|
|
|
# Make the output less difficult to find |
|
- cp result docker-image.tar.gz |
|
artifacts: |
|
paths: |
|
- docker-image.tar.gz |
|
|
|
debian: |
|
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 . |
|
artifacts: |
|
paths: |
|
- "*.deb" |
|
cache: |
|
key: debian |
|
paths: |
|
- target |
|
- .gitlab-ci.d
|
|
|