Podman is basically unusable without cgo, checking if it compiles
without adds no value and just tricks people into thinking it works when
it does not.
This means we do not need extra to NOP out a lot of cgo calls with
functions that just return an error like `XXX is not supported without
cgo`.
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Many/most env. vars set by the `stdenvars` alias do not apply to the
`osx_alt_build` task. In case anybody debugging a job might be confused
by them, use more meaningful values.
Signed-off-by: Chris Evich <cevich@redhat.com>
Using a FreeBSD VM allows building a functioning binary via 'make
podman-release'. This uses Cirrus' freebsd_instance which provisions VMs
on Google Compute Engine.
I attempted to add FreeBSD binaries to the artifacts task but this
failed, apparently because the extra 50Mb of space exceeded a 1Gb limit
in Cirrus.
[NO NEW TESTS NEEDED]
Signed-off-by: Doug Rabson <dfr@rabson.org>
This magic string isn't often used and may cause confusion with future
magic-string additions. Remove it.
Signed-off-by: Chris Evich <cevich@redhat.com>
RHEL release-branches potentially need to be maintained for a very long
time. Improve reliability and CI-speed by skipping tasks which are not
needed for RHEL. For example, there will (likely) never be RHEL
releases of the MacOS or Windows versions of podman-remote. Also,
relocate the `win_installer_task` in the config. to better reflect it's
sequence among CI tasks.
Signed-off-by: Chris Evich <cevich@redhat.com>
ginkgo v2 has new options, --junit-report and --json-report.
The JUNIT one is utterly worthless: no timing data, no
separation between test output (podman commands) and
ginkgo output (filenames, linenumbers). JSON goes the
other direction, super-complicated, but I think I can
work with it. Let's try it.
This PR does not actually _do_ anything with the json; all
we do is save it. Over time, I'll download and play with it
and see what I can do with it.
Signed-off-by: Ed Santiago <santiago@redhat.com>
Ginkgo v2 can result in the test just hanging at the end if there is
some bug which is leaking processes. The tests never take 90 mins
anyway. Just lower that time to 50 mins max. Usually they take between
30-40 mins so we should be fine with 50 mins.
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
...it never worked as intended. Cron job has been deleted.
(Note: this is not the same as the *buildah* treadmill, #13808,
which continues to be active and necessary)
Signed-off-by: Ed Santiago <santiago@redhat.com>
Packit copr build tasks take care of this already so this can be safely
removed.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
In GCP, user specified VM names are required upon creation. Cirrus-CI
generates helpful names containing the task-ID. Unfortunately in EC2
the VM ID's are auto-generated, and special permissions are required
to allow secondary setting of a `Name` tag. Since this permission has
been granted, enable the `experimental` flag on EC2 tasks so that cirrus
can update VM name-tags. This is especially useful in troubleshooting
orphaned VMs.
Ref:
https://github.com/containers/podman/issues/18065#issuecomment-1497779159
Signed-off-by: Chris Evich <cevich@redhat.com>
Fixes: https://github.com/containers/podman/issues/18040
If the `build_aarch64` task happens to fail for any reason, it will
cause the `curl` command in the `clone_script` for the aarch64 system
test tasks to throw a 404. This is because the
`local_system_test_aarch64_task` depends on `build` not `build_aarch64`.
As discovered in another issue long ago, the Cirrus API depends on doing
some dependency-resolution magic to function properly. Fix this by
correcting the dependencies.
Signed-off-by: Chris Evich <cevich@redhat.com>
Future work will present podman-machine benchmark data in some useful
format for analysis. However, this data is currently only stored as CI
artifacts. When CI runs on the main branch, after a PR merges, utilize
a pair of purpose-built containers to retrieve then upload the data into
a GCE firestore database. This operation should not be critical, such
that any faults will not cause the entire CI build to be marked as a
failure.
Signed-off-by: Chris Evich <cevich@redhat.com>
They include Fedora package passt-0^20230227.gc538ee8-1.fc37 and
passt-0.0~git20230227.c538ee8-1 for Debian, so that we can re-enable
the "Local Forwarder, IPv4" test for pasta(1).
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Given that flakes inevitably occur as testing grows wider, position the
system tests in parallel with the integration tests as much as possible.
The thinking here is, flaking sooner is better than later. This is
because it provides an earlier opportunity for developers to re-run
tasks.
Signed-off-by: Chris Evich <cevich@redhat.com>
They include passt-0^20230222.g4ddbcb9-1.fc37, so that we can
re-enable pasta tests, and passt-0.0~git20230216.4663ccc-1, so that
we can run them on Debian Sid.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Run rootless bud tests as part of the nightly treadmill job.
Reason: #17480 could have been caught before release.
Also: refactored bot this and bud_test_task (the task which
I copypasted to form this one) to use *stdenvars; thanks
@cevich for catching that.
Signed-off-by: Ed Santiago <santiago@redhat.com>
Also remove disused `gitlab` test setup. This test was disabled a
while ago and is unlikely to ever be revived.
Signed-off-by: Chris Evich <cevich@redhat.com>
An ongoing issue with uploading artifacts is hindering development
progress. Temporarily disable all aflicted tasks until the problem is
resolved. Typical error message:
```
Uploading 1 artifacts for
Failed to upload artifacts: Put
...cut...
tls: server selected unsupported protocol version 303
Re-trying to artifacts upload...
```
Signed-off-by: Chris Evich <cevich@redhat.com>
Image content hasn't changed much, the biggest thing here is the
$IMAGE_SUFFIX value. This new schema is also fully manageable by
renovate. Allowing a tag-push to c/automation_images to create image
update PRs in all repos automatically.
ref: https://github.com/containers/automation_images/pull/247
Also, cleanup a few comments and remove a disused testing task.
Signed-off-by: Chris Evich <cevich@redhat.com>
Output from podman system service, on system tests, is
being saved... it just hasn't been collected as an artifact.
Start collecting it. And, remove obsolete-unused-misleading
code that made me think it _was_ being collected.
Also: log system-service output for bud tests, and set
log-level to info per suggestion from @Luap99
Signed-off-by: Ed Santiago <santiago@redhat.com>
The latest Windows image from containers/automation_image@327d8799 auto-creates
an interactive session through winlogon autologon on boot. Additionally it
includes the PsTools psexec command on the system.
This change utilizes both aspects to launch the verification portion of the
smoke task under the interactive session, away from the session 0 execution
environment that the Cirrus agent runs in.
Since creating a new process under the interactive session requires a new token,
and by extension a clear text password, a new crypto random password is
generated to replace the ec2 boot generated one.
These changes allow WSL to once again function after its move to a store based
delivery stream (which is incompatible with session 0 execution).
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
Prior to this commit, the podman-machine tests only ran for PRs.
However, now that these tasks are also being used to capture a uniform
set of performance benchmarks, they should probably run on branches as
well. This also fixes a stream of branch-CI run failures due to the
artifacts-task failing to download/archive (missing) benchmark data.
Signed-off-by: Chris Evich <cevich@redhat.com>
The hardware used for podman-machine testing is fairly
stable/predictable because it's bare-metal. This is a nearly ideal
environment for collection of benchmarking data. Arrange for that to
happen, and the resulting data to be collected.
Also keep track of the benchmark-basis details in a machine-readable
`env` file along side the raw and parsed benchmarks.
Signed-off-by: Chris Evich <cevich@redhat.com>
It's important to actually perform a windows build for a `[CI:DOCS]` PR
since it verifies and includes a copy of the docs. However, it's not
necessary to actually test if the installer functions or not. That task
should happen in other contexts.
Signed-off-by: Chris Evich <cevich@redhat.com>
...not as a separate post-main step. Reasons:
1) If main test times out, Cirrus won't run subsequent steps
2) It really belongs in the main log anyway, because when
looking at test results, you want to have instant access
to versions, you don't want to have to clickety-click
ten steps.
Signed-off-by: Ed Santiago <santiago@redhat.com>
It's important/useful to have all VM images built around the same time
as it prevents tooling/dependency divergence and therefore simpler
debugging.
Signed-off-by: Chris Evich <cevich@redhat.com>
We have CI tests running in netavark mode when CNI is desired.
Add a new .cirrus.yml envariable, CI_DESIRED_NETWORK, which
we then force-check in e2e and system tests. Simple copy/paste
of #14912 (the RUNTIME check) with manual s/RUNTIME/NETWORK/
and other minor changes.
Signed-off-by: Ed Santiago <santiago@redhat.com>
Building Ubuntu VM images is temporarily broken due to dependency
problems on (missing) netavaro for the (required) podman package.
Signed-off-by: Chris Evich <cevich@redhat.com>