Closed jwnrt closed 10 months ago
Toolchains built against this version of glibc will not work on distributions with an older version. @luismarques is this acceptable? We only support Ubuntu 20.04+ for OpenTitan (and other projects) but these toolchains may be used by others (though they are unsupported).
I have a way to make the binaries not depend on libc, though the compilation method is a bit hacky. I'll see if I can dig it up.
I have disabled the Azure pipeline in the web UI.
I'll wait until we've used the GitHub action at least once until I remove the Azure configuration.
Summary
This PR adds a GitHub Actions workflow that should be equivalent to the Azure pipeline.
This does not remove the existing Azure pipeline.
This workflow:
Testing
I've tested this works on my fork of this repo:
Migration strategy
If we choose to accept this PR, I suggest we do the following:
Centos 6 -> Ubuntu 20.04
The important difference to the Azure pipeline is that it builds inside Ubuntu 20.04 and not Centos 6.
GitHub Actions does support using containers (like our centos6 one), but GitHub's actions (like checking out the repo, creating a release, etc.) use Node.js version 20 which is not available for Centos 6.
This is important because Centos 6 uses glibc 2.12 (2010-12-13) and Ubuntu 20.04 has glibc 2.31 (2020-02-01).
Toolchains built against this version of glibc will not work on distributions with an older version. @luismarques is this acceptable? We only support Ubuntu 20.04+ for OpenTitan (and other projects) but these toolchains may be used by others (though they are unsupported).
I understand that bumping the supported glibc version is a big step, so I may be able to look into getting only the build to happen inside Centos 6 as a way to get that support back.