Commit Graph

1027 Commits

Author SHA1 Message Date
Chris Evich 5156ab996c
Cirrus: Enable testing on Fedora rawhide
Signed-off-by: Chris Evich <cevich@redhat.com>
2023-04-20 15:54:33 -04:00
Ed Santiago f95276bfaf CI: enable sqlite system tests
In setup, write a containers.conf.d file with db_backend
as specified in .cirrus.yml.

This is actually much scarier and more achy-breaky than
merely "sqlite system tests": it enables sqlite in e2e
tests. ("But wait, we already do that!" -- no, not really.
sqlite in e2e is being done via --db-backend option, and
some podman commands in e2e do not use the standard options.
See #17904.

This is unlikely to get merged any time soon (March, maybe
even April) because sqlite is still too fragile; this will
trigger more flakes than are currently acceptable. Also,
the nasty auto-update flake seems to trigger much more
reliably with sqlite. We need that one fixed.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-04-12 07:16:57 -06:00
Ed Santiago 11ac0d03e3 Debian setup: workaround for runc /dev/char/10:200 bug
Debian system tests failing due to unwanted warning:

   skipping device /dev/char/10:200 for systemd:
      stat /sys/dev/char/10:200: no such file or directory

Let's see if modprobing tun will eliminate the warning.
Add loud comments requesting removal once runc bug is fixed.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-04-11 06:34:43 -06:00
Ed Santiago cf6f137045 CI: postbuild step: skip under nightly treadmill
Principally because 'make completion' fails if we transitively
bring in a new cobra, but also, none of the other tests are
meaningful under the treadmill.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-04-06 11:49:50 -06:00
Jason T. Greene 80f9f80770 Don't error when removing non-existant env vars
[NO NEW TESTS NEEDED]

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-04-04 16:26:53 -05:00
Jason T. Greene 78e7ade0da Fix Win install task failures with large PR bodies
MSI Validation will fail if the process env is > 32k chars
Remove CIRRUS_COMMIT_MESSAGE and CIRRUS_PR_BODY which can easily exceed this limit

[NO NEW TESTS NEEDED]

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-04-02 22:44:42 -05:00
Paul Holzinger 4c72fc26b1
fix os.IsNotExist() CI check
The os.IsNotExist() function comment mentions that new code should use
`errors.Is(err, fs.ErrNotExist)` instead.

The check was already in CI but used the wrong function name (extra s.)

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-03-27 17:03:03 +02:00
Paul Holzinger 64ba82601a
macos pkginstaller: do not fail when podman-mac-helper fails
Make sure we can install podman even when the podman-mac-helper install
command fails. This used to be the behavior but commit bae07b6ea2 caused
the regression because the binary now returns 1 as exit code on errors.

[NO NEW TESTS NEEDED] I am not sure if we can test the install step in
CI.

Fixes #17910

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-03-24 16:05:56 +01:00
OpenShift Merge Robot 3820554aa9
Merge pull request #17735 from cevich/bench_stuff
Cirrus: Store podman machine benchmark data
2023-03-21 14:05:54 -04:00
Ed Santiago 5447e88b42 logformatter: hide --db-backend, and friendlyize quadlet
* There's a new --db-backend option. Hide it, and actually
  just assume that any new --foo-backend option will
  have an arg that needs to be hidden.

* Friendly-ize "Running: quadlet ..." because those messages
  include a "with QUADLET_FOO=bar" string that looks like
  it's part of the command line but is not, and it's really
  hard for a human eye to see what's command line and what's
  extra comment.

Add tests.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-03-20 12:37:01 -06:00
Ed Santiago 526dfb8936 logformatter: futureproof output filename
"Just this once", I thought, adding an obscure unmaintainable
duplication to the CI code. When will I learn?

This fixes the logformatter output filename to handle boltdb/sqlite.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-03-16 08:31:36 -06:00
Chris Evich e929552457
Cirrus: Store podman machine benchmark data
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>
2023-03-15 15:03:24 -04:00
Matt Heon 6142c16a9c Ensure SQLite places uses the runroot in transient mode
Transient mode means the DB should not persist, so instead of
using the GraphRoot we should use the RunRoot instead.

Signed-off-by: Matt Heon <mheon@redhat.com>
2023-03-15 14:45:28 -04:00
Matt Heon 39fd9aa084 Add SQLite job to CI
Signed-off-by: Matt Heon <mheon@redhat.com>
2023-03-15 14:44:47 -04:00
Chris Evich 0d219486f7
[CI:DOCS] Fix docs/version-check always requesting updates
As suggested by @edsantiago, the complex script and direct-link in the
docs are adding little value while increasing the CI maintenance burden.
Simply retire the script and strip the direct (versioned) links from the
docs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-03-02 14:18:20 -05:00
Anjan Nath 1e516e657b pkginstaller: bump Qemu to version 7.2.0
this updates the Makefile qemu version to make use new qemu released at
https://github.com/containers/podman-machine-qemu/releases/tag/v7.2.0-1

[NO NEW TESTS NEEDED]

Signed-off-by: Anjan Nath <kaludios@gmail.com>
2023-02-28 11:53:47 +05:30
Chris Evich 1f6f81f5d4
Temporarily disable version-check
The script is broken and the maintainer temporarily unavailable to help
fix it.  Disable it for now, w/ reference to possible fix.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-23 14:54:03 -05:00
Chris Evich 93e7cc119a
Cirrus: Support runc testing on debian VMs
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>
2023-02-22 10:55:13 -05:00
OpenShift Merge Robot 5d78547ec2
Merge pull request #17458 from cevich/fix_benchmarks_env
Cirrus: Omit functions in env. file
2023-02-16 11:04:36 -05:00
OpenShift Merge Robot 8a6b373027
Merge pull request #17505 from edsantiago/fix_dns
Experimental workaround for cdn03.quay.io flake
2023-02-16 09:27:15 -05:00
Ed Santiago c7ee65596f Experimental workaround for cdn03.quay.io flake
I can't find instances of the "lookup cdn03.quay.io" flake
in RHEL gating tests. RHEL does not use systemd-resolved.
Maybe pure coincidence. Maybe not.

Let's try disabling systemd-resolved and see how things go.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-02-15 15:22:48 -07:00
Ed Santiago 86e55d0ec1 system tests: prevent leading tabs
Replace existing tab indentations with spaces, and add
a test to CI to prevent new ones from sneaking in.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-02-15 13:50:17 -07:00
Erik Sjölund a5ca732256 Fix typos
Software version used
https://github.com/crate-ci/typos/releases/tag/v1.13.10

The binary was downloaded from
https://github.com/crate-ci/typos/releases/download/v1.13.10/typos-v1.13.10-x86_64-unknown-linux-musl.tar.gz

Command that was run:

typos --write-changes docs cmd cni contrib dependencies docs hack libpod pkg utils

False positives were manually removed.
A few marshaling/existant typos were manually fixed.

Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2023-02-11 18:23:24 +01:00
Chris Evich 45fb353f46
Cirrus: Make benchmarks .env file easier to load
The `benchmarks.env` file is intended for machine consumption.
Including things like a `kB` unit label (like `$MEMTOTAL`) make items
difficult to parse.  Additionally, multi-value keys (like `$UNAME_RM`)
make extra/unnecessary work for the interpreter.  Simplify these items
and include a data-schema version marker so an interpreter can be made
aware/support future format changes.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-10 13:57:53 -05:00
Chris Evich a7db3e8d2c
Cirrus: Omit functions in env. file
The `localbenchmarks()` function stores a `.env` file containing current
environment variables for benchmark-classification purposes.  However its
naked use of `printenv` means it was logging the contents of library
functions and (worse) trying to stort all the lines.  This results in an
unusable mess inside `benchmarks.env`.  Fix this by re-using the
purpose-built passthrough_envars() which is designed to only print
useful, safe, env. vars.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-10 12:07:13 -05:00
Daniel J Walsh 5865159766
Run codespell on codebase
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2023-02-09 08:02:43 -05:00
Chris Evich 50f72fe7b1
[CI:BUILD] Cirrus: Fix GraphQL ownerRepository:null error
A semantic change to a Cirrus-CI GraphQL API parameter caused a
unit-test to fail (as it should have) with the error:

```
Query result did not pass filter '.data.ownerRepository.cronSettings':
'{"data":{"ownerRepository":null}}'
```

As per Cirrus-support, a change was introduced in schema affecting certain
fields that were incorrectly marked Nullable.  They indicated the `platform`
field was set incorrectly, and should use the value `github`.

* Fix the platform field's value to `github` instead of `LINUX`.
* Change the unit-test to only execute as part of the 'main' cirrus-cron
  job so it cannot impact PRs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-06 15:57:51 -05:00
Chris Evich 84c674fee0
Revert "Cirrus: Emergency fix to un-stuck PRs"
This reverts commit 6b3073f53e.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-06 13:45:04 -05:00
Chris Evich 6b3073f53e
Cirrus: Emergency fix to un-stuck PRs
All PRs are broken because this test fails, presumably due to a GraphQL
API change.  Disable the test temporarily until a permanent solution
can be found.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-02-06 10:52:33 -05:00
Chris Evich cf7afed055
Cirrus: Use versionable IMAGE_SUFFIX
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>
2023-02-01 11:34:18 -05:00
Arthur Sengileyev 387f0ea2f6 Making gvproxy.exe optional for building Windows installer
Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2023-01-29 22:04:53 +02:00
Arthur Sengileyev 74c0909736 Add gvproxy to Windows packages
Updated build scripts and installer build scripts to include gvproxy.exe.
Includes tutorial on setting up a Podman VM with QEMU and gvproxy on Windows.

Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2023-01-29 22:01:00 +02:00
OpenShift Merge Robot 986a3a61a8
Merge pull request #17182 from TomSweeneyRedHat/dev/tsweeney/fixlang3
Clean up more language for inclusiveness
2023-01-27 15:50:35 -05:00
tomsweeneyredhat 9db657f40c Clean up more language for inclusiveness
We had a number of references, mostly in docs, to the word master that
can now be changed to main.  This PR does that and makes the project a
bit more inclusive.

[NO NEW TESTS NEEDED]

Signed-off-by: tomsweeneyredhat <tsweeney@redhat.com>
2023-01-27 09:40:27 -05:00
Lokesh Mandvekar 0ffce81810
Bump cirrus image with easier dependency management
- for cni tests remove netavark and aardvark only if installed
- install ginkgo in envs wherever needed

Related:
https://github.com/containers/automation_images/pull/177
https://github.com/containers/automation_images/issues/159
https://github.com/containers/automation_images/issues/161

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>

Update .cirrus.yml

Co-authored-by: Chris Evich <1183438+cevich@users.noreply.github.com>
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-01-26 18:40:14 +05:30
OpenShift Merge Robot 7689e26c79
Merge pull request #16525 from Luap99/CI-update-image
update CI images to include pasta
2023-01-19 11:30:46 -05:00
Paul Holzinger 3db8ef37d8
add testbindings Makefile target
use this target in the CI script to make sure it uses the correct gingko

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-01-19 15:44:17 +01:00
Paul Holzinger 5ad72a2349
update CI images to include pasta
Images were build here: https://github.com/containers/automation_images/pull/249

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-01-19 15:43:40 +01:00
Ed Santiago 07d297ca3d Cirrus: preserve podman-server logs
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>
2023-01-19 06:27:43 -07:00
Daniel J Walsh 7147618c94
Merge pull request #17161 from sbidoul/add-openssh-client
Add openssh-clients to podmanimage
2023-01-18 17:51:13 -05:00
Stéphane Bidoul 36510f60db Add openssh-clients to podmanimage
The main goal is to provide ssh-agent,
which is required by podman build --ssh.

Signed-off-by: Stéphane Bidoul <stephane.bidoul@gmail.com>
2023-01-18 20:07:02 +01:00
Jason T. Greene 0bd51f6c87 Reworks Windows smoke test to tunnel through interactive session.
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>
2023-01-18 11:23:43 -06:00
Chris Evich 11835d5d0c
Cirrus: Support using updated/latest NV/AV in PRs
On occasion, developers need to run the latest or bleeding-edge
netavark/aardvark-dns in the podman CI environment.  Enable this through
use of magic strings in the PR title, but only if the PR is marked as a
draft.  The intent being, when the PR is ready for review, the current
CI VM package versions will be used.  Hopefully also reminding the PR
author to remove the magic strings from the title, remove draft status,
and push the final set of changes to be merged.

Also, add documentation about this new magic PR title string and CI's
behaviors.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-01-12 17:30:24 -05:00
Jason T. Greene 2bf94b764a Introduce pkg retry logic in win installer task
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-01-10 16:57:52 -06:00
OpenShift Merge Robot 9f9666ea1d
Merge pull request #17056 from edsantiago/logformatter_base_sha
logformatter: include base SHA, with history link
2023-01-10 13:03:57 -05:00
Ed Santiago db03236391 logformatter: include base SHA, with history link
This is to help me in my flake analysis.

Scenario: I'm looking at recent flakes, and see Flake X. I know
that Flake X was "fixed" two weeks ago. Did the fix not work?
Or is this just one of those PRs that was created three weeks
ago (or three months ago) and never rebased to pick up the fix?
This adds a one-click way for me to tell.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-01-10 06:41:27 -07:00
Jason T. Greene 28f13a74bc Update Mac installer to use gvproxy v0.5.0
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-01-09 15:07:59 -06:00
OpenShift Merge Robot 31e22aade6
Merge pull request #16997 from n1hility/winstaller-arm-compat
Fixes automated WSL installation on ARM
2023-01-09 09:56:04 -05:00
Ed Santiago a7f53932a7 logformatter: nicer formatting for bats failures
add a new failblock style, with light red background all across
the entire page, and use it for bats "FAIL" blocks.

Also highlight logrus level=(debug|info|warning|error|fatal)
messages in increasingly prominent styles

Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-01-06 08:26:37 -07:00
Ed Santiago ee3380e6b1 logformatter: refactor verbose line-print
Signed-off-by: Ed Santiago <santiago@redhat.com>
2023-01-06 08:26:37 -07:00