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

Update Linux build matrix and Readme on supported OSes and Libraries #5991

Merged
merged 6 commits into from
Mar 12, 2023

Conversation

dyfer
Copy link
Member

@dyfer dyfer commented Mar 9, 2023

Purpose and Motivation

This is a GitHub Actions maintenance PR, combined with documentation update.

I updated README.md to reflect, more or less, our platform support guarantees, based on the build environment in GitHub Actions and information I came across on the forum and in the PRs in the last few months, with the exception of the following:

  • MSVC version: there might be issues with MSVC 2022; in any case, I feel there should be a separate PR that updates the build environment to MSVC 2022, at which point we should update the Readme
  • Qt version: I think this should be updated once we migrate to Qt6
  • "Tested with": we are testing with OS version outside of the "guaranteed support" window; I am planning to provide a separate PR to update that

Notes on supported GCC and Clang versions:

  • we officially support last 4 versions, so I removed most older versions to make the build matrix smaller
  • still, I left the oldest compiler in the matrix, so that we can see when we actually have to break compatibility with older toolchains
    • I've swaped clang6.0 with clang7 since there seemed to be an issue getting libstd++ for clang6.0 on Ubuntu 20.04 (and Ubuntu 18.04 image is deprecated).

I've also made one (possibly?) considerable change to the GHA workflow: I made it automatically run weekly, on top of the previous behavior (run on push, PR, tags etc). This will happen on the default develop branch. Now that we merge things into develop less frequently, there's often the case where it takes more than one week between builds on develop, which makes the caches expire. New PRs and pushes will use cache from the default branch, but if it expires, it's not available. This causes longer build times for new pushes and PRs after a break. With this addition, hopefully, we'll always have an up-to-date cache so that new PRs will be built quicker, even in periods of low activity for the project. The downside is that we add this automatic weekly build, which is otherwise unnecessary, except for renewing the cache.

Types of changes

  • Documentation
  • Maintenance

To-do list

  • Code is tested
  • All tests are passing
  • Updated documentation
  • This PR is ready for review

@dyfer dyfer added comp: project docs READMEs, info on contributing, etc. comp: CI/CD continuous integration and deployment (github actions, etc.) labels Mar 9, 2023
this adds clearing of previously extracted files, which is needed to avoid build/verify issues when an updated library is being installed and the previous version was downloaded from cache
@dyfer dyfer force-pushed the topic/update-ubuntu-build-matrix branch from 03d4cb7 to de00c9a Compare March 9, 2023 23:58
@dyfer dyfer merged commit 5f2d501 into supercollider:develop Mar 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp: CI/CD continuous integration and deployment (github actions, etc.) comp: project docs READMEs, info on contributing, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants