Executing a golang cross-compile on an expensive resource such as a Mac
has questionable overall value. Switch to running on a default Fedora
VM instead.
Signed-off-by: Chris Evich <cevich@redhat.com>
Unfortunately maintenance CI was not enabled on this branch, resulting
in the CI VM images being pruned and irrecoverably purged. Restore
CI by substituting similar images. These images aren't a perfect match,
but they are already marked for permanent retention.
Signed-off-by: Chris Evich <cevich@redhat.com>
These jobs have been failing since early August due to
technical/scripting problems. Disable/remove entirely since a fix is
unlikely to be implemented anytime soon.
Ref: Abandoned recent attempt at debugging
https://github.com/containers/podman/pull/19720
Signed-off-by: Chris Evich <cevich@redhat.com>
During the nightly cirrus-cron job on main, this error occured:
```
Using built-in Git...
Limiting clone depth to 1!
Cloning refs/heads/main...
Enumerating objects: 9246, done.
...cut...
Compressing objects: 100% (7182/7182), done.
Total 9246 (delta 1519), reused 6078 (delta 1101), pack-reused 0
HEAD is at f35369055d.
Hard resetting to 3908816d5310ac1f7bcd4399d23d75c1da0c2678...
Failed to force reset to 3908816d5310ac1f7bcd4399d23d75c1da0c2678:
object not found!
```
However, the repository code isn't needed or used for the meta task.
Fix this by running `/bin/true` as the `clone_script`.
Signed-off-by: Chris Evich <cevich@redhat.com>
It is already required in practice, see
> grep 'func .*]('
This also renders the -compat=1.17 option to (go mod tidy)
unnecessary, so drop it.
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
As of this commit, the build script runs the process on x86_64 hardware
(4cpus/8gig) using emulation for foreign architectures. Due to various
delays, inefficiencies, and other emulation-related slowdowns, it's
possible for dnf to timeout and/or mis-measure a minimum repository
download rate. Bump up the minimum download rate by 10x and timeout
interval by double. This should allow the builds to complete more
consistently.
Signed-off-by: Chris Evich <cevich@redhat.com>
The latest cirrus image bump will use fewer downloaded dependencies in
favor of installation from copr / distro repos.
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
Recently the container image build jobs have been failing with the
cirrus error:
```
Failed to start: INVALID_ARGUMENT: Operation with name
"operation-1657739085511-5e3b475527b8f-779ec7ef-41f9804e" failed with
status = HttpJsonStatusCode{statusCode=INVALID_ARGUMENT} and message =
BAD REQUEST
```
I was able to track this down to an obsolete
`build-push-c6193881921355776` image. Fortunately I was able to
un-obsolete the VM image. Update the time-stamping meta_task to include
this image to prevent this problem in the future.
Signed-off-by: Chris Evich <cevich@redhat.com>
Contents updated to more closely resemble the same docs in the podman
repository. Also, remove the `centos7` compatibility section (and
build context) given it's not been built or maintained in over two
years.
Signed-off-by: Chris Evich <cevich@redhat.com>
The github actions workflow for this operation is complex and difficult
to maintain. For several months now a replacement has been running well
in the podman repository. It's scripts/components are centralized,
versioned, unit, and integration tested. Add cirrus tasks to run the
build, and another task to allow test builds in a PR.
This also adds support for a new magic CI string: `[CI:BUILD]`.
With this string in the PR title, automation will only do basic build
verification, and enable testing of the multi-arch build process.
Otherwise, many tasks were updated to not be created when running the
cirrus-cron multi-arch image builds, since this would simply be a waste
of time and invitation for flakes.
Signed-off-by: Chris Evich <cevich@redhat.com>
The use of the generic 'DEBUG' name in varialbes or flags can be very
problematic and lead to difficult to troubleshoot problems. Update CI
VM images to those including updated automation library that uses the
`$A_DEBUG` env. var. instaed. Also update other repository files which
make use of the generic form.
Signed-off-by: Chris Evich <cevich@redhat.com>
Add cirrus boiler plate for rootless testing infrastructure.
Following commit introduces only neccassary foundation and skeleton
which will be used by rootless testing of buildah.
[NO NEW TESTS NEEDED]
Signed-off-by: Aditya R <arajan@redhat.com>
...by bumping up the CI VM ID to ones that include the
git-daemon (Fedora) or git-daemon-run (Ubuntu) packages.
Reason: #3701 rewrote some tests to work around github
closing 'git://' protocol access... but those new tests
were simply being skipped.
Reference: https://github.com/containers/podman/issues/12851
Signed-off-by: Ed Santiago <santiago@redhat.com>
Execute all tasks in three dependent, parallel groups
1. Meta + smoke + vendor + cross
2. Unit + int. + containerized-int. + conformance
3. Success
Signed-off-by: Chris Evich <cevich@redhat.com>
This is somewhat of a band-aid since these two tasks take 45+ minutes
each. Running them in parallel improves the overall runtime when
tests are otherwise/generally passing. If/when unit tests fail, the
status won't update until integration tasks complete, but the failure
will be immediately observable in a PR. So it's a minor price to pay
for improved runtime in the general case.
Signed-off-by: Chris Evich <cevich@redhat.com>
Remove `static_build` from ci as it is becoming hard to keep up with
`nix` hiccups in CI.
------
Before Deciding to remove static_build from CI we tried things below :
Things decided below worked but in order to keep maintaince simple
consensus was made to remove static_build. Read more here:
https://github.com/containers/buildah/pull/3679
It seems nixos/nix:latest expects nixbld user to be added and specified in
build-users-group but this should be only needed for multi-user
mode.
Hence I suspect latest push has a regression. Lock the nix to last working
image.
[NO NEW TESTS NEEDED]
Signed-off-by: Aditya Rajan <arajan@redhat.com>
The Fedora 35 cloud images have switched to UEFI boot with a GPT
partition. Formerly, all Fedora images included support for runtime
re-partitioning. However, the requirement to test alternate storage
has since been dropped/removed. Rather than maintain a disused
feature, and supporting scripts, these Fedora VM images have reverted
to the default: Automatically resize to 100% on boot.
Signed-off-by: Chris Evich <cevich@redhat.com>
Update which version of Mac OS X we use for running the cross-compile
check in CI from Catalina (10.15) to Big Sur (11).
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
Observed a unit-test typical runtime is around 45m, so a 50m timeout is
cutting things closely given variability in networking and shared vCPU
performance. Increase the timeout to 1-hour to provide an additional
buffer.
Signed-off-by: Chris Evich <cevich@redhat.com>
While vendoring c/storage v1.34.0 I was having issues
with io/fs not being able to be vendored via calls in the
latest BurntSushi. Fortunately I remembered a change to
the Skopeo Makefile that @vrothberg had made recently and
viola, that fixed it.
Also per @nalind's review, I've bumped Go from 1.13 to 1.6 in the
.cirrus.yml file.
[NO NEW TESTS NEEDED]
Signed-off-by: TomSweeneyRedHat <tsweeney@redhat.com>
This image is no-longer maintained and unnecessarily large for
essentially a "no-op" task. Use alpine instead, which is likely
cached from heavy use anyway, and don't even bother running
commands through a shell.
Signed-off-by: Chris Evich <cevich@redhat.com>
Installing packages at runtime (from an external source) is problematic
for many reasons. Specifically in the case of buildah/docker
conformance testing, it means the current "latest" pacakges are
always installed. This is a problem as new release branches are
created, because it presents an opportunity for test-environment changes
to happen after buildah/test code is stabilized.
Fix this by using new/special VM images which cache the required docker
packages. At runtime then, the required packages may be installed from
this cache instead of reaching out to the repository. Since images used
by tests on release branches never change, this will also serve to
stabilize the package versions for that specific environment.
Signed-off-by: Chris Evich <cevich@redhat.com>