Commit Graph

995 Commits

Author SHA1 Message Date
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
Jason T. Greene 54afda22bf Switch to C based msi hooks for win installer
Fixes automated WSL installation on ARM

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2023-01-05 01:49:49 -06:00
OpenShift Merge Robot 1c8b40d097
Merge pull request #16449 from cevich/localbenchmarks
Cirrus: Collect benchmarks on machine instances
2023-01-04 07:31:09 -05:00
OpenShift Merge Robot af805b3efe
Merge pull request #16565 from anjannath/docker-sock
pkginstaller: install podman-mac-helper by default
2022-12-21 11:08:07 -05:00
Alexander Larsson ddeb9592c9 Add podman-clean-transient.service service
This is a unit that can be enabled when using transient store mode
to clean up potential leftovers from previous boots. All it does is
run "podman system prune --external" once each boot.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2022-12-20 10:24:25 +01:00
Valentin Rothberg 12d0584006 podman-kube@ template: use `podman kube`
Use the new `podman kube {down,play}` commands.

[NO NEW TESTS NEEDED] as this is a purely cosmetic change.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-12-16 13:16:06 +01:00
Chris Evich 7c6873b23d
Cirrus: Collect benchmarks on machine instances
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>
2022-12-09 11:16:28 -05:00
Chris Evich b361a42e65
Cirrus: Remove escape codes from log files
Signed-off-by: Chris Evich <cevich@redhat.com>
2022-12-09 11:15:19 -05:00
Doug Rabson eaab4b99a4 Add a FreeBSD cross build to the cirrus alt build task
This just verifies that a non-cgo podman binary can build for FreeBSD.

[NO NEW TESTS NEEDED]

Signed-off-by: Doug Rabson <dfr@rabson.org>
2022-12-03 13:58:19 +00:00
OpenShift Merge Robot ca6ae5ca98
Merge pull request #16678 from edsantiago/simplify_passthrough_env
CI setup: simplify environment passthrough code
2022-12-03 07:26:34 -05:00
OpenShift Merge Robot 3f80a68fd3
Merge pull request #16667 from cfergeau/artifacts
Make released binary names more consistent
2022-12-03 07:20:08 -05:00
Ed Santiago bdd5f82458 CI setup: simplify environment passthrough code
The passthrough_env function was unnecessarily complicated,
hence fragile. Clean it up, and add regression tests.

For future reference: CI broke horribly because of this.
Rootless tests all failed with missing CI_DESIRED_NETWORK.
Root cause was that CIRRUS_CHANGE_TITLE had a trailing
space which, because of shell indirection, passthrough_env()
wrote as trailing backslash (not backslash-space) in the
/etc/ci_environment file, which then caused the next line
in the file to get glommed onto CIRRUS_CHANGE_TITLE.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-12-01 16:19:22 -07:00
Christophe Fergeau 54ef7f98d9 macos: pkg: Use -arm64 suffix instead of -aarch64
All files released in
https://github.com/containers/podman/releases/tag/v4.3.1 use -arm64 for
the arch name except podman-installer-macos-aarch64.pkg

Related: https://github.com/containers/podman/issues/16612
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2022-11-29 11:18:21 +01:00
Christophe Fergeau fe548dd0b0 linux: Add -linux suffix to podman-remote-static binaries
This is more consistent with the name of the other released files, and
makes identification of the binaries easier among the Windows/macOS
ones.

Related: https://github.com/containers/podman/issues/16612
Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2022-11-29 11:18:20 +01:00
Christophe Fergeau d223950078 linux: Build amd64 and arm64 podman-remote-static binaries
Looking at https://github.com/containers/podman/releases/tag/v4.3.1,
it's not explicit which arch the podman-remote-static binary is built
for, so this commit adds an -$(goarch) suffix to it. It builds both
arm64 and amd64 binaries as I need both for crc.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2022-11-29 11:18:18 +01:00
Jason T. Greene d2ac99d65c Allow manual override of install location
Also reuse install location for previous installs if present

Example Usage: .\podman-4.3.2-setup.exe InstallFolder=C:\Other\Loc

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-11-28 15:46:35 -06:00
Anjan Nath 1498f924b2 pkginstaller: install podman-mac-helper by default
this runs the /opt/podman/bin/podman-mac-helper install
in the postinstall script

[NO NEW TESTS NEEDED]

Signed-off-by: Anjan Nath <kaludios@gmail.com>
2022-11-21 13:14:13 +05:30
Ed Santiago 34020b353a CI: Package versions: run in the 'main' step
...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>
2022-11-16 06:52:07 -07:00
Anjan Nath f0dba82bb3 pkginstaller: bump Qemu to version 7.1.0
this updates the Makefile qemu version to make use new qemu released at
https://github.com/containers/podman-machine-qemu/releases/tag/v7.1.0-1

[NO NEW TESTS NEEDED]

Signed-off-by: Anjan Nath <kaludios@gmail.com>
2022-11-14 11:59:06 +05:30
OpenShift Merge Robot 911dc94d23
Merge pull request #16478 from edsantiago/docs_version_check
[CI:DOCS] New tool, docs/version-check
2022-11-10 19:48:09 +00:00
OpenShift Merge Robot 4a4d35d5f4
Merge pull request #16414 from cevich/fix_cirrus_cron_jobs
[CI:BUILD] Fix cirrus cirrus-cron GHA workflow scripts, add checks, and tests
2022-11-10 17:16:38 +00:00
Ed Santiago db439dd23e New tool, docs/version-check
Intended to be run from nightly Cirrus cron job.

 1) Queries github for highest-sorting (not necessarily "latest") tag
 2) Checks that the Windows MSI exists, fails if not
 3) Cross-checks markdown files to ensure they have up-to-date links

When run interactively, it will auto-update the .md files
to show and link to the latest version. This makes it easy
for anyone to then submit an update PR.

And, it turns out that MSI is obsolete, the new thing is EXE.
Update the tutorials to reflect that.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-11-10 08:54:56 -07:00
Valentin Rothberg 4408072108 contrib/cirrus/check_go_changes.sh: ignore test/tools/vendor
To avoid false positives if dependencies get bumped in test/tools.

Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
2022-11-10 10:39:27 +01:00
Chris Evich 0334d8d611
Cirrus: Add tests for GHA scripts
Also, fix the rerun_cirrus_cron workflow.  Thanks @ygalblum for spotting
the error.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-07 11:47:30 -05:00
Chris Evich d17b7d852a
Cirrus: Shellcheck github-action scripts
Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-07 11:46:34 -05:00
Chris Evich 2ee40287e0
Cirrus: shellcheck support for github-action scripts
This should help catch some obvious gaffs and/or style/lint type
problems.  Maybe.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-07 11:46:34 -05:00
Daniel J Walsh efbad590d7
Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-11-04 10:57:41 -04:00
Chris Evich f3195c930b
Cirrus: Never skip running Windows Cross task
All the other Windows tasks depend on access to a podman-remote build
from the Alt. Arch. `Windows Cross` task.  Re-arrange the test-skipping
call to never skip here only.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-03 16:17:24 -04:00
Ed Santiago d7e70c7489 CI: set and verify DESIRED_NETWORK (netavark, cni)
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>
2022-11-03 04:40:42 -06:00
Chris Evich 8530724555
Cirrus: Guarantee CNI testing w/o nv/av present
Comments added to code for clarity.

Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-02 13:42:06 -04:00
Chris Evich ecd1927b4c
Cirrus: Update to F37beta
Signed-off-by: Chris Evich <cevich@redhat.com>
2022-11-02 13:38:28 -04:00
Jason T. Greene 884350d999 Add Windows Smoke Testing
Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2022-11-02 00:52:09 -05:00
Ed Santiago f0f12658de Test runners: nuke podman from $PATH before tests
We've had some oopsies in system tests:

    podman foo bar
    run podman foo bar

...all of which should be run_podman with underscore. Those
have been passing because /usr/bin/podman is the fallback
from $PATH. In those (few) cases, we haven't actually been
testing the podman we should be testing.

Solution: nuke /usr/bin/podman and podman-remote before
invoking system and unit tests. As an extra level of
paranoia, check for other podmans in $PATH - if any
exist, bail out with a fatal error.

Also: in a few cases where runner.sh invokes podman for
containerized something-something, run bin/podman instead
of podman from $PATH.

Also: fix existing dependencies on /usr/bin/podman

Signed-off-by: Ed Santiago <santiago@redhat.com>
2022-10-26 19:07:20 -06:00