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

Refactor recipe build flows #1144

Merged
merged 3 commits into from
Feb 6, 2025
Merged

Refactor recipe build flows #1144

merged 3 commits into from
Feb 6, 2025

Conversation

dbast
Copy link
Contributor

@dbast dbast commented Feb 4, 2025

Refactoring the existing llvm build workflow into one:

  • Merge llvmdev_win_builder.yml + llvmdev_win-64_conda_builder.yml into one to avoid code duplication
  • Add input parameters to be able to select between recipes/platform to build
  • Rename flow to llvmdev_build.yml as it contains nothing specific to windows and the code is just a generic conda package builder
  • Add ${{ matrix.recipe }}-${{ matrix.platform }} to upload name to better differentiate artifacts
  • Remove "x" from bash -elx {0} as that pollutes the Action log due to the implicit source "$CONDA/etc/profile.d/conda.sh calls in every step. Adding set -x explicitly into step code instead.
  • Set run-post: false to avoid setup-miniconda cleaning up the Github Action VM as that is wiped after the run anyways
  • Run the flow if it gets changed in PRs, to see a public verification that the changes are actually working
  • Define concurrency so that repeated pushes to a PR will cancel all previous builds to save resources and have faster feedback.
  • Add support for linux-64, linux-aarch64, osx-64, osx-arm64, win-64 builds via different native runner types
  • With simple DAG: fast (5sec) check job produces a build matrix based on (event = {label, pr}, changed files, manual input). The check job logic is written in Python and can be further extended to influence the DAG.
  • Flow can be triggered by
    • Changes to the workflow
    • Adding a label named "build" to random PRs (only maintainers can do that)
    • Manually via workflow dispatch and selecting the conda-platform + recipe via drop down menu (required merge of PR to be available)
  • Aligned the up/download artifact steps

@dbast dbast marked this pull request as draft February 5, 2025 11:02
@dbast dbast marked this pull request as ready for review February 5, 2025 11:04
@dbast dbast force-pushed the main branch 4 times, most recently from f082bee to 94bafe1 Compare February 5, 2025 13:18
@dbast dbast mentioned this pull request Feb 5, 2025
@dbast
Copy link
Contributor Author

dbast commented Feb 6, 2025

latest triggers in my fork of

the tests currently fail with libmambapy.bindings.specs.ParseError: Found invalid version predicate in "None".

@esc
Copy link
Member

esc commented Feb 6, 2025

The latest test run for llvmlite on windows passed: https://github.com/dbast/llvmlite/actions/runs/13176019487 -- @dbast was missing tags from their fork.

Copy link
Member

@esc esc left a comment

Choose a reason for hiding this comment

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

LGTM this has been tested across various runs. Any other issues to be addressed in subsequent PRs.

@esc esc merged commit e8b5370 into numba:main Feb 6, 2025
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants