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

Migrate to Node 20, clean up workflows #2902

Merged
merged 50 commits into from
Aug 25, 2024
Merged

Conversation

dead-claudia
Copy link
Member

@dead-claudia dead-claudia commented Aug 25, 2024

Note: ignore the commits. It's a mess. Just read the combined diff - the PR itself is the standalone unit. I plan to squash this as I merge anyways.

Description

Update all the build scripts to use Node 20 and clean them up.

I centralized the core setup logic to a single local action, to bring a few benefits:

  1. Updating the version used by everything is as simple as editing two files now: .github/workflows/test.yml for the tests and .github/actions/setup/action.yml for the rest.
  2. It strips out common boilerplate used by almost every single workflow job.

I also joined all the test workflows into just one workflow and revised the next push to just call it.

And finally, I fixed the next push process to condition the prerelease on a successful test run.

Motivation and Context

  • Workflows are all warning about use of Node 16. Migrating to Node 20 fixes this.
  • The prerelease logic wasn't correctly blocked on lint and test failures.
  • The test code ran unnecessarily after lint errors.

This is unrelated to #2898 and does not address it.

How Has This Been Tested?

It's automation, so the creation of this PR is intended to do the testing.

For the other changes, the worst that could happen is some workflow errors that block (pre-)releases and a workflow failure indicator next to the repo. So in the spirit of Leeroy Jenkins, I say we just go for it.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation change

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • I have updated docs/changelog.md

@dead-claudia dead-claudia marked this pull request as draft August 25, 2024 20:50
@dead-claudia dead-claudia marked this pull request as ready for review August 25, 2024 20:54
@dead-claudia dead-claudia marked this pull request as draft August 25, 2024 20:55
@dead-claudia dead-claudia marked this pull request as ready for review August 25, 2024 20:59
@dead-claudia dead-claudia merged commit 9d9e0e7 into next Aug 25, 2024
6 of 7 checks passed
@dead-claudia dead-claudia deleted the dead-claudia-patch-1 branch August 25, 2024 21:58
@JAForbes JAForbes mentioned this pull request Sep 17, 2024
dead-claudia added a commit to dead-claudia/mithril.js that referenced this pull request Sep 23, 2024
Tests still appear to fail per MithrilJS#2898. Unfortunately, I need actions/runner#2347 to ignore the test failures properly - I need them to be warnings, not hard errors.
This was referenced Sep 23, 2024
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.

1 participant