--- # Format Ref: https://cirrus-ci.org/guide/writing-tasks/ # Main collection of env. vars to set for all tasks and scripts. env: # Actual|intended branch for this run DEST_BRANCH: "main" # The default is 'sh' if unspecified CIRRUS_SHELL: "/bin/bash" # Location where source repo. will be cloned CIRRUS_WORKING_DIR: "/var/tmp/netavark" # Rust package cache also lives here CARGO_HOME: "/var/cache/cargo" # Rust compiler output lives here (see Makefile) CARGO_TARGET_DIR: "$CIRRUS_WORKING_DIR/targets" # Save a little typing (path relative to $CIRRUS_WORKING_DIR) SCRIPT_BASE: "./contrib/cirrus" FEDORA_NAME: "fedora-38" IMAGE_SUFFIX: "c20230517t144652z-f38f37d12" FEDORA_NETAVARK_IMAGE: "fedora-netavark-${IMAGE_SUFFIX}" AARDVARK_DNS_BRANCH: "main" AARDVARK_DNS_URL: "https://api.cirrus-ci.com/v1/artifact/github/containers/aardvark-dns/success/binary.zip?branch=${AARDVARK_DNS_BRANCH}" FEDORA_NETAVARK_AARCH64_AMI: "fedora-netavark-aws-arm64-${IMAGE_SUFFIX}" EC2_INST_TYPE: "t4g.xlarge" gcp_credentials: ENCRYPTED[d6efdb7d6d4c61e3831df2193ca6348bb02f26cd931695f69d41930b1965f7dab72a838ca0902f6ed8cde66c7deddae2] aws_credentials: ENCRYPTED[36b3e82f72ec2c909235b69d88b835a09e230aa289e2925d949b0dc4c813c1b468655aabb05edf3f7dcfed430c320b87] build_task: alias: "build" # Compiling is very CPU intensive, make it chooch quicker for this task only gce_instance: &standard_build_gce_x86_64 image_project: "libpod-218412" zone: "us-central1-c" disk: 200 # GB, do not set <200 per gcloud warning re: I/O performance cpu: 8 memory: "8Gb" image_name: "${FEDORA_NETAVARK_IMAGE}" cargo_cache: &cargo_cache # Populating this cache depends on execution of setup.sh, and runner.sh # to builds of all release, debug, plus unit-tests. folder: "$CARGO_HOME" # Cirrus-CI will automatically store separate caches for branches vs PRs. # We use the branch-name here mainly to distinguish PR-level caches in # order to properly support backport-PRs to release branches. Otherwise # all PRs & branches will share caches with other PRs and branches # for a given $DEST_BRANCH and vX value. Adjust vX if cache schema # changes. fingerprint_script: echo -e "cargo_v3_${DEST_BRANCH}_amd64\n---\n$(- netavark netavark.debug netavark.info netavark.aarch64-unknown-linux-gnu netavark.debug.aarch64-unknown-linux-gnu netavark.info.aarch64-unknown-linux-gnu clone_script: *noop bin_cache: *ro_bin_cache # The paths used for uploaded artifacts are relative here and in Cirrus script: - set -x - curl --fail --location -O --url ${API_URL_BASE}/build_aarch64/armbinary.zip - unzip armbinary.zip - rm -f armbinary.zip - mv bin/* ./ - rm -rf bin artifacts_test_script: # Other CI systems depend on all files being present - ls -la # If there's a missing file, show what it was in the output - for fn in $EXP_BINS; do [[ -r "$(echo $fn|tee /dev/stderr)" ]] || exit 1; done # Upload tested binary for consumption downstream # https://cirrus-ci.org/guide/writing-tasks/#artifacts-instruction binary_artifacts: path: ./*netavark*