Skip to content

Make artifact uploads optional in build workflows #336

@jameslamb

Description

@jameslamb

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)

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions