Commit Graph

718 Commits

Author SHA1 Message Date
openshift-merge-bot[bot] 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
Alexander Larsson 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
renovate[bot] 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
Ed Santiago 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
Paul Holzinger 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
Chris Evich 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
Christophe Fergeau 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
openshift-merge-bot[bot] 2015137eee
Merge pull request #23367 from rhatdan/codespell
Run codespell on source
2024-07-23 23:11:32 +00:00
Arthur Sengileyev 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
Daniel J Walsh 7768cf235e
Run codespell on source
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2024-07-23 07:28:23 -04:00
Chris Evich 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
Chris Evich 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
Ed Santiago 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
openshift-merge-bot[bot] 00bcd9aa81
Merge pull request #22733 from nalind/system-check
Add `podman system check`
2024-06-13 10:35:56 +00:00
Paul Holzinger 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
Ed Santiago 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
Nalin Dahyabhai 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
Paul Holzinger 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
openshift-merge-bot[bot] 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
renovate[bot] 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
jkwiatko 63df724a40 add podman-clean-transient.service service to rootless
Signed-off-by: jkwiatko <jkwiatkoski@protonmail.com>
2024-05-19 15:43:02 -04:00
openshift-merge-bot[bot] f03dc68f00
Merge pull request #22654 from ashley-cui/val
[CI:DOCS] Improvements to make validatepr
2024-05-13 20:36:22 +00:00
openshift-merge-bot[bot] 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
Ashley Cui 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
renovate[bot] 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
Paul Holzinger 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
openshift-merge-bot[bot] c94a720bb3
Merge pull request #22494 from baude/validateimage
Use custom image for make validatepr
2024-04-26 15:03:49 +00:00
Brent Baude 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
Paul Holzinger 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
Paul Holzinger 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
Matt Heon 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
Cedric Staniewski 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
Paul Holzinger 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
Jhon Honce 49729c82a9 Update go-swagger version
Signed-off-by: Jhon Honce <jhonce@redhat.com>
2024-04-11 10:48:10 -07:00
openshift-merge-bot[bot] 2388b4571b
Merge pull request #22331 from edsantiago/tools-ginkgo-update
vendor ginkgo 2.17.1 into test/tools
2024-04-11 14:05:03 +00:00
Brent Baude e773ed42b3 [CI:DOCS]Initial PR validation
This PR is only a first step towards being able to validate developer
code locally prior to pushing a PR and using CI.  Right now, we have a
prepared image in a temporary spot (will change when done).  That image
can be used to exercise various podman builds, make validate, and DCO
check.

The idea here is we have a make target that spins a podman container (or
machine) and then execute a small script to perform the actual builds.
Note, these builds are to verify code, not make production binaries so
corners are cut.  As of now, we choose to not build cross-arch binaries
because most of our problems thus far have been operating system builds
and not arch.

Of course this can be expanded in the future.  This is just step one to
start getting some of it in place.  The rest of the work is tracked in
JIRA under two cards.

Signed-off-by: Brent Baude <bbaude@redhat.com>
2024-04-11 07:49:03 -05:00
Ed Santiago 67c6d7ec80 vendor ginkgo 2.17.1 into test/tools
...to match the version in root dir, to get rid of the mismatch
warning on every ginkgo run.

The last bump was done by renovatebot; I don't know why bot didn't
do it this time.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-04-10 15:18:42 -06:00
Paul Holzinger b9a8a2c61c
Makefile: fix annoying errors in docs generation
Currently when we run make docs we will see 100+ lines of
`grep: docs/build/man/links: Is a directory` printed.
This makes no sense as we should only try to validate the man page.

The manpage target is structured in a way that it runs the generation
for each file individually. As such the current way of grep'ing the
entire directory for each page is wrong. It should only validate the on
page that was created by the command above.

To fix this first define a OUTFILE var for the target to not have to
call the substitution every time we use the path and then only grep this
one file and not everything in the dir.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-04-08 14:13:17 +02:00
renovate[bot] ccb71f9ffa
[CI:DOCS] Update dependency golangci/golangci-lint to v1.57.2
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-03 15:34:21 +00:00
Ed Santiago 549dbf8327 [CI:DOCS] build deps: make-validate needs docs
The man-page-check target requires up-to-date man pages.

Closes: #22025

Signed-off-by: Ed Santiago <santiago@redhat.com>
2024-04-03 08:26:17 -06:00
Dan Čermák 1a99d87746
Inject additional build tags from the environment
This allows distros to easily add buildtags without patching the Makefile or
duplicating it in their build recipes

[NO NEW TESTS NEEDED]

Signed-off-by: Dan Čermák <dcermak@suse.com>
2024-04-02 14:48:52 +02:00
JiaLing Zhang c03256e23c Add LoongArch support for libpod
Change Makefile.

[NO NEW TESTS NEEDED]

Signed-off-by: JiaLing Zhang <zhangjialing@loongson.cn>
2024-03-21 15:56:25 +08:00
renovate[bot] 5e017a87a0
[CI:DOCS] Update dependency golangci/golangci-lint to v1.57.1
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 21:08:23 +00:00
renovate[bot] c66400f624
[CI:DOCS] Update dependency golangci/golangci-lint to v1.57.0
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-20 15:54:55 +00:00
Cedric Staniewski 7711833827 Makefile: add target `podman-remote-static`
This allows to build a static `podman-remote` binary for the host architecture.

Signed-off-by: Cedric Staniewski <cedric@gmx.ca>
2024-03-16 17:04:35 +01: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
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
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
Paul Holzinger 02403c2e6d
Makefile: podman should have correct selinux label
pasta only works when we run as container_runtime_exec_t, now that pasta
is the default this means that the current binary will not work when
doing local dev without manually fixing the label.

There are also other parts where the correct label is important. So as a
simple fix always set the proper label in the bin/podman target.
This also means we can drop this line from the hack/bats script.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2024-03-05 11:08:23 +01: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