mirror of https://github.com/openssl/openssl
Move artifact upload code into the shell script
Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/23551)
This commit is contained in:
parent
f2db70962c
commit
9abcf11696
|
@ -142,7 +142,7 @@ jobs:
|
|||
- name: save artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: "ci@self-hosted"
|
||||
name: "ci@self-hosted-${{ matrix.os }}"
|
||||
path: artifacts/
|
||||
|
||||
minimal:
|
||||
|
|
|
@ -221,3 +221,4 @@ jobs:
|
|||
with:
|
||||
name: "cross-compiles@${{ matrix.platform.arch }}"
|
||||
path: artifacts/
|
||||
if-no-files-found: ignore
|
||||
|
|
|
@ -3,16 +3,38 @@ set -eo pipefail
|
|||
|
||||
cleanup() {
|
||||
# Remove if nothing was generated.
|
||||
find artifacts -type d -empty -delete
|
||||
[ -d artifacts ] && find artifacts -type d -empty -delete
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
# Make a central directory to store all output artifacts of our test run to
|
||||
# avoid having to configure multiple upload-artifacts steps in the workflow
|
||||
# file.
|
||||
OSSL_CI_ARTIFACTS_PATH="artifacts/"
|
||||
if [ -n "${GITHUB_RUN_NUMBER}" ]; then
|
||||
OSSL_CI_ARTIFACTS_PATH="artifacts/github-${GITHUB_JOB}-${GITHUB_RUN_NUMBER}-${GITHUB_RUN_ID}/"
|
||||
fi
|
||||
mkdir -p "$OSSL_CI_ARTIFACTS_PATH"
|
||||
export OSSL_CI_ARTIFACTS_PATH="$(cd "$OSSL_CI_ARTIFACTS_PATH"; pwd)"
|
||||
echo Artifacts path is "$OSSL_CI_ARTIFACTS_PATH"
|
||||
|
||||
# Run the tests. This might fail, but we need to capture artifacts anyway.
|
||||
set +e
|
||||
make test HARNESS_JOBS=${HARNESS_JOBS:-4} "$@"
|
||||
RESULT=$?
|
||||
set -e
|
||||
|
||||
# Move an interesting subset of the test-runs data we want into the artifacts
|
||||
# staging directory.
|
||||
for test_name in quic_multistream; do
|
||||
if [ -d "test-runs/test_${test_name}" ]; then
|
||||
mv "test-runs/test_${test_name}" "$OSSL_CI_ARTIFACTS_PATH/"
|
||||
fi
|
||||
done
|
||||
|
||||
# Log the artifact tree.
|
||||
echo "::group::List of artifact files generated"
|
||||
echo "Test suite exited with $RESULT, artifacts path is $OSSL_CI_ARTIFACTS_PATH"
|
||||
(cd "$OSSL_CI_ARTIFACTS_PATH"; find . -type f | sort)
|
||||
echo "::endgroup::"
|
||||
|
||||
exit $RESULT
|
||||
|
|
|
@ -16,10 +16,10 @@ setup("test_quic_multistream");
|
|||
plan skip_all => "QUIC protocol is not supported by this OpenSSL build"
|
||||
if disabled('quic');
|
||||
|
||||
plan tests => 3;
|
||||
plan tests => 2;
|
||||
|
||||
my $qlog_output;
|
||||
if (!disabled('qlog') && $ENV{OSSL_RUN_CI_TESTS} == "1") {
|
||||
if (!disabled('qlog')) {
|
||||
$qlog_output = result_dir("qlog-output");
|
||||
print "# Writing qlog output to $qlog_output\n";
|
||||
rmtree($qlog_output, { safe => 1 });
|
||||
|
@ -44,18 +44,3 @@ SKIP: {
|
|||
"running qlog verification script");
|
||||
};
|
||||
}
|
||||
|
||||
SKIP: {
|
||||
skip "no qlog", 1 if disabled('qlog');
|
||||
skip "not running CI tests", 1 unless $ENV{OSSL_RUN_CI_TESTS};
|
||||
skip "not running artifacts upload", 1 unless $ENV{OSSL_CI_ARTIFACTS_PATH};
|
||||
|
||||
subtest "copy qlog artifacts to upload directory" => sub {
|
||||
plan tests => 1;
|
||||
|
||||
my $artifacts_path = $ENV{OSSL_CI_ARTIFACTS_PATH};
|
||||
mkpath("${artifacts_path}/quic_multistream_test");
|
||||
ok(run(cmd(["mv", "--", $qlog_output,
|
||||
"${artifacts_path}/quic_multistream_test/"])));
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue