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

split up PR and nightly/release CI #169

Merged
merged 5 commits into from
Oct 23, 2024
Merged

Conversation

jameslamb
Copy link
Member

@jameslamb jameslamb commented Oct 21, 2024

Contribute sto #115

Splits up CI into 2 different workflows:

This is a step towards having workflows that automatically publish to the legate channel. In such builds, it's not necessary to re-run tests.

Notes for Reviewers

I'll leave notes inline on the diff explaining the specific design choices here.

How to test this

When this PR is merged into main, we should see a new run of this build workflow. In its logs, we should see package builds, docs builds, and docs publishing, but no tests.

The version in the top corner of https://rapidsai.github.io/legate-boost/ should match the version number from the corresponding package build in that same run.

Screenshot 2024-10-21 at 2 04 04 PM

After that, I'm going to put up another PR that wires up the publishing to the legate conda channel.

Helpful References

See "Reusing workflows" (GitHub docs) for explanation of the syntax.

The structure and naming I'm using is trying to follow RAPIDS conventions... but unlike the non-Legate RAPIDS projects, which get all their workflow definitions from a central public repo (https://github.com/rapidsai/shared-workflows), this is proposing checking those workflow files in directly here.

Maybe in the future, we could have a similar repo of shared workflows for the various RAPIDS legate-* projects. Let's defer that for now and just focus on getting legate-boost working as an example.

@jameslamb jameslamb added improvement Improves an existing functionality non-breaking Introduces a non-breaking change labels Oct 21, 2024
@@ -5,17 +5,10 @@ concurrency:
cancel-in-progress: true

on:
# run on pushes to certain branches (or PRs targeting those branches)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realized that the "or PRs targeting those branches" part of this was wrong. That'd only be true with this very-similar-looking construct:

on:
  pull_request:
    branches:
      - main

(example from numpy)

But here in the rapidsai or, we avoid that by having the copy-pr-bot copy PR branches to branches named pull-request/, and only using on.push: types of conditions.

tags:
- v[0-9][0-9].[0-9][0-9].[0-9][0-9]
# run by clicking buttons in the GitHub Actions UI
workflow_dispatch:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With these removals, this workflow will now only run on pull-request/ branches, and therefore only on PRs. The new file build.yaml (matching naming conventions from the rest of RAPIDS) will be responsible for running on merges to main or pushes of new tags.

type: string
description: "relative path to a script that builds conda packages"

env:
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

everything below here is identical to what was in github-actions.yml, except that the literal ci/build_python.sh has been replaced by ${{ input.script }}, so that we have the option to use different scripts in the future.

@jameslamb jameslamb changed the title WIP: [DO NOT MERGE] split up PR and nightly/release CI split up PR and nightly/release CI Oct 21, 2024
@jameslamb jameslamb marked this pull request as ready for review October 21, 2024 19:11
@jameslamb jameslamb merged commit 984baa7 into rapidsai:main Oct 23, 2024
9 checks passed
@jameslamb jameslamb deleted the builds branch October 23, 2024 20:28
@jameslamb
Copy link
Member Author

🎉 this worked!

Merging this triggered this job: https://github.com/rapidsai/legate-boost/actions/runs/11487624682/job/31972594782

Notice:

  • only builds, no tests (14m total)
Screenshot 2024-10-23 at 3 49 49 PM
  • packages had the expected version
BUILD START: ['legate-boost-24.06.01dev7-cuda12_py310_0_gpu.conda']
  • docs were built and deployed, with that same version
Screenshot 2024-10-23 at 3 44 31 PM

https://rapidsai.github.io/legate-boost/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improves an existing functionality non-breaking Introduces a non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants