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

Add dev release using a reusable workflow #9553

Merged
merged 1 commit into from
Feb 29, 2024

Conversation

MonicaOlejniczak
Copy link
Contributor

@MonicaOlejniczak MonicaOlejniczak commented Feb 29, 2024

↪️ Pull Request

These changes introduce a new dev release workflow that can be manually triggered in Github Actions. It aims to give contributors a way to validate changes not yet on the main branch.

The dev-release workflow calls a reusable release workflow that performs the majority of the work, and will soon begin to replace the tag-release and nightly-release workflows in the same way. Other additions include:

  • Merge build-apple-silicon into the build job (now renamed to build-macos-windows)
  • Remove JEMALLOC_SYS_WITH_LG_PAGE that existed in build-apple-silicon as the underlying issue should be fixed here
  • Add Rust caching to non-dockerized jobs
    • aarch64-apple-darwin
    • macos-latest and windows-latest (this will match the CI cache names, though I did not validate whether they'll get used or if it breaches Githubs cache isolation)
    • arm-unknown-linux-gnueabihf
    • aarch64-unknown-linux-gnu

💻 Examples

Observe the successful workflow build here

🚨 Test instructions

Test on your own branch by adding a push trigger with your branch name to dev-release, as you cannot manually trigger an workflow until it is on the main branch

Copy link
Contributor

@mattcompiles mattcompiles left a comment

Choose a reason for hiding this comment

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

Awesome work 👏 🍻

@marcins
Copy link
Contributor

marcins commented Feb 29, 2024

Add Rust caching to non-dockerized jobs

Which jobs are dockerized, and is it just a limitation of GH Actions that you can't do the caching for those jobs? Does that have any material impact on timings?

Copy link
Contributor

@marcins marcins left a comment

Choose a reason for hiding this comment

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

Nice work!

@MonicaOlejniczak
Copy link
Contributor Author

@marcins I read that caching is not very effective for docker containers in one of the actions documentation, but did not test it out to confirm. I can verify the behaviour as a follow up, but also am wary of blowing up the small cache size in Github.

@MonicaOlejniczak MonicaOlejniczak merged commit 2e76cc1 into v2 Feb 29, 2024
14 of 16 checks passed
@devongovett
Copy link
Member

devongovett commented Feb 29, 2024

FYI I think you still need JEMALLOC_SYS_WITH_LG_PAGE. If you try to require the built binary on an Apple Silicon Mac you'll get the following error:

> require('./parcel-node-bindings.darwin-arm64.node')
<jemalloc>: Unsupported system page size
memory allocation of 216 bytes failed
zsh: abort      node

@MonicaOlejniczak
Copy link
Contributor Author

@devongovett Okay, guess I'll find out soon enough! It's easy enough to add back in

@MonicaOlejniczak MonicaOlejniczak deleted the molejniczak/dev-releases branch March 6, 2024 12:50
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

Successfully merging this pull request may close these issues.

4 participants