-
Notifications
You must be signed in to change notification settings - Fork 2
Add Travis CI #16
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
Add Travis CI #16
Conversation
|
@msalle, @matyasselmeci, @ellert:
Ok, I went for this "solution" now, see https://github.com/fscheiner/UberFTP/tree/automated-builds-continued, but I stumbled upon an issue I'll describe in a separate comment below. UPDATE (2021-12-02): The following will be implemented in another PR.
|
msalle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I'm probably not the best to review this one. In any case, presuming it's mostly copy&paste from the rest of GCT, this seems all fine.
One thing: travis-ci/run_task_inside_docker.sh has an almost completely outdated list of platforms: CentOS6, F26 and F27 are all long out of support. OTOH we probably want RockyLinux, Almalinux or CentOS Stream 8 and currently supported Fedoras.
I ignored thatt because I didn't want to change too much at once. Indeed, RockyLinux and Almalinux are long due for testing. but I'm unsure if they provide any Docker images for ppc64le (or even arm64/aarch64). If someone has experience with these, please let us know. AFAIK CentOS Stream 8 is not "identical" to - and maybe not even binary compatible with - RHEL8, so I don't see it as a target for our build tests (i.e. something that will replace our CentOS7 target in the future). I'd rather go for one or both of the earlier mentioned OSes as target as they want to be what CentOS once was. |
Both RockyLinux and AlmaLinux seem to have arm64, not ppc64le, in their repos and as docker images on docker hub. OTOH our reference platform is in any case amd64/x86_64.
The point is that different sites will be using different distros. CERN is probably going for CentOS Stream, Desy AFAIK for AlmaLinux and several others big sites for RockyLinux. |
Yes, but for Travis-CI we can't use them as long as we don't have build credits, ppc64le and arm64 are not charged by Travis-CI as the machinery is provided by manufacturers.
As long as it's compatible with each other and RHEL(8). Why CERN might want to use something different is out of my understanding. @matyasselmeci |
Maybe IBM can convince the maintainers of RockyLinux and AlmaLinux to also support ppc64le? @gerrith3, @ezeeyahoo |
|
@msalle I mean, if we want to have test builds for UberFTP on multiple OSes, we should also implement that for the GCT. ...it was at this moment that he knew he had opened pandora's box... ;-) |
|
Please ignore, as outdated with the latest changes. Back to the original topic: I don't want to make a PR for fscheiner@beeb89e until it works, so want to solve that issue first. @matyasselmeci [...]
remove_installed_gct_rpms()
{
rpm -qa | egrep '^globus-|^myproxy|^uberftp' \
| xargs --no-run-if-empty \
sudo rpm -e $pkgs_to_rm
}
[...]But how can this work if a build depends on a I know that UPDATE: Well, I just recognize that the deploy step only builds SRPMs, so building RPMs would not be needed for the upload of the tarball to repo.gridcf.org, but still it should work, as this was also meant to allow users to builds RPMs locally. UPDATE2: I think I have a possible solution to make |
I will take a look but getting an entire distro supported can be difficult aka expensive. It may depend on where they are pulling their sources from - if they are using fedora or equivalent build environments that are copied into RockyLinux or AlmaLinux there may be a chance. |
Great to hear that, I assume both RockyLinux and AlmaLinux are using the official sources of RHEL8 (which supports ppc64le), i.e. like CentOS8 did until Red Hat changed that to CentOS Stream 8. |
I think that for simplicity it would probably then be better to just remove those completely. Building (or at least appearing to build?) something on those long outdated platforms doesn't make sense to me. And then you can keep the box closed for now (-; |
I've done that with fscheiner@beeb89e and will incorporate that here soon. |
|
@msalle: |
msalle
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've left a view comments on things that I find a bit unclear. If it all works it is fine for me for the time being, but probably good to look at, at some point.
|
|
Hey @fscheiner I forgot to update you here but both RockyLinux and AlmaLinux are using our Power servers at OSU's OSL for testing, so both should have Power LE support (ppc64le). |
Thank you for the clarification. I had some thoughts about that and believe I understand it better now but correct me if I'm wrong: It works for the GCT, because - after all Globus related packages are removed - the build starts from the beginning (i.e. with |
Thanks for the update, that's good news. Unfortunately both don't yet provide Docker images for ppc64le over at https://hub.docker.com/r/rockylinux/rockylinux/tags and https://hub.docker.com/_/almalinux?tab=tags but only for amd64 and arm64. Well, they currently also only offer installation disc images for amd64 and arm64 (https://rockylinux.org/download, https://mirrors.almalinux.org/isos.html) as I just found out, so I assume Docker images for ppc64le will eventually come. |
|
@msalle: Successful build here: https://app.travis-ci.com/github/fscheiner/UberFTP/builds/242806697 The addition of a GitHub Action/Worklfow for build tests and uploading source tarballs will be implemented in another PR. So if there are no objections I'll merge these changes as is tomorrow. |
This adds automated builds on Travis CI (on
ppc64learch for now) and supports the following tasks (see travis-ci/run_task_inside_docker.sh for details) for now:build(as there are no tests defined for UberFTP I renamed theteststask tobuild) - (test-)builds UberFTPtarballs(should maybe renamed totarball) - creates the source tarball (make dist) for UberFTP...and since today also:
srpmsrpmsCheck possible results on https://app.travis-ci.com/github/fscheiner/UberFTP/builds
Based on @matyasselmeci's Travis-CI scripts from the GCT