Run coverage when test-coverage.sh is modified
This commit is contained in:
30
ci/affects-files.sh
Executable file
30
ci/affects-files.sh
Executable file
@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Checks if a CI build affects one or more path patterns. Each command-line
|
||||||
|
# argument is checked in series.
|
||||||
|
#
|
||||||
|
# Bash regular expresses are permitted in the pattern, and the colon (':')
|
||||||
|
# character is guaranteed to appear before and after each affected file (and thus
|
||||||
|
# can be used as an anchor), eg:
|
||||||
|
# .rs: -- any file or directory ending in .rs
|
||||||
|
# .rs -- also matches foo.rs.bar
|
||||||
|
# :snap/ -- anything under the snap/ subdirectory
|
||||||
|
# snap/ -- also matches foo/snap/
|
||||||
|
#
|
||||||
|
|
||||||
|
if ci/is-pr.sh; then
|
||||||
|
affectedFiles="$(buildkite-agent meta-data get affected_files)"
|
||||||
|
echo "Affected files in this PR: $affectedFiles"
|
||||||
|
|
||||||
|
for pattern in "$@"; do
|
||||||
|
if [[ ":$affectedFiles:" =~ $pattern ]]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# affected_files metadata is not currently available for non-PR builds, so assume
|
||||||
|
# the worse (affected)
|
||||||
|
exit 0
|
@ -29,6 +29,7 @@ steps:
|
|||||||
- command: "ci/pr-snap.sh"
|
- command: "ci/pr-snap.sh"
|
||||||
timeout_in_minutes: 20
|
timeout_in_minutes: 20
|
||||||
name: "snap"
|
name: "snap"
|
||||||
|
branches: "pull/*"
|
||||||
- wait
|
- wait
|
||||||
- trigger: "solana-secondary"
|
- trigger: "solana-secondary"
|
||||||
branches: "!pull/*"
|
branches: "!pull/*"
|
||||||
|
@ -4,16 +4,11 @@ set -e
|
|||||||
# Only run snap.sh for pull requests that modify files under /snap
|
# Only run snap.sh for pull requests that modify files under /snap
|
||||||
#
|
#
|
||||||
|
|
||||||
cd "$(dirname "$0")"
|
cd "$(dirname "$0")"/..
|
||||||
|
|
||||||
if ./is-pr.sh; then
|
ci/affects-files.sh :snap/ || {
|
||||||
affected_files="$(buildkite-agent meta-data get affected_files)"
|
|
||||||
echo "Affected files in this PR: $affected_files"
|
|
||||||
if [[ ! ":$affected_files:" =~ :snap/ ]]; then
|
|
||||||
echo "Skipping snap build as no files under /snap were modified"
|
echo "Skipping snap build as no files under /snap were modified"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
}
|
||||||
exec ./snap.sh
|
|
||||||
else
|
exec ci/snap.sh
|
||||||
echo "Skipping snap build as this is not a pull request"
|
|
||||||
fi
|
|
||||||
|
@ -9,15 +9,15 @@ annotate() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ci/is-pr.sh; then
|
ci/affects-files.sh \
|
||||||
affectedFiles="$(buildkite-agent meta-data get affected_files)"
|
.rs: \
|
||||||
echo "Affected files in this PR: $affectedFiles"
|
ci/test-coverage.sh: \
|
||||||
if [[ ! ":$affectedFiles:" =~ \.rs: ]]; then
|
scripts/coverage.sh: \
|
||||||
|
|| {
|
||||||
annotate --style info --context coverage-info \
|
annotate --style info --context coverage-info \
|
||||||
"Coverage skipped as no .rs files were modified"
|
"Coverage skipped as no .rs files were modified"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
}
|
||||||
fi
|
|
||||||
|
|
||||||
source ci/upload-ci-artifact.sh
|
source ci/upload-ci-artifact.sh
|
||||||
ci/version-check-with-upgrade.sh nightly
|
ci/version-check-with-upgrade.sh nightly
|
||||||
|
Reference in New Issue
Block a user