diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 309b77e1..88b7ff90 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -25,6 +25,14 @@ cargo-test: script: - cargo test --locked +fetch-changed: + image: "rust:trixie" + stage: test + script: + - | + export PATH="$HOME/.cargo/bin:$PATH" PODMAN_BUILD=0 SKIP_CHECK_TOOLS=1 && + ./scripts/fetch-changed.sh + img: image: "redoxos/redox-base-x86_64" stage: test diff --git a/scripts/fetch-changed.sh b/scripts/fetch-changed.sh new file mode 100755 index 00000000..7e0f956a --- /dev/null +++ b/scripts/fetch-changed.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -e + +git fetch origin master +packages="" +for toml in $(git diff --name-only origin/master | grep '/recipe.toml$' | sort | uniq) +do + package="$(basename "$(dirname "${toml}")")" + if [ -n "${packages}" ] + then + packages="${packages}," + fi + packages="${packages}${package}" +done +if [ -n "${packages}" ] +then + make f."${packages}" +else + echo "No recipe.toml changes found" +fi + +