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

CI: Add RPM distributions and use containers #1670

Merged
merged 1 commit into from
Mar 13, 2023

Conversation

Conan-Kudo
Copy link
Contributor

@Conan-Kudo Conan-Kudo commented Feb 20, 2023

This will ensure we have a reasonable ability to catch issues that affect Fedora/CentOS/RHEL/openSUSE before it gets shipped in a release.

@Conan-Kudo Conan-Kudo force-pushed the fedora-ci branch 6 times, most recently from 8ab99f4 to dd9ebf5 Compare February 20, 2023 04:27
@Conan-Kudo Conan-Kudo changed the title CI: Add Fedora Rawhide and CentOS Stream 9 CI: Add Fedora Rawhide and CentOS Stream 9 and use containers Feb 20, 2023
@Conan-Kudo Conan-Kudo force-pushed the fedora-ci branch 2 times, most recently from 14f40f5 to a5df914 Compare February 20, 2023 04:29
@herostrat
Copy link
Contributor

How difficult would it be to add a BSD, e.g. FreeBSD?
Even just compile testing would be very beneficial I think.

@marcdeop
Copy link

How difficult would it be to add a BSD, e.g. FreeBSD? Even just compile testing would be very beneficial I think.

FreeBSD is not officially supported by Github Actions as of now. See request (here possible solutions in the discussion but... well, they are not the best ;--)

I would keep FreeBSD out for now (at least not in this PR).

@Vogtinator
Copy link
Contributor

Could you add registry.opensuse.org/opensuse/tumbleweed as well? I could open a separate PR but it would depend on this anyway.

@Vogtinator
Copy link
Contributor

IMO we don't need the full matrix of clang/gcc and USE_PAM OFF/ON for every OS.

@Conan-Kudo Conan-Kudo changed the title CI: Add Fedora Rawhide and CentOS Stream 9 and use containers CI: Add RPM distributions and use containers Feb 20, 2023
@Conan-Kudo Conan-Kudo force-pushed the fedora-ci branch 2 times, most recently from 29ecaab to 1e6f807 Compare February 20, 2023 12:02
@Conan-Kudo
Copy link
Contributor Author

Could you add registry.opensuse.org/opensuse/tumbleweed as well? I could open a separate PR but it would depend on this anyway.

I've added tumbleweed-dnf since that would work with the steps we have here.

@Conan-Kudo
Copy link
Contributor Author

@Vogtinator why is curl, tar, and gzip missing from the openSUSE containers? Without them, GitHub Actions can't download the sources into the environment...

@Conan-Kudo
Copy link
Contributor Author

Anyway, made an SR to fix that for the Tumbleweed DNF image: https://build.opensuse.org/request/show/1066820

@Vogtinator
Copy link
Contributor

@Vogtinator why is curl, tar, and gzip missing from the openSUSE containers? Without them, GitHub Actions can't download the sources into the environment...

They're meant to be minimal. For actually using the containers, you'll have to install some packages anyway. This is true here as well: Just move the step for installing dependencies before the checkout action and install curl etc. as well.

@aleixpol
Copy link
Contributor

Can somebody explain to me how it knows to do the for deb/rpm accordingly?

@marcdeop
Copy link

Can somebody explain to me how it knows to do the for deb/rpm accordingly?

It's based on the matrix and the ifs:

if: ${{ contains(matrix.container-image, 'ubuntu') }}

In the original submission, those ifs where at the end of the array which made readability bad (my opinion). This has been fixed now.

@Conan-Kudo Conan-Kudo force-pushed the fedora-ci branch 2 times, most recently from f5f6f7b to 1a21bec Compare February 22, 2023 02:17
@marcdeop
Copy link

Is there anything really blocking this from being merged?

@Conan-Kudo
Copy link
Contributor Author

Yup, and I'm working on that.

We could also comment out/remove the failing builds and leave them for another iteration.

You know, baby steps :-)

Meh. I know what's wrong and how to fix them.

@Conan-Kudo
Copy link
Contributor Author

This is finally now good to land!

@Conan-Kudo Conan-Kudo force-pushed the fedora-ci branch 3 times, most recently from ec42f78 to dcb51f3 Compare March 9, 2023 02:29
This will ensure we have a reasonable ability to catch issues that
affect Fedora/CentOS/RHEL/openSUSE before it gets shipped in a release.

Also drop sudo as we don't need it for anything anymore due to using
containers for even the Ubuntu CI.
@Vogtinator
Copy link
Contributor

The only remaining topic then is the build matrix. IMO {fedora,centos,tumbleweed,ubuntu}-{clang,gcc}-{pam,no-pam} is a bit too much.

What about disabling PAM OFF builds on most of them? (I wonder what the code is for anyway)

@Conan-Kudo
Copy link
Contributor Author

That actually adds complexity to the pipeline logic. I deliberately didn't bother because it's more work to make that possible.

@Vogtinator
Copy link
Contributor

Vogtinator commented Mar 10, 2023

That actually adds complexity to the pipeline logic. I deliberately didn't bother because it's more work to make that possible.

Might be as simple as this:

        container-image:
          - "quay.io/fedora/fedora:rawhide"
          - "quay.io/centos/centos:stream9"
          - "registry.opensuse.org/opensuse/tumbleweed-dnf"
          - "docker.io/library/ubuntu:22.04"
        compiler:
          - gcc
          - clang
        pam:
          - ON
        include:
          - container-image: "docker.io/library/ubuntu:22.04"
            pam: OFF

(Somehow I hit Ctrl-Return instead of Shift-Return, that is apparently the shortcut for Comment and close. TIL.)

@Vogtinator Vogtinator closed this Mar 10, 2023
@Vogtinator Vogtinator reopened this Mar 10, 2023
@Conan-Kudo
Copy link
Contributor Author

Who uses SDDM without PAM, by the way? Even Slackware adopted PAM in 2020: https://alien.slackbook.org/blog/slackware-introduces-pam-into-its-core/

@Vogtinator
Copy link
Contributor

Yeah, maybe we can just drop that. I doubt that there is any practical relevance and I don't think it's useful for test/dev setups either.

@Conan-Kudo
Copy link
Contributor Author

@Vogtinator I've added a commit to drop the PAM build modes.

@Vogtinator
Copy link
Contributor

IMO that should be done together with removing the code itself, which is something for a separate PR. But maybe the other maintainers don't mind? @aleixpol @davidedmundson @plfiorini

@Conan-Kudo
Copy link
Contributor Author

Then do you want me to drop that commit and we can merge this, or what?

@Vogtinator
Copy link
Contributor

As long as the PAM code is there, it should be built tested, but IMO not 8 times.

@aleixpol
Copy link
Contributor

@Conan-Kudo remove the last commit, then we (I?) can add the commit that removes PAM, so we don't need to be building it 8 times for too long.

@Conan-Kudo
Copy link
Contributor Author

@aleixpol Done.

@aleixpol aleixpol merged commit d00b2ce into sddm:develop Mar 13, 2023
@Conan-Kudo Conan-Kudo deleted the fedora-ci branch March 13, 2023 01:54
@aleixpol
Copy link
Contributor

This makes PAM mandatory as discussed #1685

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants