ci: update container versions, move 3 variants from 2022 to Ubuntu#5119
ci: update container versions, move 3 variants from 2022 to Ubuntu#5119lgritz merged 2 commits intoAcademySoftwareFoundation:mainfrom
Conversation
TL;DR:
* Bump ASWF containers to the latest versions for their years.
* Move the "oldest" and "hobbled" tests off the 2022 containers
entirely, do as close as possible to equivalent on Unbuntu.
Detailed explanation follows:
First of all, bump to the latest ASWF docker containers for each year.
We had been locking down, but hadn't bumped to the latest for a while.
(Exception: leave the sanitizer test where it is -- the newer
containers have additional checks that are catching UB that I am
tracking down separately.)
Also, we are trying to reduce the surface area of the CentOS 7-based 2022
aswf-docker containers, which are getting long in the tooth, cannot
upgrade to the latest "actions" (because of a tricky interplay between
runner configuration, node version the actions require, and glibc on
the old containers), and may have a limited time that they will
continue working.
In most film studios, CentOS is long gone or taking its last breaths,
so being able to support and test on 2022 era dependencies and OS
distros is of dwindling relevance. We do, however, want to keep
testing versus the oldest supported versions we can muster for many
major dependencies.
So to this end, this PR also does the following:
* Move three tests from running in the 2022 containers to just running
on bare Ubutu and by hook or by crook using the right dependencies:
- the "oldest" versions we claim to support for as much of the
toolchain toolchain and dependencies as is easily achievable,
built with gcc
- and the same, built with clang
- the "hobbled" test, which is similar to the "oldest" test but with
as many of the optional dependencies missing or disabled, to make
sure we really do build with only required dependencies (this also
is the test build for no SIMD use)
* Keep two last tests running on 2022 containers, these are only for
the purpose of testing "pure" CentOS VFX Platform 2022 compliance
for just a bit longer.
* A few minor related touch-ups necessary to force some older
dependencies on the bare Ubuntu runner.
Signed-off-by: Larry Gritz <lg@larrygritz.com>
wip
Signed-off-by: Larry Gritz <lg@larrygritz.com>
jfpanisset
left a comment
There was a problem hiding this comment.
This seems reasonable, see my comments about possibly avoiding the third party GHA dependencies if desired.
.github/workflows/build-steps.yml
Outdated
| restore-keys: ${{inputs.nametag}} | ||
| - name: Install gcc | ||
| if: inputs.gcc_action_ver != '' | ||
| uses: egor-tensin/setup-gcc@a2861a8b8538f49cf2850980acccf6b05a1b2ae4 # v2.0 |
There was a problem hiding this comment.
As an alternative, something like:
- name: Install gcc
if: inputs.gcc_action_ver != ''
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt-get update -y
sudo apt-get install -y g++-${{inputs.gcc_action_ver}}
which is essentially what this action does, but without adding the dependency on an action of unknown provenance.
There was a problem hiding this comment.
I'll try that and see if it works.
There was a problem hiding this comment.
That works, so updated for the gcc install.
| python-version: ${{ inputs.python_action_ver }} | ||
| - name: Install LLVM and Clang | ||
| if: inputs.llvm_action_ver != '' | ||
| uses: KyleMayes/install-llvm-action@ebc0426251bc40c7cd31162802432c68818ab8f0 # v2.0.9 |
There was a problem hiding this comment.
If you mainly care about llvm 11 (ore more specifically 11.0.1), you could possibly just download it directly from:
It unpacks into:
clang+llvm-11.0.1-x86_64-linux-gnu-ubuntu-20.10/bin
clang+llvm-11.0.1-x86_64-linux-gnu-ubuntu-20.10/lib
etc. You could probably slam it into /usr/local with something like:
- name: Install LLVM and Clang
if: inputs.llvm_actino_ver != ''
run: |
curl -fsSL https://github.com/llvm/llvm-project/releases/download/llvmorg-11.0.1/clang+llvm-11.0.1-x86_64-linux-gnu-ubuntu-20.10.tar.xz | sudo tar -xJf - -C /usr/local/ --strip-components=1
This would also avoid an unknown GHA dependency.
There was a problem hiding this comment.
I already use this action in osl (where I also use it for various versions), and since I'm locking down to a specific commit hash, I'm not especially worried about the provenance. I could do it by hand, but using the action is a convenient way to get uniform behavior across versions and platforms, without my having to track down or debug the full URLs and whatnot, and it will set up the paths for me. It's just outsourcing the legwork of setting up this dependency.
Signed-off-by: Larry Gritz <lg@larrygritz.com>
144143d
into
AcademySoftwareFoundation:main
…cademySoftwareFoundation#5119) TL;DR: * Bump ASWF containers to the latest versions for their years. * Move the "oldest" and "hobbled" tests off the 2022 containers entirely, do as close as possible to equivalent on Unbuntu. Detailed explanation follows: First of all, bump to the latest ASWF docker containers for each year. We had been locking down, but hadn't bumped to the latest for a while. (Exception: leave the sanitizer test where it is -- the newer containers have additional checks that are catching UB that I am tracking down separately.) Also, we are trying to reduce the surface area of the CentOS 7-based 2022 aswf-docker containers, which are getting long in the tooth, cannot upgrade to the latest "actions" (because of a tricky interplay between runner configuration, node version the actions require, and glibc on the old containers), and may have a limited time that they will continue working. In most film studios, CentOS is long gone or taking its last breaths, so being able to support and test on 2022 era dependencies and OS distros is of dwindling relevance. We do, however, want to keep testing versus the oldest supported versions we can muster for many major dependencies. So to this end, this PR also does the following: * Move three tests from running in the 2022 containers to just running on bare Ubutu and by hook or by crook using the right dependencies: - the "oldest" versions we claim to support for as much of the toolchain toolchain and dependencies as is easily achievable, built with gcc - and the same, built with clang - the "hobbled" test, which is similar to the "oldest" test but with as many of the optional dependencies missing or disabled, to make sure we really do build with only required dependencies (this also is the test build for no SIMD use) * Keep two last tests running on 2022 containers, these are only for the purpose of testing "pure" CentOS VFX Platform 2022 compliance for just a bit longer. * A few minor related touch-ups necessary to force some older dependencies on the bare Ubuntu runner. --------- Signed-off-by: Larry Gritz <lg@larrygritz.com>
…cademySoftwareFoundation#5119) TL;DR: * Bump ASWF containers to the latest versions for their years. * Move the "oldest" and "hobbled" tests off the 2022 containers entirely, do as close as possible to equivalent on Unbuntu. Detailed explanation follows: First of all, bump to the latest ASWF docker containers for each year. We had been locking down, but hadn't bumped to the latest for a while. (Exception: leave the sanitizer test where it is -- the newer containers have additional checks that are catching UB that I am tracking down separately.) Also, we are trying to reduce the surface area of the CentOS 7-based 2022 aswf-docker containers, which are getting long in the tooth, cannot upgrade to the latest "actions" (because of a tricky interplay between runner configuration, node version the actions require, and glibc on the old containers), and may have a limited time that they will continue working. In most film studios, CentOS is long gone or taking its last breaths, so being able to support and test on 2022 era dependencies and OS distros is of dwindling relevance. We do, however, want to keep testing versus the oldest supported versions we can muster for many major dependencies. So to this end, this PR also does the following: * Move three tests from running in the 2022 containers to just running on bare Ubutu and by hook or by crook using the right dependencies: - the "oldest" versions we claim to support for as much of the toolchain toolchain and dependencies as is easily achievable, built with gcc - and the same, built with clang - the "hobbled" test, which is similar to the "oldest" test but with as many of the optional dependencies missing or disabled, to make sure we really do build with only required dependencies (this also is the test build for no SIMD use) * Keep two last tests running on 2022 containers, these are only for the purpose of testing "pure" CentOS VFX Platform 2022 compliance for just a bit longer. * A few minor related touch-ups necessary to force some older dependencies on the bare Ubuntu runner. --------- Signed-off-by: Larry Gritz <lg@larrygritz.com>
…cademySoftwareFoundation#5119) TL;DR: * Bump ASWF containers to the latest versions for their years. * Move the "oldest" and "hobbled" tests off the 2022 containers entirely, do as close as possible to equivalent on Unbuntu. Detailed explanation follows: First of all, bump to the latest ASWF docker containers for each year. We had been locking down, but hadn't bumped to the latest for a while. (Exception: leave the sanitizer test where it is -- the newer containers have additional checks that are catching UB that I am tracking down separately.) Also, we are trying to reduce the surface area of the CentOS 7-based 2022 aswf-docker containers, which are getting long in the tooth, cannot upgrade to the latest "actions" (because of a tricky interplay between runner configuration, node version the actions require, and glibc on the old containers), and may have a limited time that they will continue working. In most film studios, CentOS is long gone or taking its last breaths, so being able to support and test on 2022 era dependencies and OS distros is of dwindling relevance. We do, however, want to keep testing versus the oldest supported versions we can muster for many major dependencies. So to this end, this PR also does the following: * Move three tests from running in the 2022 containers to just running on bare Ubutu and by hook or by crook using the right dependencies: - the "oldest" versions we claim to support for as much of the toolchain toolchain and dependencies as is easily achievable, built with gcc - and the same, built with clang - the "hobbled" test, which is similar to the "oldest" test but with as many of the optional dependencies missing or disabled, to make sure we really do build with only required dependencies (this also is the test build for no SIMD use) * Keep two last tests running on 2022 containers, these are only for the purpose of testing "pure" CentOS VFX Platform 2022 compliance for just a bit longer. * A few minor related touch-ups necessary to force some older dependencies on the bare Ubuntu runner. --------- Signed-off-by: Larry Gritz <lg@larrygritz.com>
…cademySoftwareFoundation#5119) TL;DR: * Bump ASWF containers to the latest versions for their years. * Move the "oldest" and "hobbled" tests off the 2022 containers entirely, do as close as possible to equivalent on Unbuntu. Detailed explanation follows: First of all, bump to the latest ASWF docker containers for each year. We had been locking down, but hadn't bumped to the latest for a while. (Exception: leave the sanitizer test where it is -- the newer containers have additional checks that are catching UB that I am tracking down separately.) Also, we are trying to reduce the surface area of the CentOS 7-based 2022 aswf-docker containers, which are getting long in the tooth, cannot upgrade to the latest "actions" (because of a tricky interplay between runner configuration, node version the actions require, and glibc on the old containers), and may have a limited time that they will continue working. In most film studios, CentOS is long gone or taking its last breaths, so being able to support and test on 2022 era dependencies and OS distros is of dwindling relevance. We do, however, want to keep testing versus the oldest supported versions we can muster for many major dependencies. So to this end, this PR also does the following: * Move three tests from running in the 2022 containers to just running on bare Ubutu and by hook or by crook using the right dependencies: - the "oldest" versions we claim to support for as much of the toolchain toolchain and dependencies as is easily achievable, built with gcc - and the same, built with clang - the "hobbled" test, which is similar to the "oldest" test but with as many of the optional dependencies missing or disabled, to make sure we really do build with only required dependencies (this also is the test build for no SIMD use) * Keep two last tests running on 2022 containers, these are only for the purpose of testing "pure" CentOS VFX Platform 2022 compliance for just a bit longer. * A few minor related touch-ups necessary to force some older dependencies on the bare Ubuntu runner. --------- Signed-off-by: Larry Gritz <lg@larrygritz.com> Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com>
…cademySoftwareFoundation#5119) TL;DR: * Bump ASWF containers to the latest versions for their years. * Move the "oldest" and "hobbled" tests off the 2022 containers entirely, do as close as possible to equivalent on Unbuntu. Detailed explanation follows: First of all, bump to the latest ASWF docker containers for each year. We had been locking down, but hadn't bumped to the latest for a while. (Exception: leave the sanitizer test where it is -- the newer containers have additional checks that are catching UB that I am tracking down separately.) Also, we are trying to reduce the surface area of the CentOS 7-based 2022 aswf-docker containers, which are getting long in the tooth, cannot upgrade to the latest "actions" (because of a tricky interplay between runner configuration, node version the actions require, and glibc on the old containers), and may have a limited time that they will continue working. In most film studios, CentOS is long gone or taking its last breaths, so being able to support and test on 2022 era dependencies and OS distros is of dwindling relevance. We do, however, want to keep testing versus the oldest supported versions we can muster for many major dependencies. So to this end, this PR also does the following: * Move three tests from running in the 2022 containers to just running on bare Ubutu and by hook or by crook using the right dependencies: - the "oldest" versions we claim to support for as much of the toolchain toolchain and dependencies as is easily achievable, built with gcc - and the same, built with clang - the "hobbled" test, which is similar to the "oldest" test but with as many of the optional dependencies missing or disabled, to make sure we really do build with only required dependencies (this also is the test build for no SIMD use) * Keep two last tests running on 2022 containers, these are only for the purpose of testing "pure" CentOS VFX Platform 2022 compliance for just a bit longer. * A few minor related touch-ups necessary to force some older dependencies on the bare Ubuntu runner. --------- Signed-off-by: Larry Gritz <lg@larrygritz.com> Signed-off-by: Vlad (Kuzmin) Erium <libalias@gmail.com> Signed-off-by: Vlad <shaamaan@gmail.com>
TL;DR:
Detailed explanation follows:
First of all, bump to the latest ASWF docker containers for each year. We had been locking down, but hadn't bumped to the latest for a while. (Exception: leave the sanitizer test where it is -- the newer containers have additional checks that are catching UB that I am tracking down separately.)
Also, we are trying to reduce the surface area of the CentOS 7-based 2022 aswf-docker containers, which are getting long in the tooth, cannot upgrade to the latest "actions" (because of a tricky interplay between runner configuration, node version the actions require, and glibc on the old containers), and may have a limited time that they will continue working.
In most film studios, CentOS is long gone or taking its last breaths, so being able to support and test on 2022 era dependencies and OS distros is of dwindling relevance. We do, however, want to keep testing versus the oldest supported versions we can muster for many major dependencies.
So to this end, this PR also does the following: