From c54ad29293d1d7f43a02bf887df5ccf2459910eb Mon Sep 17 00:00:00 2001 From: Allison Piper Date: Thu, 30 Jan 2025 19:32:14 +0000 Subject: [PATCH] [DO NOT MERGE] Testing sccache [skip-rapids][skip-matx][skip-vdc][skip-docs] --- .../actions/workflow-run-job-linux/action.yml | 51 ++++++++++++------- ci/matrix.yaml | 1 + 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/.github/actions/workflow-run-job-linux/action.yml b/.github/actions/workflow-run-job-linux/action.yml index 4ee567f1b30..bf3e91762be 100644 --- a/.github/actions/workflow-run-job-linux/action.yml +++ b/.github/actions/workflow-run-job-linux/action.yml @@ -87,13 +87,16 @@ runs: ln -s "$(pwd)" "${{github.workspace}}" cd "${{github.workspace}}" - cat <<"EOF" > ci.sh + mkdir artifacts + + cat <<'EOF' > ci.sh #! /usr/bin/env bash - set -eo pipefail + set -euo pipefail echo -e "\e[1;34mRunning as '$(whoami)' user in $(pwd):\e[0m" echo -e "\e[1;34m${COMMAND}\e[0m" - eval "${COMMAND}" || exit_code=$? - if [ ! -z "$exit_code" ]; then + eval "${COMMAND}" + exit_code=$? + if [[ "$exit_code" -ne 0 ]]; then echo -e "::group::️❗ \e[1;31mInstructions to Reproduce CI Failure Locally\e[0m" echo "::error:: To replicate this failure locally, follow the steps below:" echo "1. Clone the repository, and navigate to the correct branch and commit:" @@ -107,8 +110,32 @@ runs: echo " - Continuous Integration (CI) Overview: https://github.com/NVIDIA/cccl/blob/main/ci-overview.md" exit $exit_code fi + + # Copy any artifacts we want to preserve out of the container: + set -x + + results_dir=/artifacts + + # Finds a matching file in the repo directory and copies it to the results directory. + find_and_copy() { + filename="$1" + filepath="$(find . -name "${filename}" -print -quit)" + if [[ -z "$filepath" ]]; then + echo "${filename} does not exist in repo directory." + return 1 + fi + cp -v "$filepath" "$results_dir" + } + + find_and_copy "sccache_stats.json" || : + + ls -l "$results_dir" EOF + echo "::group::ci.sh" + cat ci.sh + echo "::endgroup::" + chmod +x ci.sh mkdir "$RUNNER_TEMP/.aws"; @@ -167,6 +194,7 @@ runs: --env "GITHUB_REPOSITORY=$GITHUB_REPOSITORY" \ --env "GITHUB_STEP_SUMMARY=$GITHUB_STEP_SUMMARY" \ --volume "${{github.workspace}}/ci.sh:/ci.sh" \ + --volume "${{github.workspace}}/artifacts:/artifacts" \ --volume "$(host_path "$RUNNER_TEMP")/.aws:/root/.aws" \ --volume "$(dirname "$(dirname "${{github.workspace}}")"):/__w" \ -- /ci.sh @@ -179,19 +207,8 @@ runs: mkdir -p "$result_dir" touch "$result_dir/success" - - # Finds a matching file in the repo directory and copies it to the results directory. - find_and_copy() { - filename="$1" - filepath="$(find ${{github.event.repository.name}} -name "${filename}" -print -quit)" - if [[ -z "$filepath" ]]; then - echo "${filename} does not exist in repo directory." - return 1 - fi - cp -v "$filepath" "$result_dir" - } - - find_and_copy "sccache_stats.json" || true # Ignore failures + echo "ls artifacts:" && ls -l artifacts + cp -rv artifacts/* "$result_dir" echo "::group::Job artifacts" tree "$result_dir" diff --git a/ci/matrix.yaml b/ci/matrix.yaml index 5ec715fb59b..66c9d31e48a 100644 --- a/ci/matrix.yaml +++ b/ci/matrix.yaml @@ -8,6 +8,7 @@ workflows: # - {jobs: ['test'], project: 'thrust', std: 17, ctk: 'curr', cxx: ['gcc12', 'clang16']} # override: + - {jobs: ['test_cpu'], project: 'cub', std: 'max', cxx: 'gcc'} pull_request: # Old CTK/compiler