stages: - build variables: GIT_SUBMODULE_STRATEGY: recursive .build_template: &build_template stage: build script: - cargo build --release artifacts: paths: - target/release/setup build_on_arch: <<: *build_template image: archlinux:latest before_script: - pacman -Syu --noconfirm - pacman -S --noconfirm git rustup gcc - rustup default stable - git checkout $CI_COMMIT_SHA build_on_debian: <<: *build_template image: debian:stable before_script: - apt update && apt upgrade -y - apt install -y git cargo - git checkout $CI_COMMIT_SHA build_on_fedora: <<: *build_template image: fedora:latest before_script: - dnf up -y - dnf install -y git cargo - git checkout $CI_COMMIT_SHA