Packit's default behaviour of merging commits on PR copr build jobs ends
up creating a HEAD commit ID that doesn't exist upstream. This commit
disables that behaviour.
This way, copr builds from release PR can be used for podman-machine-os
builds.
Co-authored-by: Matej Focko <mfocko@users.noreply.github.com>
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
ELN and CS buildroots currently have an older golang build causing lots
of annoyance.
Ref: https://github.com/containers/podman/pull/25694#discussion_r2016587671
This commit disables those jobs until golang is updated on them.
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Silly mistake on my end, of course we want to build on both arches.
Fixes: 9eb4d27c5c ("packit: only build F41+")
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Packit's `pre-sync` action allows modification of spec file prior to
dist-git PR creation. This is already being done on containers-common
rpm to update c/storage and c/image verions tags in spec.
This commit will allow `podman version` to show `Git Commit: $SHA` for
copr as well as koji builds.
Ref: https://raw.githubusercontent.com/containers/common/refs/heads/main/.packit.yaml
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
We're moving away from proper rhel testing on upstream because of the
slower pace of RHEL. This has already been done on aardvark-dns and some
others.
CentOS 9 Stream does move fast enough that we can re-enable it here.
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
ELN is kind of a midway between Fedora and RHEL, so it's best to mention
ELN jobs separately. This will also allow reusing fedora targets using
YAML anchors for TMT tests.
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Packit now has sidetag support for adding multiple builds into a single
bodhi update.
Since we release c/ccommon, skopeo, buildah and podman often
almoost simultaneously, we should release them to Fedora in a single
bodhi update using sidetags so all builds can be tested together.
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
f39 doesn't container go 1.22 so we can no longer build there. epel 9
has the same issue although it is likely that go will be updated there
at one point.
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
When a new Fedora target (41 currently), is branched from rawhide,
`fedora-latest` packit target will point to fedora-41, while
`fedora-latest-stable` will point to `fedora-40`. Once fedora-41 has
released, `fedora-latest` and `fedora-latest-stable` will both point to
fedora-41.
So, to have Packit continue to create PRs for Fedora 40 once Fedora 41
has released, it's best to set the target back to `fedora-all`.
Caution: `fedora-all` will create v5.x PRs for Fedora-39 until it goes
EOL. Since dist-git PRs need to be merged manually, we can just manually
close F39 PRs.
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
This allows centos stream builds to run for outside contributors without
write access to the repos.
This commit also include centos-stream-9 build jobs so we can compare
both centos-stream-9 and rhel-9 builds if required. This will also be
useful when we want to run tests on both centos stream and rhel envs
using their respective builds.
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Without this key, there are duplicate copr jobs being created on
podman-next copr for `podman-fedora` and `podman-centos`.
Picking just one of `podman-fedora` / `podman-centos` should trigger
builds for all targets specified on the podman-next copr.
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
CentOS 10 Stream rpm builds are now active, so we should add jobs for
those on PRs.
These have to be centos-stream for now and not epel as epel will be
created only after RHEL-10 is released AFAIK, while the centos-stream-10
targets are available in copr now.
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
- EPEL is the recommended target for further testing with rpm builds.
- Fix EL9 builds.
- Do not change c8s for now as it will be removed soon anyway.
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
The packit alias `fedora-latest` points to the latest branched version
(regardless if released or not).
So, this configuration should work without issues through Fedora 40
release and should account for all branches until Fedora 41 release.
Ref: https://packit.dev/docs/configuration#aliases
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Packit now has recently added support to enable downstream PR updates to
CentOS Stream packages.
Ref:
https://packit.dev/docs/configuration/upstream/propose_downstream#syncing-the-release-to-centos-stream
CentOS Stream support is still in its early stages but this change
should be safe to add to upstream packit config.
Whenever there's a new Podman release, the rpm maintainer would need to
run `packit propose-downstream` using the packit CLI (not github
comment) to actually create the downstream update PR.
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
When I added commit b73eec88, I was under the impression that
the packit config for a downstream Fedora branch should only
contain the tasks for that particular branch. But, that's not
quite the case.
For all downstream tasks like `koji builds` and `bodhi updates`,
Packit now uses the config from the `rawhide` branch on dist-git
https://src.fedoraproject.org/rpms/podman/tree/rawhide . So, this means
all downstream tasks including the ones for F38 and F39 which use a
different version of Podman, need to be specified in the packit config
file that lands in the `rawhide` branch.
This commit re-enables koji and bodhi tasks for all Fedora branches.
Enabling F38 and F39 koji and bodhi will still end up building from
the sources in dist-git, so it's not a conflict to have them enabled on
an upstream branch that won't make its way into F38 and F39.
Labelling as `[skip-ci]` as this doesn't need to go through upstream CI.
Thanks to @majamassarini.
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
Podman5 will be shipped only on f40 and higher, so packit downstream tasks
should be enabled only for those.
Using `CI:DOCS` as the change only affects downstream Fedora, nothing
worth spending CI minutes on.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
This change will auto-tag @containers/packit-build in a github comment on every copr build failure.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Configure packit to automatically notify relevant Cockpit team members
when one of the "cockpit-revdeps" tests fails.
[NO NEW TESTS NEEDED] - This is test configuration.
Signed-off-by: Martin Pitt <mpitt@redhat.com>
The cockpit team only ever supports two parallel Fedora releases, and
will soon discontinue updating Fedora 37. So, instead of risking testing
against an obsolete Fedora, test against the most recent stable and
all development series. These are often fewer than we support, but
that's totally sufficient for this purpose.
[NO NEW TESTS NEEDED] - This is test configuration.
Signed-off-by: Martin Pitt <mpitt@redhat.com>
Fedora ELN targets were removed in the switch to ephemeral coprs. Add
them back.
Podman rpm doesn't depend on go-md2man package anymore and instead uses
vendored go-md2man for building manpages, so that's no longer a reason
for build failures on Fedora ELN.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Building all PRs of all container projects into the same COPR does not
properly isolate PRs from each other: E.g. a podman PR currently runs
against whichever crun PR was opened/updated last; in other words,
sending a broken crun PR will instantly break tests for all subsequent
podman runs.
To avoid that, change the copr_build configuration to use the packit
default COPRs, which are specific to the particular PR, and disappear
after a few weeks. Projects should only run against what landed in
our dependencies' main branches, i.e. the podman-next COPR.
Note that this does not preclude testing a podman PR against a e.g. a
crun PR: This can be explicitly requested [1]. But most PRs don't change
the API and thus should default to isolation.
[1] https://packit.dev/posts/testing-farm-triggering
[NO NEW TESTS NEEDED]
Signed-off-by: Martin Pitt <mpitt@redhat.com>
The pre-sync action constantly breaks and is currently not possible to
reliably test until the subsequent upstream release due to limitations
in packit.
The lines being added by the action script to the downstream Fedora spec
were only meant to keep Fedora happy. But given that they provide
no tangible benefit as github notifies us of security
issues in libraries mentioned in go.mod and go.sum, along with redhat
prodsec's own magic for creating security alerts, there's absolutely
no point to having the pre-sync action run and add a layer of uncertainty.
This commit removes the pre-sync action and
`rpm/update-spec-provides.sh`.
Ref: https://github.com/containers/podman/issues/19232
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
- remove .packit.sh
- remove all bcond_with[out] conditionals in favor of easier to read
alternatives
- simplify build process by removing GOPATH and related cruft
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Also address review concerns in pr#18675.
[NO NEW TESTS NEEDED]
Co-authored-by: Chris Evich <cevich@redhat.com>
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Get rid of `podman.spec.rpkg` in favour of
`rpm/podman.spec` which gets synced with fedora dist-git on every
upstream release. The version in the new spec file is set to `0` by
default and gets updated by packit automatically on every packit task.
For local manual rpm builds using the spec, the helper script in the
`rpm/` subdir will update the Version field with the latest version
found in the upstream repo.
Packit will automatically create a PR on fedora dist-git on every new
upstream release. A sample PR will look like:
https://src.fedoraproject.org/rpms/container-selinux/pull-request/10#
A dry run for this can be triggered using:
`$ packit propose-downstream --local-content`
To run this command locally, you would need to have your packit
user-configuration-file set.
Ref: https://packit.dev/docs/configuration/#user-configuration-file
along with a fedora api key created at:
https://src.fedoraproject.org/settings#nav-api-tab with sufficient ACLs.
Also includes a revised `package` Makefile target which will build rpms
using `rpm/podman.spec`. Fixes: #18421.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
This commit adds Packit configuration files which will trigger rpm
builds on copr:`rhcontainerbot/packit-builds` on every PR as well as on
copr:`rhcontainerbot/podman-next` on every commit to main branch.
This commit will ensure main branch is always buildable on all supported
Fedora and CentOS Stream versions for aarch64 and x86_64.
TODO: enable build checks for s390x and ppc64le while ensuring they
don't take too long to build.
The packit builds reuse `buildah.spec.rpkg` present upstream and are
thus independent of Fedora / CentOS dist-git.
This change will remove the need for the current webhook based triggering
of rpm builds on rhcontainerbot/podman-next after commit to main.
That will be instead handled by the `trigger: commit` action added in this
PR. New builds will continue to get posted to the same link so users
don't need to change any existing copr repo configuration.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
There are concerns with Packit causing flakes and delays on Podman so
let's have Packit prove itself in other repos and only then make its way
into Podman.
See: https://github.com/containers/podman/pull/15549#issuecomment-1233230573
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Any new files installed by new PRs and those present in unreleased
versions of Podman will need additional manipulation of the
dist-git spec file in the files section to workaround the
`installed but unpackaged files` issue.
The fix-spec-file packit action is useful for this.
The default fix-spec-file action often has trouble guessing the correct
version from upstream code, so it would be beneficial to specify the
correct upstream version as well.
See: https://packit.dev/docs/actions/#fix-spec-file
Rename cirrus task: `Test build RPM` to
`Test build podman-next Copr RPM` for clarity.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Packit will probably be brought back soon after including
fix-spec-file-action. See: PR #15457
This reverts commit d45a5d4aa0d04b97ce8a6ad7467e85be870c8d7a.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
This commit includes the initial addition of a .packit.yaml which will
run scratch builds for active Fedora releases which get the latest
Podman using Fedora's official packaging sources.
More packit integration to come in the future.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>