Description
It's sometimes desirable to run the *-build.yaml workflows without uploading artifacts (see "Notes" below).
It should be possible to opt out of artifact uploads in those workflows
Benefits of this work
- allows for projects to use
*-build.yaml workflows to automatically get behavior like "run this test / script on every platform a given RAPIDS version builds on"
Acceptance Criteria
Approach
Add a new input with a name like upload-artifacts which defaults to true, and use that to control this in one of the following ways:
Notes
This issue comes out of a discussion with @bdice about testing in the integration repo.
The integration repo has a test job that's like "try to install the rapids conda package just built in CI, and test that it's installable alongside the latest nightlies of all RAPIDS packages" (code link). We want to run that once per combination of (CUDA version, Python version, CPU architecture, etc.) that RAPIDS supports.
To ensure that matrix coverage, that workflow uses the conda-python-build shared workflow (shared-workflows/.github/workflows/conda-python-build.yaml). That's been working well for a while, but was broken by this GitHub Artifacts work... because now the *-build.yaml workflows unconditionally expect to find artifacts to upload, and fail if none are found.
- uses: actions/upload-artifact@v4
with:
name: ${{ steps.package-name.outputs.RAPIDS_PACKAGE_NAME }}
path: ${{ steps.package-name.outputs.CONDA_OUTPUT_DIR }}
(code link)
See, for example, this run from rapidsai/integration#757
Contents of directory to be uploaded:
ls: cannot access '/tmp/conda-bld-output': No such file or directory
Error: Process completed with exit code 2.
(build link)
Description
It's sometimes desirable to run the
*-build.yamlworkflows without uploading artifacts (see "Notes" below).It should be possible to opt out of artifact uploads in those workflows
Benefits of this work
*-build.yamlworkflows to automatically get behavior like "run this test / script on every platform a given RAPIDS version builds on"Acceptance Criteria
*-build.yamlworkflows try to upload artifacts and fail if none are found*-build.yamlworkflowsintegrationrepo from Remove cuspatial and cuproj from rapids metapackage. integration#757 have been revertedApproach
Add a new input with a name like
upload-artifactswhich defaults totrue, and use that to control this in one of the following ways:if:if-no-files-found:configuration ofactions/upload-artifacts(https://github.com/actions/upload-artifact?tab=readme-ov-file#customization-if-no-files-are-found)Notes
This issue comes out of a discussion with @bdice about testing in the
integrationrepo.The
integrationrepo has a test job that's like "try to install therapidsconda package just built in CI, and test that it's installable alongside the latest nightlies of all RAPIDS packages" (code link). We want to run that once per combination of(CUDA version, Python version, CPU architecture, etc.)that RAPIDS supports.To ensure that matrix coverage, that workflow uses the
conda-python-buildshared workflow (shared-workflows/.github/workflows/conda-python-build.yaml). That's been working well for a while, but was broken by this GitHub Artifacts work... because now the*-build.yamlworkflows unconditionally expect to find artifacts to upload, and fail if none are found.(code link)
See, for example, this run from rapidsai/integration#757
(build link)