Skip to content

Convert the manual-test workflow to allow specifying which runner OS to use #225

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

Merged
merged 5 commits into from
May 3, 2025

Conversation

dscho
Copy link
Collaborator

@dscho dscho commented May 2, 2025

As I realized in #224 (comment), the manual-test workflow, which is currently set up as a matrix job that runs one job for every available runner OS (and then a couple more Docker containers), is not very useful as-is. Nobody logs into a dozen tmate sessions concurrently to do anything reasonable.

What is typically needed is a single runner OS, or Docker container.

So let's switch this to a workflow where the user specified via workflow_dispatch input what exactly they want to run.

While at it, add a script to update the list of available runner images by scraping the official runner-images README. I considered adding a scheduled GitHub workflow to update this on a regular basis, but unfortunately git push is not permitted with the regular Actions GITHUB_TOKEN when it updates anything inside .github/workflows/. So this will have to be done manually.

As a doozy, this PR also adds support for running manual-test on the shiny new public preview of the GitHub-hosted Windows/ARM64 runners (where it is a bit tricky to run action-tmate because the MSYS2 installation is simply not where it is expected, and even msys2/setup-msys2 expects it to be there and needs to be cajoledconvinced to install it).

dscho added 5 commits May 2, 2025 10:59
With this change, the `manual-test` workflow accepts user input as to
what runner OS or Docker image to run on.

It is more useful this way, too, as I never encountered a situation
where I would want to run this Action on multiple runners, having to log
in concurrently into multiple tmate sessions, and I doubt that anyone
else has encountered that situation, either.

Signed-off-by: Johannes Schindelin <[email protected]>
As I had suggested in
mxschmitt#224 (comment),
it would be good to have some sort of automation to update the
ever-changing list of runner pools that are supported by GitHub.

Signed-off-by: Johannes Schindelin <[email protected]>
Brought to you by the new `update-manual-test.js` script.

Signed-off-by: Johannes Schindelin <[email protected]>
For a little more than two weeks, as of time of writing, there are
GitHub-hosted Windows/ARM64 runners (at long last!), announced here:
https://github.blog/changelog/2025-04-14-windows-arm64-hosted-runners-now-available-in-public-preview/

These are not yet listed in the `runner-images` README, therefore we
want to add them manually.

Signed-off-by: Johannes Schindelin <[email protected]>
The Windows/ARM64 runners that are currently in public preview do not
have MSYS2 installed by default, so let's do that.

Signed-off-by: Johannes Schindelin <[email protected]>
@dscho dscho self-assigned this May 2, 2025
@dscho dscho requested a review from mxschmitt as a code owner May 2, 2025 10:37
Copy link
Owner

@mxschmitt mxschmitt left a comment

Choose a reason for hiding this comment

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

nice!

@dscho dscho merged commit c02a7a6 into mxschmitt:master May 3, 2025
1 check passed
@dscho dscho deleted the manual-test-with-choice branch May 4, 2025 07:56
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.

2 participants