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

Github CI/CD: Bump action version from v3 to v4. #362

Merged
merged 1 commit into from
May 21, 2024

Conversation

bscottm
Copy link
Contributor

@bscottm bscottm commented Mar 1, 2024

Github upgraded Node.js from version 16 to version 20; Node.js drives the CI/CD pipelines. Github strongly recommends bumping the actions' version number from "@V3" to "@v4" and produces copious warning messages in the CI/CD "Annotations" pane for each submission.

@@ -23,7 +23,7 @@ jobs:
## macos-10.15: Runner seems to be officially disabled, results in canceled
Copy link
Member

Choose a reason for hiding this comment

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

Is this comment now obsolete?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll take it out. :-)

@@ -11,7 +11,7 @@ jobs:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
Copy link
Member

Choose a reason for hiding this comment

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

Line 26 in build.yml now says ubuntu-latest, does that apply here too?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

cmake-builds.yml produces artifacts, so the idea here is to list out the operating systems for which artifacts are produced. There are two Ubuntu images in the GH image runner collection (one of which is "ubuntu-latest"), so I explicitly spelled out the versions.

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-12, macos-11]
os: [macos-12, macos-13, macos-14]
Copy link
Member

Choose a reason for hiding this comment

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

In the other file you have macos-latest, would that make sense here?

Also, what does it mean to list several OS versions? Does it run on all of them, or just on whichever one (if any) is available?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

See previous comment.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Artifacts, artifacts, artifacts!!!

Copy link
Contributor Author

Choose a reason for hiding this comment

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

BTW: The image name, e.g. "macos-14", appears in the artifact name. So, "-latest" might be awkward.

Copy link
Member

Choose a reason for hiding this comment

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

I understand the difference now, that makes sense. A comment might help.

PS. "Artefact" is the original spelling, still used in Britain and Australia and also how the corresponding word is spelled in several other languages. :-)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Duly noted.

@bscottm
Copy link
Contributor Author

bscottm commented Apr 3, 2024

  • build.yml is just the makefile builds. There are no artifacts produced, so using a -latest image suffices.
  • cmake-builds.yml: This produces a variety of artifacts, so the specific image names specify out the OS es for which binary artifacts are produced.

The two matrices could be congruent, but I don't really see a compelling reason to do so.

- Per Github messages, upgrade checkout@v3 to checkout@v4 due to an
  upgrade to Node.js.

- macos-11 is now a defunct image runner. Homebrew packages either have
  to compile from source or no longer install correctly.

- Update the macos compile matrix. Set CPACK_SUFFIX environment variable
  to indicate macOS hardware platform: macos-14 is M1, whereas macos-12
  and macos-13 are x86_64.

- Added notes with respect to the matrix.strategy runner images. The
  makefile builds use "-latest" because they don't produce artifacts,
  while (*) the CMake builds enumerate the images for which artifacts (+)
  are produced and the runner image's name is part of the artifact.

(*) "Whilst" for the rest of the Anglosphere.
(+) "Artefact" for the rest of the Anglosphere.
@bscottm
Copy link
Contributor Author

bscottm commented Apr 4, 2024

Notes added to build.yml and cmake-builds.yml re: runner image names.

@pkoning2 pkoning2 merged commit c77bb2e into open-simh:master May 21, 2024
19 checks passed
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.

None yet

2 participants