Commit Graph

1147 Commits (main)

Author SHA1 Message Date
Ed Santiago f16ab115ed logformatter: handle Windows logs
C-colon and backslashes and ^Ms oh my

Tested on sample failure and success logs, seems to work.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-03-18 15:28:24 -06:00
Paul Holzinger dbf38779bd
Makefile: drop tests-included from validate target
make validate should work locally, this check makes no sense in a local
context as it checks for a github label.
To fix this remove this check from the validate target and only use it
as part of the CI validate run.

While at it remove old dnf install step, the issue has been closed for a
long time and it should already be part of our base images.

Fixes #22031

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-03-13 18:17:43 +01:00
openshift-merge-bot[bot] cc495a9fac
Merge pull request #22014 from baude/norqdpolicy
do not require policy.json
2024-03-13 15:21:12 +00:00
Brent Baude d7bc7b7b41 do not require policy.json
we are having second thoughts about *requiring* a policy.json on podman
machine hosts.  we are concerned that we need to work out some more use
cases to be sure we do not make choices now that limit us in the near
term future. for example, should the policy files be the same for
container images and machine images? And should one live on the host
machine and the other live in the machine?

therefore, if a policy.json *is* present in the correct location, we will use and honor it; however, if it does not, we will allow the machine image to be pulled without a policy.

Signed-off-by: Brent Baude <baude@redhat.com>
Co-authored-by: Paul Holzinger <45212748+Luap99@users.noreply.github.com>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-03-13 09:07:51 -05:00
Mario Loriedo abaa179aa0 Add target win-gvproxy in winmake.ps1
For consistency with linux/osx makefile
I have added the win-gvproxy target as
an alias of win-sshproxy

[NO NEW TESTS NEEDED]

Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
2024-03-13 00:45:10 +01:00
openshift-merge-bot[bot] 38e22d443c
Merge pull request #21950 from cevich/move_podmanimage
[CI:DOCS] Migrate podman container image
2024-03-11 17:28:28 +00:00
openshift-merge-bot[bot] 45068124f0
Merge pull request #21985 from n1hility/fin-policy-json
Complete policy.json inclusion (Also add to win installer)
2024-03-07 21:13:38 +00:00
Jason T. Greene d54a373996 Complete policy.json inclusion
- Sets default search location to always be the peer directory
  + make podman-remote now creates binaries that work the same as release zips
- Updates release zip to match expected search location
- Updates win installer to include the file if present in the repo cross-build
  archive

[NO NEW TESTS NEEDED]

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2024-03-07 14:05:22 -06:00
Ashley Cui 75fa38d52e [CI:BUILD] Build universal Podman binary for Mac installer
Build universal Podman binary and installer for Mac. Update GitHub action to build it too.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-03-07 09:09:32 -05:00
Chris Evich d6d2601742
[CI:DOCS] Migrate podman container image
Moved to: https://github.com/containers/image_build

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-03-05 16:11:02 -05:00
Ed Santiago 530782e11d logformatter: fixes for Macintosh
Lots of small special-case tweaks to logformatter because Macs
have to be different.

Also fix:
 - Wrong slash in printf-newline, leading to gray [It] blocks
 - echo gitCommit, so we can link to sources
 - --image-path is deprecated

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-03-04 05:52:00 -07:00
Ed Santiago 99bb2bfce4 CI: must-add-tests check: use GH label, not text
Old way: edit commit message, add magic string, re-push

New way: repo maintainer adds a Github label to PR, hits Rerun

I've looked and looked for the history behind this script
and why I didn't do it this way in the first place. I've
concluded that I just never thought of it.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-03-01 05:32:06 -07:00
Ed Santiago 6957c78199 CI: run logformatter on mac
It works (verified in #17831). Imperfectly, because Macs don't
have a useful awk, so we can't get timestamps. I will, in time,
look into adding the timestamp functionality to logformatter
itself.

Also imperfect because it's not linkifying: source code paths
are dead text. I need to fix that, too, in logformatter, by
having it recognize /Users/Mac paths.

Imperfect as it may be, it was quick, and I think could provide
good bang for the buck in these Mac-intensive debugging days.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-02-28 20:14:05 -07:00
Brent Baude fd1d951262 Move ignition functions into Containerfiles
We used to use ignition to perform any customization required for podman
machine because our input was a generic FCOS image.  Now that we are
building our own images, some of this customization can be migrated to
the Containerfile itself and be less of a burden in our code at boot up.

At the time of this PR, the Containerfile can be found at
https://github.com/baude/podman-machine-images/tree/main.  It is only
present for a so-called daily image.  There is little liklihood that
this would the final location for the Containerfile so consider it a
working version only.

Split WSL and rest apart in the e2e tests so we no longer ppull the
generic FCOS image for testing.

Note: the change to the pull image name is so PRs are not immediately
broken that are already in the queue.

[NO NEW TESTS REQUIRED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-02-28 16:05:50 -06:00
openshift-merge-bot[bot] 4704418c13
Merge pull request #21841 from edsantiago/rawhide_rc6
new vms, with rc6 rawhide kernel
2024-02-27 19:40:56 +00:00
Christophe Fergeau 9f5c20f9bf
macos installer: Add vfkit entitlement
vfkit needs the com.apple.security.virtualization entitlement or it
wont' be able to start virtual machines:

Error: Error Domain=VZErrorDomain Code=2 Description="Invalid virtual machine configuration. The process doesn’t have the “com.apple.security.virtualization” entitlement." UserInfo={
    NSLocalizedFailure = "Invalid virtual machine configuration.";
    NSLocalizedFailureReason = "The process doesn\U2019t have the \U201ccom.apple.security.virtualization\U201d entitlement.";
}

This fixes https://github.com/containers/podman/issues/21842

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-02-27 17:47:49 +01:00
Christophe Fergeau 15734f8c5a
macos-installer: Remove hvf.entitlements
That's a left-over from 87947761ed

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-02-27 17:44:04 +01:00
Christophe Fergeau 74b87874b6
macos installer: Default to using ad-hoc signing
When there is no signing identity to pass to the macOS `codesign` tool,
we can use `-` instead as the identity to perform ad-hoc signing.

From `man codesign`:
> If identity is the single letter "-" (dash), ad-hoc signing is
> performed.  Ad-hoc signing does not use an identity at all

This makes it easier to test the sign() code-path in package.sh as
we'll run the same code regardless of `NO_CODESIGN` being set or not.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-02-27 17:44:01 +01:00
Ed Santiago c2a2113bb6 new vms, with rc6 rawhide kernel
Source: https://github.com/containers/automation_images/pull/331#issuecomment-1966677347

Kludgy VM build, because rawhide rc6 kernel is still not stable.
I would like to merge this anyway, because the rawhide hang is
hurting us badly. (I am not guaranteeing that this fixes the hang).

Also: new Windows VM has WiX 3.14 (up from 3.11).

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-02-27 09:42:43 -07:00
Paul Holzinger 1e5b5a8892
macos installer: install default policy.json file
Include a default policy.json file in the macos package so users do not
have to add this manually.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-02-27 15:31:09 +01:00
openshift-merge-bot[bot] bb44510db6
Merge pull request #21639 from cevich/require_build
Rearrange CI tasks for safety + efficiency
2024-02-22 21:05:08 +00:00
Chris Evich c4e68bdae4
Cirrus: Reuse shared clone script on Mac
The `Makefile` makes assumptions about git repo. clone details.
Because fixing the `Makefile` would likely be problematic, fix
the clone operation used on the Mac so that it matches what's used
on Linux.

Also, simplify git repo clone operations.  At some point in the
distant past, a git identity was required for CI to function properly.
That has since changed, so remove the unnecessary complexities.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-21 15:20:16 -05:00
Chris Evich f7d1726f93
Rearrange CI tasks for safety + efficiency
There's are sometimes conflicting purposes in podman CI:

1. Have the pipeline proceed in an orderly and progressive manner
   to sometimes save resources and unnecessary runtime.
2. Complete all testing as quickly as possible in support of
   human-developers moving on to other areas of work.
3. Ideally/hopefully, accomplish both items above safely,
   preventing untested and/or unintended changes from merging.

This commit shifts the balance of these slightly more toward the second
point.  It rearranges most CI tasks into essentially three buckets with
a single (new) aggregation task in-between the first two:

1. Build + Verify all the things
2. Test all the things
3. Minor/accessory things

The intention is that while we may unnecessarily spin some number of
testing tasks while others have failed, the best-case scenario
(everything passes) has a much shorter runtime.  In other words, it
potentially wastes more resources in favor of a chance to have
developers wait less.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-21 13:27:16 -05:00
openshift-merge-bot[bot] f756e5db68
Merge pull request #21747 from mheon/windows_lint
Fix Lint on Windows and enable the job
2024-02-21 00:47:04 +00:00
Matt Heon ec68f07c04 Fix Lint on Windows and enable the job
[NO NEW TESTS NEEDED] Purely refactoring

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-02-20 08:06:18 -05:00
Paul Holzinger 66fd41ff19
cirrus logcollector: update package list
aardvark-dns, netavark and passt are installed on both debian and
fedora. cri-o-runc is not installed anymore and it just uses the normal
runc package on debian. containers-common is called
golang-github-containers-common on debian and also uses
golang-github-containers-image for further config files from c/image.
This makes sure we correctly log all the package versions on debian
correctly.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-02-20 13:58:57 +01:00
openshift-merge-bot[bot] 9fc45088cb
Merge pull request #21587 from cevich/fix_podman_remote_image
[CI:DOCS] Remove disused Containerfile and docs
2024-02-20 09:46:31 +00:00
Chris Evich 068d4e81c7
Allow CI user to cleanup own files
According to https://go.dev/ref/mod#module-cache golang will leave
behind read-only bits.  It was observed that these cause the find/rm
cleanup operations to fail fail with `permission denied` on thousands
of files.  This is preventing cleanup of cruft from unrelated Cirrus-tasks
leading to unnecessary occupation of critical, local-ssd storage space.
Fix this by ensuring the user has at least write access to the entire
contents of `$TMPDIR` and `$HOME`, `ci` subdirs.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-14 10:29:51 -05:00
Ashley Cui 87947761ed [CI:BUILD] Add VFKit into pkginstaller, remove QEMU
Do not build and install QEMU in the pkginstaller. Instead, build, sign, and install VFKit.

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-02-13 10:20:03 -05:00
openshift-merge-bot[bot] fcd69c997e
Merge pull request #21542 from jakecorrenti/bump-gvproxy
Enable passing logfile to gvproxy
2024-02-12 21:49:41 +00:00
Chris Evich 00180bd5b3
Enforce podman-machine mac CI results
Followup to https://github.com/containers/podman/pull/21551

Note: Fixed indentation of podman-machine mac task.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-12 09:28:23 -05:00
openshift-merge-bot[bot] e16d82dbac
Merge pull request #21441 from cevich/win_lint
Windows-cross linting
2024-02-09 18:08:01 +00:00
Chris Evich 69163af2a0
Remove gitleaks scanning
Ref:
https://github.com/containers/podman/pull/21570#issuecomment-1935709148

This tool is really intended/best used from git pre-commit on developers
local machines, to prevent addition of secret leaks.  When used as a
check against PRs, it tends to turn up more false-positives than helpful
warnings.  There's no good way to fix this, and maintaining the scanner
is an additional burden.  Rather than continue struggling to improve/fix
the situation, let's just remove the tool entirely.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-09 10:09:42 -05:00
Chris Evich 5b6b689764
Remove disused Containerfile and docs
Fixes: #21574

The documentation for this image references a quay repository that
doesn't exist.  It doesn't appear any of these files have been touched
since late 2022. Instead of updating the docs, let's just remove the
source.  It's trivial to recreate if anybody actually needs it for
something.

Users needing to access remote podman can simply use the `podman` binary
present in existing images `quay.io/containers/podman`,
`quay.io/podman/stable`, etc.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-09 10:02:27 -05:00
Jake Correnti 69d54c482e Bump gvisor-tap-vsock from 0.7.2 to 0.7.3
Bump the gvisor-tap-vsock version that podman uses from 0.7.2 to 0.7.3

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
2024-02-08 08:31:50 -05:00
Ed Santiago e20b70c2e6 Upgrade tests: reenable, but revamped
No longer bother testing any 2.x or 3.x. Only 4.1 and above.

Remove all CNI-related code. CNI is gone.

Add DatabaseBackend tests, confirming that we can handle
both boltdb and sqlite.

Require BATS >= 1.8.0, and use "run -0" to do exit-status checks.

Update docs.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-02-08 06:22:56 -07:00
Chris Evich 43a01d7dc2
Temporarily ignore windows-linting failures
As of this commit, there are several pages worth of lint findings for
windows.  Once they're all addressed, this commit may be reverted to
enable continuous checking.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-06 16:28:38 -05:00
Chris Evich defbf42376
Lint before windows-cross build
Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-06 16:28:38 -05:00
Lokesh Mandvekar 01a8539ef0
Warn if cgroups-v1
Podman v5 will not support cgroups-v1. This commit will print a warning
if it detects a cgroups-v1 system. The warning can be hidden by setting
envvar `PODMAN_CGROUPSV1_WARNING`.

This warning is patched out for RHEL 9 builds as cgroups-v1 will still
be supported on RHEL 9 systems.

Resolves: https://issues.redhat.com/browse/RUN-1957

[NO NEW TESTS NEEDED]

Co-authored-by: Ed Santiago <santiago@redhat.com>
Co-authored-by: Sascha Grunert <sgrunert@redhat.com>
Co-authored-by: Giuseppe Scrivano <gscrivan@redhat.com>
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
2024-02-06 16:18:05 +05:30
Ashley Cui 26cd01ee51 Do not test CNI in CI
CNI is deprecated and is build tagged out for 5.0. Don't test it in our CI.
This commit also disables upgrade tests for now - those need more work since the old version of Podman only uses CNI. Upgrade tests will be re-vamped in a later commit.
Signed-off-by: Ashley Cui <acui@redhat.com>
2024-02-05 11:01:21 -05:00
Ed Santiago 1ab55defbb Test new CI VMs
From https://github.com/containers/automation_images/pull/325

Major change: netavark and aardvark are now included in prior-fedora,
so CNI can be fully eliminated from CI (#21410)

FIXME FIXME FIXME: skip two e2e tests, waiting for new netavark

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-02-01 09:50:41 -07:00
openshift-merge-bot[bot] 0655bf3d34
Merge pull request #21445 from anjannath/update-qemu
pkginstaller: bump Qemu version to 8.2.1
2024-01-31 03:29:32 +00:00
openshift-merge-bot[bot] 2632edc871
Merge pull request #21408 from cevich/re-enable_pm_win
Revert "Enable win podman-machine test failure"
2024-01-30 20:59:10 +00:00
Anjan Nath 76791a21c6 pkginstaller: bump Qemu version to 8.2.1
this updates the Makefile qemu version to use the qemu
8.2.1 build released at:
https://github.com/containers/podman-machine-qemu/releases/tag/v8.2.1-1

[NO NEW TESTS NEEDED]

Signed-off-by: Anjan Nath <kaludios@gmail.com>
2024-01-31 01:34:47 +05:30
Chris Evich 0ec84b8ec5
Revert "Enable win podman-machine test failure"
This reverts commit f9e8585c53.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-01-29 09:30:04 -05:00
Daniel J Walsh 8d14d41555
Run codespell on code
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-01-28 07:30:52 -05:00
Christophe Fergeau c566551e96 gvproxy: Update to 0.7.2 release
This updates the Windows installer and macOS installer to ship the newer
binaries, as well as the vendored gvisor-tap-vsock code.

[NO NEW TESTS NEEDED]

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-01-17 16:59:35 +01:00
Łukasz Stolcman e51bab3c97
Remove duplicated content in docs
Signed-off-by: Łukasz Stolcman <lukasz.stolcman@protonmail.com>
2023-12-15 23:54:03 +01:00
Łukasz Stolcman 7c72d8c2f3
Fix path to example files
Signed-off-by: Łukasz Stolcman <lukasz.stolcman@protonmail.com>
2023-12-15 00:37:53 +01:00
Chris Evich 95eb22c71c
Support a machine-test only mode
Because the podman machine tests normally run at the end of the chain,
it's time consuming for developers to validate machine-only changes.
Support a special CI runtime mode, only when a PR is marked as a draft.
Update related documentation

Also: Only run machine tests on PRs, never for branches or new tags.

Signed-off-by: Chris Evich <cevich@redhat.com>
2023-12-11 11:02:32 -05:00