Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/linux-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04]
os: [ubuntu-22.04, ubuntu-24.04]
build_static: [true, false]
flags: [ADD_CXXFLAGS=-fvisibility=hidden]
download_requirements: [sudo apt install -y -qq gfortran liblapack-dev libmetis-dev libnauty2-dev]
download_requirements: [sudo apt install -y -qq gfortran liblapack-dev libmetis-dev libnauty-dev]
include:
- os: macos-13
build_static: false
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/windows-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@ jobs:
fail-fast: false
matrix:
include: [
{ os: windows-2019, arch: x86_64, msystem: mingw64, debug: true, suffix: "-dbg" },
{ os: windows-2019, arch: x86_64, msystem: mingw64, debug: false, suffix: "" },
{ os: windows-2019, arch: msvc, msystem: mingw64, debug: false, suffix: "-md" },
{ os: windows-2022, arch: x86_64, msystem: mingw64, debug: true, suffix: "-dbg" },
{ os: windows-2025, arch: x86_64, msystem: mingw64, debug: true, suffix: "-dbg" },
{ os: windows-2025, arch: x86_64, msystem: mingw64, debug: false, suffix: "" },
{ os: windows-2022, arch: msvc, msystem: mingw64, debug: false, suffix: "-md" },
{ os: windows-2025, arch: msvc, msystem: mingw64, debug: false, suffix: "-md" },
]
steps:
- name: Checkout source
Expand Down Expand Up @@ -77,12 +78,12 @@ jobs:
- name: Generate package name for msvc
run: |
msvc_version=${VisualStudioVersion%.*}
echo "package_suffix=w64-msvc${msvc_version}${{ matrix.suffix }}" >> $GITHUB_ENV
echo "package_suffix=${{ matrix.os}}-msvc${msvc_version}${{ matrix.suffix }}" >> $GITHUB_ENV
Copy link
Member

Choose a reason for hiding this comment

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

The OS name is specific to Github Actions and I guess it's not really indicating anything about the platform or toolchain. The w64 indicated 64-bit, now the string doesn't really have a meaning aside from just that this is windows. I guess assuming 64-bit across the board is reasonable, but then should we just maybe have win here? Or we could just leave it as w64?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Indeed, I had to add the OS to get unique artefact names, not because of toolchain differences and certainly not to give the impression that one package is for WS 2022 and the other for WS 2025. For regular ci builds I guess this is not such a problem, but this shouldn’t make it into different release artefacts (IMO).
Does this make it too difficult for the release packages?
If so, I can just reduce the matrix and keep only one toolchain/debug combo, not duplicated per OS. I like to keep duplicate combinations per OS exactly to catch unexpected issues like the cstdint/stdint identified for WS2025.
Sure, I will change w64 to win.

Copy link
Member

Choose a reason for hiding this comment

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

Yes, I would keep only one toolchain/debug combo.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The artefact name changes have been reverted (no more OS name), and the build matrix was reduced to ensure the artefact names are still unique. In the revert, I left the old "w64" so didn't change it to "win".

For the "msvc" builds, the Visual Studio version is used in the yml to build the artefact name (package name). For windows-2019, this was VS 2019 (v16), but for windows-2022 and also windows-2025 this is VS 2022 (v17). Therefore, 2022 and 2025 builds with "arch: msvc" will both come out "msvc17". To ensure uniqueness of these artefact names while keeping both 2022 and 2025 builds, I made the 2022 msvc a "debug: true" build.

Same changes pushed to Cbc PR 728.

Once we're happy with the outcome I'll push the same to all other projects. Comments?

shell: msys2 {0}
if: ${{ matrix.arch == 'msvc' }}
- name: Generate package name
run: |
echo "package_suffix=${{ matrix.arch }}-w64-${{ matrix.msystem }}${{ matrix.suffix }}" >> $GITHUB_ENV
echo "package_suffix=${{ matrix.arch }}-${{ matrix.os}}-${{ matrix.msystem }}${{ matrix.suffix }}" >> $GITHUB_ENV
shell: msys2 {0}
if: ${{ matrix.arch != 'msvc' }}
- name: Upload artifact
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/windows-msvs-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ jobs:
# Only os: windows-2022 has Visual Studio 2022 (v17) installed with toolset v143, which is required.
# configuration: "Release" or "Debug", platform: "x86" or "x64". See solution Configuration Manager.
{ os: windows-2022, configuration: "Release", platform: "x64" },
{ os: windows-2025, configuration: "Release", platform: "x64" }
]
steps:
- name: Set up environment variables
Expand Down