Also simplify `lib.sh` after supporting changes incorporated
into automation library 2.x+ (present in all VM and container
images).
* No need to force-load `/etc/profile` and handle it's expectation
to **not** being in `errexit` mode.
* Slightly re-arrange loading of automation library files for
clarity.
* Remove dependency on updating `/etc/environment` for GPG.
* Remove redundant showrun() function (now present in automation
library)
* Update comments.
Signed-off-by: Chris Evich <cevich@redhat.com>
Add a --from option to `buildah add` and `buildah copy`, mirroring the
option for the Dockerfile instruction.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
When we're using the overlay driver (which means we know overlay is
available), use it to make volumes appear to be writeable during RUN
instructions instead of saving/restoring their contents.
This avoids having to copy the contents of the volume directory before
each RUN instruction, and having to remove and extract the contents
after each RUN instruction, which should be faster, particularly if the
amount of content in that volume location is large.
For empty directories, it will at least avoid adding an "opaque"
notation for the directory in a layer that might otherwise be empty.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
In anticipation of F34beta support, preemptively disable testing on
"prior-Fedora". This will allow development to move forward without
a soon-to-be-EOL distro. holding anything back.
Signed-off-by: Chris Evich <cevich@redhat.com>
These changes execute the cross-compile build naively on an OSX VM to
more thoroughly verify multi-platform support (other than on Linux). In
other words, it better confirms that any Linux-only changes do not leak
into non-Linux environments. This change also enables greatly
simplifying automation scripts, as there is no longer any need to
support/check the `$CROSS_TARGET` variable.
Signed-off-by: Chris Evich <cevich@redhat.com>
Also, utilize the common library functions from containers/automation.
This library is now pre-installed into the VM images. There are some
minor API differences to a few frequently used functions. Otherwise
the behaviors are largely identical.
Signed-off-by: Chris Evich <cevich@redhat.com>
Utilize VM Images produced from the containers/automation_images repo.
Also, rearrange tasks to more closely match their runtime dependency
order.
Signed-off-by: Chris Evich <cevich@redhat.com>
This change mirrors a similar change made in early 2020 for the
containers/podman repository. Primarily, it alters the appearance of
the task names in the Github WebUI to be more readable by humans.
Also, the former "gate" task is renamed to "smoke". This prevents
confusion with downstream Fedora/RHEL post-packaging testing which
is(also referred to as the "gate" tests.
Finally, task-dependencies are altered to support a cleaner flow which
will be implemented in a future commit.
Signed-off-by: Chris Evich <cevich@redhat.com>
The versions of these packages on Fedora/Ubuntu are important/relevant
for testing, make them easy to observe.
Signed-off-by: Chris Evich <cevich@redhat.com>
With imagebuilder v1.1.8, our conformance tests should start passing, so
we don't need to tolerate any failures in them going forward.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
Try running the gating test with a lot more memory (12Gb, just shy of
the maximum of 13 allowed for our default 2 vcpu configuration, instead
of the default of 4Gb that we use elsewhere). We're seeing the linting
process getting killed frequently without any additional explanation,
and our current best guess is that it's the OOM killer.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
Remove several artifacts necessary for bors functionality. Since bors
was removed/disabled, these items are no-longer necessary.
Signed-off-by: Chris Evich <cevich@redhat.com>
Expand the list of OS/arch combinations we check when we're checking if
we can successfully be cross-compiled, and fix up a couple of places
that wouldn't pass otherwise.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2529: Cirrus: Use newly built VM images r=rhatdan a=cevich
#### What type of PR is this?
/kind other
#### What this PR does / why we need it:
These new images include golang `1.13` on Ubuntu 19 and 20.
#### How to verify it
CI tests will all pass
#### Which issue(s) this PR fixes:
Fixes https://github.com/containers/buildah/pull/2527#issuecomment-671338261
#### Special notes for your reviewer:
Let me know if help is needed confirming this fixes the problem.
#### Does this PR introduce a user-facing change?
```release-note
None
```
Co-authored-by: Chris Evich <cevich@redhat.com>
Move the conformance tests from ginkgo to using the default testing
package and github.com/stretchr/testify/require, preserving the existing
tests and adding more.
Add conformance tests to our Cirrus configuration, currently marked as
an allowed failure.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
Increase the timeout we give for unit tests from the default (10
minutes) to 40 minutes for the tests, 45 minutes for the test job, since
they're timing out in CI.
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
All packages required for building + testing buildah are now included in
VM images shared withthe libpod project's CI system. Remove former
`setup.sh` and `lib.sh` facilities for installing/updating packages.
Also add in a new function for removing the pre-installed buildah
package files (since we run and test from source). This mirrors
the same behavior used in libpod's CI setup.
Signed-off-by: Chris Evich <cevich@redhat.com>
Due to some unknown problem with package repositories, all ubuntu 19
testing is failing. This commit temporarily disables that part of the
matrix until a fix can be discovered and implemented.
Signed-off-by: Chris Evich <cevich@redhat.com>
For whatever reason, Bors-ng has trouble interpreting multiple
status-checks as being required when their names contain wild-
cards (like `testing%`). Instead, it will simply pick one
that happens to match the name, and fail to consider all others.
Until that issue can be debugged and fixed, use a single "success"
task to represent pass/fail status of all required checks.
Signed-off-by: Chris Evich <cevich@redhat.com>
Add initial support for Bors-ng replacement for Homu providing "ever
green" merges of PRs. Ref: https://bors.tech/
Note: Bors-ng cannot deal with tasks marked 'skipped' by Cirrus-CI when
testing or attempting a merge. All tasks must always run on all except
temporary branches. The only significant marker for a required-for-merge
task are the status/pr-status name match strings in `bors.toml`.
Signed-off-by: Chris Evich <cevich@redhat.com>
Certain versions of go have different vendoring capabilities.
We want to make sure that vendoring the the vendor checker are
running with the same version of golang. We do this by using
podman to run a container of the lates golang container image.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #1949
Approved by: TomSweeneyRedHat
These were produced as an intended byproduct of:
https://github.com/containers/libpod/pull/3754
Where 'systemd_banish.sh' was run during base-image production.
Therefor, during run-time there should no longer be interference
of testing by background/periodic processes.
Signed-off-by: Chris Evich <cevich@redhat.com>