735 Commits

Author SHA1 Message Date
21d0711a02 contrib/systemd: move podman-auto-update units
There is really no reason why these should be in separate dir.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-10-17 17:48:28 +02:00
04dffbc2c7 cirrus: change alt arch task to only compile binaries
The current podman-release-%.tar.gz target does a lot more then just
checking if we can build for the given arch, in particular it first
builds a local podman-remote for the remote-docs.sh script. This makes
things slow as we compile several things and then builda and package the
docs. Given the docs are not arch specific there is realy no point in
doing all that work. All we care about is if the bianries can build on
other arches to catch compile issue for otherwise untested arches.

This should make the CI Alt Arch. tasks much faster.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-10-11 11:25:33 +02:00
bc3db7c95b Makefile: allow man-page-check to be run in parallel
This target runs several scripts in serial but they do not have any
dependencies so we can split them all into their own target so that make
-j can run the targets in parallel to speed this up.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-10-11 11:25:33 +02:00
e2e1996c6a Makefile: fix ginkgo FOCUS option
This fixes a regression that causes the FOCUS option to not work
correctly as the --silence-skips is passes to --focus not as extra
option.

Fixes 23f256349b ("Makefile - silence skipped tests when focusing on a file")

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-10-07 11:56:41 +02:00
23f256349b Makefile - silence skipped tests when focusing on a file
Signed-off-by: Ygal Blum <ygal.blum@gmail.com>
2024-10-02 09:54:06 -04:00
d571ca6536 system test parallelization: enable two-pass approach
For the past two months we've been splitting system tests
into two categories: those that CAN be run in parallel,
and those that CANNOT. Much work has been done to replace
hardcoded names (mycontainer, mypod) with safename().
Hundreds of test runs, in CI and on Ed's laptop, have
proven this approach viable.

make {local,remote}system now runs in two steps: first
the serial ones, then the parallel ones. hack/bats will
now recognize the 'ci:parallel' tag and add --jobs (nprocs).

This requires some tweaking of leak_check, because there
can be umpteen tests running (affecting image/container/pod/etc
state) when any given test completes.

Rules for enabling parallelization in tests:

   * use unique container/pod/volume/network names (safename)
   * do not run 'podman rm -a' or 'rmi -a'
   * never use the -l (--latest) option
   * do not run 'podman ps/images' and expect precise output

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-09-17 09:25:02 -06:00
49a07fce49 update golangci-lint to 1.61.0
Silence some new warnings that should not matter here.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-09-17 13:30:59 +02:00
b645f708f8 Merge pull request #23875 from rhatdan/rootless
Add podman-rootless.7 man page
2024-09-06 08:51:55 +00:00
4700b5a58a Add codespell config, pre-commit definition, and move options from Makefile
Signed-off-by: Yaroslav Halchenko <debian@onerussian.com>
2024-09-05 13:56:03 -04:00
c317da8deb Add podman-rootless.7 man page
This is a follow up to 5389eee7376cf81fbfdaf58cd58d38b287f5da23
to add rooltess.md information to man pages to help users
discover solutions to troubleshooting and rooless issues.

Specicifally I was surprised when binding to ports < 1024 was
not covered in podman-troubleshooting.7 man page.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-09-05 09:56:48 -04:00
94431c29b4 cirrus: remove ginkgo-e2e.json artifact
It is not used by anybody so we do not have to store these and can safe
some time by not having to generate it even if it is just ~500ms.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-29 18:59:46 +02:00
5389eee737 Create a podman-troubleshooting man page
Generated at build time from troubleshooting.md. Purpose is
to ship an actual man page to end users.

Much more complicated than initial guess, because there was
a bug in my Makefile man page filtering, the sed expression
that cleans up markdown that does not translate to roff.
All I've done here is reorder some of the expressions,
stripping off https links *before* we process
podman man page links.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-08-28 05:49:45 -06:00
4178d7011f Merge pull request #23751 from containers/renovate/golangci-golangci-lint-1.x
[CI:DOCS] Update dependency golangci/golangci-lint to v1.60.3
2024-08-26 14:53:25 +00:00
d04f0d2802 Merge pull request #23748 from cfergeau/gvproxy075
build: Update gvisor-tap-vsock to 0.7.5
2024-08-26 14:50:40 +00:00
07c9fe82a8 [CI:DOCS] Update dependency golangci/golangci-lint to v1.60.3
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-26 12:26:17 +00:00
5f57f4ea22 build: Update gvisor-tap-vsock to 0.7.5
This should fix the regression reported in
https://github.com/containers/podman/issues/23616

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-08-26 13:19:50 +02:00
cae427e2f8 Makefile: remotesystem: use real podman server, no --url
Belated followup to #21965.

All this time, we've been creating a socket and running

    podman-remote --url /path/to/socket

This dates back to varlink. Remember varlink?

There's no need for it. Let's run podman system service
with no args. That's a more realistic test, and it makes
our logs cleaner as a bonus.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-08-22 18:43:35 -06:00
a581bbdb3d Merge pull request #23688 from containers/renovate/golangci-golangci-lint-1.x
[CI:DOCS] Update dependency golangci/golangci-lint to v1.60.2
2024-08-22 13:53:48 +00:00
17193af962 CI: On vX.Y-rhel branches, ensure that some downstream Jira issue is linked
In the RHEL specific branches we want to ensure that all MRs link to
at least one downstream Jira ticket. To do this we add a new test in
validate-source similar to the existing pr-should-include-tests. This
test only runs on actual pull requests.

The syntax for linking to a Jira is "Fixes " or "Fixes: ", followed by
one jira links, like so:

```
Fixes https://issues.redhat.com/browse/RHEL-50506
Fixes: https://issues.redhat.com/browse/RHEL-50506
```

Note: This is the same syntax as for a regular github issue reference.

Signed-off-by: Alexander Larsson <alexl@redhat.com>
2024-08-22 11:53:25 +02:00
13b31845c8 [CI:DOCS] Update dependency golangci/golangci-lint to v1.60.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-20 21:47:30 +00:00
145c7511aa CI: disable ginkgo flake retries
As discussed in Aug 13 Cabal, we are almost at a point where
e2e tests are reliably passing on the first try. Let's try to
keep things that way, and not hide future flakes.

Closes: #17967

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-08-19 06:48:15 -06:00
c17daf2b09 update golangci-lint to 1.60.1
Fixes new spotted issues around printf() formats and using os.Setenv()
in tests.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-08-19 11:41:28 +02:00
dcdb5408de De-duplicate docker-py testing
Previously there were two CI tasks that ended up both testing docker-py
compatibility.  Remove the duplicate from the `localapiv2-python` make
target, and symlink the identical requirements file.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-08-09 10:13:02 -04:00
599c0d167c build: Update gvisor-tap-vsock to 0.7.4
This contains a fix for a gvproxy crash on macos on fast connections
with heavy network load.

This should fix https://github.com/containers/podman/issues/23114

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
2024-07-24 16:21:00 +03:00
2015137eee Merge pull request #23367 from rhatdan/codespell
Run codespell on source
2024-07-23 23:11:32 +00:00
96771eec53 Fix outdated comment for the build step win-gvproxy
Signed-off-by: Arthur Sengileyev <arthur.sengileyev@gmail.com>
2024-07-23 17:18:29 +03:00
7768cf235e Run codespell on source
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-07-23 07:28:23 -04:00
6c75a10875 Run linting in parallel with building
Linting code changes with golangci-lint is a very slow and resource
intensive process.  However, it does not depend on compiling anything.
This means it may run in parallel with the build tasks for
a modest perceived runtime duration improvement.

Additionally, the former validation make targets that **do** require a
build execute faster than CI is able to provision a VM, simply tack them
onto the end of all build operations.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-25 14:27:56 -04:00
7ff4bbae26 Fix missing Makefile target dependency
This was likely hidden by the CI system.  Fix it.

Signed-off-by: Chris Evich <cevich@redhat.com>
2024-06-25 14:12:55 -04:00
1a6a200403 CI: logformatter: link to correct PR base
Two enormous misunderstandings:

  1) $CIRRUS_BASE_SHA is worthless. I thought it was, you know,
     the BASE SHA of the current commit, but (as best I can tell)
     it seems to be the SHA of the most recent commit on the
     destination branch. Cirrus docs are unhelpful. Anyhow,
     it's clearly not anything useful. Stop using it.

  2) $EPOCH_TEST_COMMIT is closer to what we want. It is
     defined in Makefile as the git merge-base. But for unknown
     reasons it was being clobbered in CI scripts, and it
     doesn't seem to work in all contexts, so, eliminate it
     from CI setup scripts. Leave it only in Makefile.

This leaves us with no option other than defining our own
merge-base variable, PR_BASE_SHA. Do so and pass it along
to rootless jobs.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-06-25 06:53:59 -06:00
00bcd9aa81 Merge pull request #22733 from nalind/system-check
Add `podman system check`
2024-06-13 10:35:56 +00:00
fa4f11facc update golangci-lint to v1.59.1
Includes fixes for new lint warnings from unparam and usestdlibvars.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-10 14:57:45 +02:00
80ed85dc17 run bats -T, to profile timing hogs
Signed-off-by: Ed Santiago <santiago@redhat.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-06-04 16:24:01 +02:00
2e70d4201f System tests: add podman system check tests
Testing `podman system check` requires that we have a way to
intentionally introduce storage corruptions.  Add a hidden `podman
testing` command that provides the necessary internal logic in
subcommands.  Stub out the tunnel implementation for now.

Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2024-06-04 10:00:37 -04:00
2b43f62233 update golangci-lint to v1.59.0
Remove deactivated linters from the config as they will be removed in
the future and thorw warnings, all of them were disabled already anyway
so this is no functional change.
Second, fix one new lint warning for fmt.Scanln() error checking.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-05-27 11:19:03 +02:00
fa05adba67 Merge pull request #22750 from containers/renovate/golangci-golangci-lint-1.x
[CI:DOCS] Update dependency golangci/golangci-lint to v1.58.2
2024-05-22 12:57:13 +00:00
d9d0840a4d [CI:DOCS] Update dependency golangci/golangci-lint to v1.58.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-19 19:56:20 +00:00
63df724a40 add podman-clean-transient.service service to rootless
Signed-off-by: jkwiatko <jkwiatkoski@protonmail.com>
2024-05-19 15:43:02 -04:00
f03dc68f00 Merge pull request #22654 from ashley-cui/val
[CI:DOCS] Improvements to make validatepr
2024-05-13 20:36:22 +00:00
aff18ba393 Merge pull request #22388 from xduugu/podman-remote-static-goos
Makefile: do not hardcode `GOOS` in `podman-remote-static` target
2024-05-13 19:46:45 +00:00
279e2d0cb2 [CI:DOCS] Improvements to make validatepr
Small usability improvements for our containerized validate target.

- Responds to SIGINT
- Exits if build fails, only validate if builds succeed
- Warns about potential of insufficient memory
- Document `make validatepr`

Signed-off-by: Ashley Cui <acui@redhat.com>
2024-05-09 10:06:47 -04:00
dfbb6ea9ff [CI:DOCS] Update dependency golangci/golangci-lint to v1.58.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 21:30:45 +00:00
6bdebea8ae update golangci-lint to 1.58
disable linters:
- mnd (magic number checker): it seems to complain about almost
  anything, while there might be a few valid findings most of them are
  useless
- canonicalheader: HTTP header syntax, most of the header are given by
  docker and are stable so we cannot change them anyway
- execinquery: it has been deprecated

goerr113 was renamed to err113

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-05-08 12:55:23 +02:00
c94a720bb3 Merge pull request #22494 from baude/validateimage
Use custom image for make validatepr
2024-04-26 15:03:49 +00:00
ca23774b5b Use custom image for make validatepr
The fedora image reviewers wanted to use for make validatepr is not
being being built as a multiarch image.  Use quay.io/libpod/validatepr
instead.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-04-26 07:53:16 -05:00
d1bfdc7900 e2e and bindings tests: fix $PATH setup
Both tests need the podman-registry script in $PATH, this never worked
locally as only the cirrus specific CI setup scripts configured this.

To make it work correctly locally add the hack dir to $PATH for these
Makefile targets.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-04-26 14:37:27 +02:00
5040c6e390 Makefile: remove useless HACK variable in e2e test
This doesn't do anything and I was unable to find anything in the git
history when or why it was added. The HACK var is just adding another
directory to the ginkgo argument list. As the only arg used was the
"./hack" dir which does not contain any go files it does nothing
besides confusing me about its purpose.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-04-26 14:36:20 +02:00
e8a9c58125 Update Makefile to Go 1.22 for in-container
This unbreaks make vendor-in-container now that we have the
`toolchain` line in go.mod.

Signed-off-by: Matt Heon <mheon@redhat.com>
2024-04-25 12:12:48 -04:00
714920512e Makefile: do not hardcode GOOS in podman-remote-static target
Signed-off-by: Cedric Staniewski <cedric@gmx.ca>
2024-04-16 00:28:29 +02:00
5e9725983d install swagger from source
First of all this removes the need for a network connection, second
renovate can update the version as it is tracked in go.mod.

However the real important part is that the binary downloads are
broken[1]. For some reason the swagger created with them does not
include all the type information for the examples. However when building
from source the same thing works fine.

[1] https://github.com/go-swagger/go-swagger/issues/2842

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-04-12 15:26:34 +02:00