Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Address workflow inconsistencies #118

Closed
ajschmidt8 opened this issue Jul 20, 2023 · 5 comments
Closed

Address workflow inconsistencies #118

ajschmidt8 opened this issue Jul 20, 2023 · 5 comments
Assignees

Comments

@ajschmidt8
Copy link
Member

ajschmidt8 commented Jul 20, 2023

There are a lot of inconsistencies in this repository that we should work to address as time permits.

A few that come to mind are:

  • workflows have both .yml and .yaml extensions
  • workflows matrices use different parameter names (e.g. CUDA_VER for conda vs. ctk for wheels)
  • workflows use different methods for generating timestamps (wheels use a wheel-epoch-timestamp job, whereas conda workflows use a gha-tools script that uses gh to retrieve the workflow start time)
  • the build job names in conda and wheel workflows are different (build for conda and wheel-build for wheels)
    • the name property in these build jobs are also inconsistent (it's unset for conda workflows, but set for wheel workflows). this leads to visual differences when viewing the workflows in the browser (see screenshot 1 below)
  • The script used in wheel workflows is indicated by script, whereas the conda workflows use build_script and test_script.

This is a non-exhaustive list.

We should review the workflows for additional differences.

screenshot 1

image

@jameslamb
Copy link
Member

the name property in these build jobs are also inconsistent (it's unset for conda workflows, but set for wheel workflows)

I just discovered this (forgot about this issue) over in #177.

Not having name: set meant that changes that I made to the matrices for some jobs were a bit hard to compare to previous runs, because the names were in a different format.

I think setting name: for all these workflows would be nice... keeping that formatting consistent would allow people developing on RAPIDS repos to quickly scan the list of CI checks at a glance and identify the ones they're looking for.

Something like this:

  tests:
    needs: compute-matrix
    strategy:
      fail-fast: false
      matrix: ${{ fromJSON(needs.compute-matrix.outputs.MATRIX) }}
    name: wheel-build (${{ matrix.CUDA_VER }}, ${{ matrix.PY_VER }}, ${{ matrix.ARCH }}, ${{ matrix.LINUX_VER }})

(exact details TBD, based on what's in the matrix for the particular workflow)

I think that should be a minimally-invasive changes, since as far as I know, we don't use those names in branch protections, but instead use this mechanism:

on:
workflow_call:
jobs:
run:
runs-on: ubuntu-latest
steps:
# This reusable workflow should depend on all other jobs in the calling workflow.
- run: exit 0

@AyodeAwe
Copy link
Contributor

AyodeAwe commented Mar 13, 2024

The script used in wheel workflows is indicated by script, whereas the conda workflows use build_script and test_script.

Addressing this in #191 (comment)

@AyodeAwe
Copy link
Contributor

@AyodeAwe
Copy link
Contributor

Second shared-workflows PR: #193

@AyodeAwe
Copy link
Contributor

AyodeAwe commented Mar 20, 2024

All the inconsistencies highlighted in this issue so far have been fixed. I will now close the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants