564 Commits

Author SHA1 Message Date
e6ac569a14 [CI:DOCS] Remove outdated references
The container image build automation no longer lives here, it was moved
to containers/image_build.

Also strip out a few lingering comments referencing gitleaks, which was
removed from automation use.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-03-08 08:59:28 -05:00
432f4fbf99 Fix Mac CI
Building arm podman needs to be the last thing built in the OSX cross task. The Mac tests rely this Podman binary to run, and the CI Mac is ARM-based

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-03-07 18:42:29 -05:00
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
3b72f9178f Revert "Expose as-tested Mac/Windows repository state"
Fix artifacts task error:

```
Failed to upload artifacts:
rpc error: code = FailedPrecondition
desc = Artifacts size is too big!
```

This reverts commit 698219cf9882ff0d229cd10bab0afd03ba09884b.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-03-04 15:08:37 -05:00
ef6d387525 Bump to FreeBSD 13.3 (13.2 vanished)
[NO NEW TESTS NEEDED]

Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
2024-03-03 18:02:45 -06:00
a1177f5961 Merge pull request #21871 from edsantiago/logformatter-on-mac
CI: run logformatter on mac
2024-02-29 10:06:49 +00:00
c1ac602d39 Merge pull request #21868 from edsantiago/reenable-boltdb-upgrade-test
Reenable boltdb upgrade tests
2024-02-29 09:47:35 +00:00
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
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
064258b496 Reenable boltdb upgrade tests
Upgrade-from-v4.1 was temporarily disabled in #21618: we brought
in new CI VMs, and v4.1 setup no longer works. Nobody quite
understands why, and we've hit diminishing returns in the
investigation (#21863). The current thinking is that it
is related to netavark, and versions < 1.3 do not work
in the current f39 VMs. (No clue why, because f39 kernel
did not change in #21618).

Anyhow, reenable the pre-4.8 upgrade test, using v4.3.1
which has netavark-1.4.0 which seems to work fine. For now.

Also, some upgrade test cleanup:
 - Skip, not fail, if initial setup fails. Makes for less noisy logs.
 - Remove duplicate --pid=host
 - Ports: 808x -> 909x, because 8081 is used by restraint on 1mt

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-02-28 11:49:54 -07:00
f9303983df Merge pull request #21674 from cevich/add_repo_artifact
[CI:BUILD] Expose as-tested Mac/Windows repository state
2024-02-27 21:08:54 +00:00
698219cf98 Expose as-tested Mac/Windows repository state
This is needed by podman desktop CI, to ensure their 'latest' testing
jobs continuously and exactly match the podman repository state +
related binaries.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-27 12:18:39 -05:00
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
25cbff1f34 Merge pull request #21753 from mheon/mac_lint
Enable lint for Darwin and fix identified issues
2024-02-26 19:26:57 +00:00
19b676f855 Enable lint for Darwin and fix identified issues
[NO NEW TESTS NEEDED] Just fixing lint issues

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-02-26 11:01:54 -05:00
1b068b79f4 Fix nightly cron checks
Broken by #21777: "set -u" causes clone_script to barf with

    CIRRUS_PR: unbound variable

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-02-26 07:10:27 -07:00
bb44510db6 Merge pull request #21639 from cevich/require_build
Rearrange CI tasks for safety + efficiency
2024-02-22 21:05:08 +00:00
f601a446bc Bump VMs. New pasta, gvisor
Need pasta 02-20, gvisor 0.7.3

https://github.com/containers/automation_images/pull/329#issuecomment-1959742060

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-02-22 09:09:39 -07:00
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
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
889454104e Turn WSL machine tests back on
[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-02-15 16:31:10 -06:00
92d6194f01 Fix freebsd indentation + enable release-testing tasks
**Depends on:**
- https://github.com/containers/podman/pull/21551
- https://github.com/containers/podman/pull/21562
- https://github.com/containers/podman/pull/21564

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-13 16:39:26 -05:00
464638cc8d Enable windows and PM windows testing
**Depends on:**
- https://github.com/containers/podman/pull/21551
- https://github.com/containers/podman/pull/21562

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-13 14:27:04 -05:00
007ccee9e2 Merge pull request #21618 from edsantiago/vms-with-netavark-10-3
Bump CI VMs to ones with netavark 1.10.3
2024-02-13 02:42:56 +00:00
5eb801a562 Bump CI VMs to ones with netavark 1.10.3
And, runc-1.12 broke our seccomp e2e tests (runc now calls getcwd(),
which is the dummy syscall blocked for testing seccomp). Switch
to blocking link() instead.

Also, disable v4.1.0 upgrade tests. They're hanging, and I have
no idea why, and have wasted most of a day debugging.

Fixes: #21546

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-02-12 13:55:03 -07:00
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
477cb90a30 Update .cirrus.yml
Co-authored-by: Chris Evich <cevich@redhat.com>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-02-10 14:46:34 -06:00
325d7f4890 Re-enable mac testing
we were fighting a flake earlier, so the mac test was removed again and
the suspected commit was removed.  this turns the test back on so we can
see if we pass cleanly.

[NO NEW TESTS NEEDED]

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-02-10 13:32:23 -06:00
b7d15a2efe Merge pull request #21558 from Luap99/freebsd-build
pkg/machine: make it build for freebsd
2024-02-08 18:54:09 +00:00
4570ccb95d Merge pull request #21535 from edsantiago/upgrade_tests
Upgrade tests: reenable, but revamped
2024-02-08 17:26:11 +00:00
9f38b22152 pkg/machine: make it build for freebsd
This is completely untested as I do not have access to a freebsd system
but it compiles and changes look simple enough to assume it works.

[NO NEW TESTS NEEDED]

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-02-08 17:43:50 +01:00
30fb5de719 Restore Cirrus DEST_BRANCH to main
This slipped in from the machine-dev-5 branch merge. Oops.

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-02-08 09:35:39 -05:00
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
90c938737a Add functionality for podman machine set --rootful
Adds the functionality for `podman machine set --rootful` for AppleHV,
QEMU, and HyperV. Abstracts the functionality out to a method of
`MachineConfig`. WSL currently uses a function `SetRootful` that is
provided by the `machine` package, which will eventually get changed
when WSL moves to the refactored structure.

Re-enables the "set rootful with docker sock change" test.

[NO NEW TESTS NEEDED]

Signed-off-by: Jake Correnti <jakecorrenti+github@proton.me>
Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-02-07 13:24:18 -06:00
f23b144c60 Podman Machine AppleHV CI fixes
This PR contains several fixes that allow the applehv podman tests run
to completion.

Signed-off-by: Brent Baude <baude@redhat.com>
2024-02-07 09:19:16 -06:00
b1ce6ef9a8 podman machine 5 - hyperv
this pr represents the podman 5 maching refactoring for HyperV.  with
the exception of already skipped tests, all local tests pass.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-02-07 09:18:51 -06:00
9bb191df51 [CI:MACHINE]Podman5 QEMU refactor
The following PR is the leading PR for refactoring podman machine with
the following goals:

* less duplication/more re-use
* common configuration file between providers
* more consistentency in how machines are handled by providers

The goal of this PR is the rough refactor.  There are still rough spots
for sure, specifically around the podman socket and pipe.  This
implemention is only for Linux. All other providers are still present
but will not compile or work.  This is why tests for them have been
temporarily suspended.

The ready socket code is another area that needs to be smoothed over.
Right now, the ready socket code is still in QEMU.  Preferably it would
be moved to a generic spot where all three approaches to readiness
socket use can be defined.

It should also be noted:

* all machine related tests pass.
* make validate for Linux passes
* Apple QEMU was largely removed
* More code pruning is possible; will become clearer when other
  providers are complete.

the dir pkg/machine/p5 is not permanent.  i had to seperate this from
machine initially due to circular import problems.  i think when all
providers are done (or nearly done), it can be placed and named
properly.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-02-07 09:18:36 -06:00
855a7cf0f4 Merge pull request #21413 from cevich/machine_cron
Include machine-tests in cirrus-cron jobs
2024-02-06 14:41:03 +00:00
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
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
daf7a2c069 Merge pull request #21372 from cevich/win_mac_lint
Run lint for mac builds
2024-02-03 13:19:30 +00:00
39f22c3821 Include machine-tests in cirrus-cron jobs
Irrespective of reason/cause, a commit was merged into main that broke
podman-machine, and went unnoticed for several days.  Improve the
situation by including podman-machine testing in the daily cirrus-cron
builds.  These are monitored by e-mail when `Total Success` reports a
failure.

Also: Add a comment for Windows & Mac build tasks, documenting the
reason they don't execute on RHEL release branches.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-02 14:46:54 -05:00
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
3f3d1e4de7 Temporarily ignore mac-linting failures
As of this commit, there are several pages worth of lint findings for
the mac.  Once they're all addressed, this commit may be reverted to
enable continuous checking.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-01 09:49:53 -05:00
d9ad7cbc94 Run lint for mac builds
There are darwin-specific code paths which were not being linted prior
to this commit.  Fix this with a new, darwin-specific section of the lint
runner script.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-02-01 09:49:53 -05:00
0ec84b8ec5 Revert "Enable win podman-machine test failure"
This reverts commit f9e8585c5354748b2a77ed65d214adfe7c6ae5fe.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-01-29 09:30:04 -05:00
585fbe373d Run mac jobs on labeled hosts
This is needed to support an upcoming management script change.
I've already updated all the workers to be sensitive
to this label.

Ref:
https://github.com/cirruslabs/cirrus-cli/blob/master/PERSISTENT-WORKERS.md#reserved-labels

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-01-11 11:05:56 -05:00
8c546cf7ee CI: bump VMs
All VMs have pasta 2023-12-04, so, remove a skip.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-01-02 16:10:35 -07:00
9877dc4980 Merge pull request #20946 from cevich/machine_run_sooner
Support a CI-colon-MACHINE mode
2023-12-11 19:37:59 +00:00
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