aboutsummaryrefslogtreecommitdiff
path: root/contrib
Commit message (Collapse)AuthorAge
* Cirrus: Fix tag & branch go checks failingChris Evich2022-10-03
| | | | | | | | When running on a branch or tag, `req_env_vars()` will call `exit(1)` because `$CIRRUS_PR` is empty (as expected). The original intention was to simply skip language checks on non-PRs. Fix the condition to match. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #16001 from cevich/image_readmeOpenShift Merge Robot2022-09-30
|\ | | | | [CI:DOCS] Add quay-description update reminder
| * [CI:DOCS] Add quay-description update reminderChris Evich2022-09-29
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Combine build and code consistency tasksChris Evich2022-09-29
| | | | | | | | | | | | | | | | | | | | It's conceivable for CI to spend a lot of time testing code which otherwise should be rejected due to quality problems. Previously this was validated in a dedicated task, however a failure would still fail the CI run. Simplify the number of CI tasks by combining the consistency check at the tail-end of the build task. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Combine pre-test checks into build taskChris Evich2022-09-29
|/ | | | | | | | | | | | Previously, two tasks always ran first, prior to anything else. One to verify network and external-service connectivity. Another to verify certain important `.cirrus.yml` standards are met. However, as the total number of tasks continues to grow, the need to keep these basic checks as dedicated prerequisites is of decreasing value/importance. Fold these two checks into a new `pretesting_script` component of the Fedora `build` task, on both `x86_64` and `aarch64`. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #15917 from cevich/check_new_go_codeOpenShift Merge Robot2022-09-29
|\ | | | | [CI:BUILD] Check new go code
| * Cirrus: Add golang code consistency check scriptChris Evich2022-09-26
| | | | | | | | | | | | | | | | Depends on #15893 Fixes: #15913 Signed-off-by: Chris Evich <cevich@redhat.com>
* | CI: only make install.tools when neededEd Santiago2022-09-27
|/ | | | | | | | | | | | | | | | | | | Reintroduce .install.foo targets into Makefile, and invoke only the bare-minimum ones needed for each individual CI step in setup_environment.sh. Also add a retry to the golangci-lint curl, in hopes of dealing with network flakes. And remove the -f (fail) because it produces unhelpful logs. Reason: saw about 25% CI flakes yesterday due to the golangci-lint fetch, something about a timeout, and this was especially frustrating because none of the steps actually needed lint. Quick reminder: avoid network fetches unless absolutely necessary. Fixes: #15892 Signed-off-by: Ed Santiago <santiago@redhat.com>
* Merge pull request #15813 from praveenkumar/podman-remote-container-fileOpenShift Merge Robot2022-09-26
|\ | | | | [CI:BUILD] Contrib: Add containerfile to create podman-remote binary image
| * Contrib: Add containerfile to create podman-remote binary imagePraveen Kumar2022-09-26
| | | | | | | | | | | | Try to partial address #14664 Signed-off-by: Praveen Kumar <kumarpraveen.nitdgp@gmail.com>
* | Cirrus: Catch use of deprecated io/ioutil packageChris Evich2022-09-23
| | | | | | | | | | | | | | | | At the time of this commit, there's no easier way to detect this using `golangci-lint` or the go tool (that I could find). A future update to the `go list` command may support detection, for now use a CI script. Signed-off-by: Chris Evich <cevich@redhat.com>
* | pkginstaller: use path_helper to add podman and helpers to pathAnjan Nath2022-09-19
|/ | | | | | | | | path_helper(8) appends the contents of /etc/paths.d/podman-pkg to the PATH env [NO NEW TESTS NEEDED] Signed-off-by: Anjan Nath <kaludios@gmail.com>
* Add win-installer build/verify workflows to CIJason T. Greene2022-09-06
| | | | Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
* Add new windows installer and buildJason T. Greene2022-09-06
| | | | Signed-off-by: Jason T. Greene <jason.greene@redhat.com>
* Cirrus: pick UIDs/GIDs starting at 1500, not 1000Ed Santiago2022-08-31
| | | | | | | | | Reason: looks like UIDs 1001, 1003, 1006 are already taken in the CI VMs. Fixes: #15573 Signed-off-by: Ed Santiago <santiago@redhat.com>
* Merge pull request #15489 from ashley-cui/makepkgOpenShift Merge Robot2022-08-25
|\ | | | | [CI:DOCS] Automatically set podman version in pkginstaller
| * [CI:DOCS] Automatically set podman version in pkginstallerAshley Cui2022-08-25
| | | | | | | | | | | | Allow the pkginstaller makefile target to take advantage of Podman's version binary, alleviating the need to manually set Podman's version (and inevitably forgetting to do so). This means the pkginstaller Makefile will automatically detect what version of Podman we're packaging. Signed-off-by: Ashley Cui <acui@redhat.com>
* | Use tmpfiles.d specifiers instead of fixed pathSeongChan Lee2022-08-24
|/ | | | | | | | | Rootless Docker daemon exposes its API socket on `$XDG_RUNTIME_DIR/docker.sock`. On tmpfiles.d, `%t` is same as `$XDG_RUNTIME_DIR` in `--user` mode, and `/run` otherwise. We can reuse the same config file for both mode with this change. Signed-off-by: SeongChan Lee <foriequal@gmail.com>
* Cirrus: add podman_machine_aarch64Lokesh Mandvekar2022-08-17
| | | | | | | | | Run machine tests on every PR as label-driven machine test triggering is currently hard to predict and debug. Co-authored-by: Ed Santiago <santiago@redhat.com> Co-authored-by: Miloslav Trmač <mitr@redhat.com> Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* Cirrus: Update podman-machine commentChris Evich2022-08-15
| | | | | | Replace TODO comment with helpful hint for future maintainers. Signed-off-by: Chris Evich <cevich@redhat.com>
* podman-kube@.service.in: Remove Restart=never option with typoAndrew Gunnerson2022-08-13
| | | | | | | | | | systemd expects the value of the option to be `no` instead, but this is already the default behavior. This fixes the following warning when running `systemctl status` on the unit: Failed to parse service restart specifier, ignoring: never Signed-off-by: Andrew Gunnerson <chillermillerlong@hotmail.com>
* Fix updated link to install instructionsWilliam Entriken2022-08-11
| | | | Signed-off-by: William Entriken <github.com@phor.net>
* Merge pull request #15225 from unknowndevQwQ/update_logoOpenShift Merge Robot2022-08-09
|\ | | | | [CI:DOCS]: update the podman logo
| * docs: update the podman logounknowndevQwQ2022-08-07
| | | | | | | | | | | | for podman/#15222 Signed-off-by: unknowndevQwQ <unknowndevQwQ@pm.me>
* | pkginstaller: use correct GOARCH value in case of arm buildAnjan Nath2022-08-08
|/ | | | | | | | | to compile arm bits the GOARCH should be set to amd64 script was wrongly using aarch64 instead [NO NEW TESTS NEEDED] Signed-off-by: Anjan Nath <kaludios@gmail.com>
* [CI:COPR] podman.spec.rpkg: add python3 dependency for el8Lokesh Mandvekar2022-08-05
| | | | | | | | | | EL8 builds are failing because hack/markdown-preprocess needs python3 which AFAICT isn't included by default in EL8 build environments. This commit also includes an additional `[CI:COPR]` mode which is currently runs the same tests as `[CI:DOCS]` but could differ in future. Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* pkginstaller: use correct GOARCH while building podman binariesAnjan Nath2022-08-04
| | | | | | | | | | we were not using the correct GOARCH to build the podman remote and podman-mac-helper binaries, this uses the ARCH value passed to the make invocation to set the GORACH [NO NEW TESTS NEEDED] Signed-off-by: Anjan Nath <kaludios@gmail.com>
* Merge pull request #15105 from anjannath/sign-qemuopenshift-ci[bot]2022-08-03
|\ | | | | Add steps to sign included qemu and notarize the built pkg
| * pkginstaller: makefile improvements to avoid redownloadingAnjan Nath2022-08-03
| | | | | | | | | | | | | | | | | | | | this updates downloading of gvproxy and qemu using a standard makefile rule which will avoid downloading them again if its already downloaded [NO NEW TESTS NEEDED] Signed-off-by: Anjan Nath <kaludios@gmail.com>
| * pkginstaller: add makefile target to notarize the built pkgAnjan Nath2022-08-03
| | | | | | | | | | | | [NO NEW TESTS NEEDED] Signed-off-by: Anjan Nath <kaludios@gmail.com>
| * pkginstaller: sign qemu-system-* binary for the pkgAnjan Nath2022-08-03
| | | | | | | | | | | | | | | | | | add file hvf.entitlements which has the com.apple.security.hypervisor entitlement needed for qemu [NO NEW TESTS NEEDED] Signed-off-by: Anjan Nath <kaludios@gmail.com>
* | Cirrus: use dnf instead of rpm to install packagesLokesh Mandvekar2022-08-02
|/ | | | Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* CI: new check for leftover skips/fixmesEd Santiago2022-07-28
| | | | | | | If a PR says "Fixes #123", make sure it removes skips and/or FIXME comments that reference issue 123. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Cirrus: enable Fedora 36 aarch64 tasks on EC2Lokesh Mandvekar2022-07-27
| | | | | | | | | | | new file: test/e2e/config_arm64.go Tests that fail on aarch64 have been skipped with `skip_if_aarch64`. Co-authored-by: Chris Evich <cevich@redhat.com> Co-authored-by: Ed Santiago <santiago@redhat.com> Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
* Merge pull request #14540 from anjannath/pkginstallerOpenShift Merge Robot2022-07-27
|\ | | | | Add support for building macOS pkg installer
| * Add support for building macOS pkg installerAnjan Nath2022-07-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | it installs podman and supporting binaries along with qemu to have a functioning podman install using a pkg podman and podman-mac-helper is compiled from source gvproxy binary is downloaded from its github releases and qemu from github release of containers/podman-machine-qemu [NO NEW TESTS NEEDED] Signed-off-by: Anjan Nath <kaludios@gmail.com>
* | Bump VMs, to Ubuntu 2204 with cgroups v1Ed Santiago2022-07-21
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and enable the at-test-time confirmation, the one that double-checks that if CI requests runc we actually use runc. This exposed a nasty surprise in our setup: there are steps to define $OCI_RUNTIME, but that's actually a total fakeout! OCI_RUNTIME is used only in e2e tests, it has no effect whatsoever on actual podman itself as invoked via command line such as in system tests. Solution: use containers.conf Given how fragile all this runtime stuff is, I've also added new tests (e2e and system) that will check $CI_DESIRED_RUNTIME. Image source: https://github.com/containers/automation_images/pull/146 Since we haven't actually been testing with runc, we need to fix a few tests: - handle an error-message change (make it work in both crun and runc) - skip one system test, "survive service stop", that doesn't work with runc and I don't think we care. ...and skip a bunch, filing issues for each: - #15013 pod create --share-parent - #15014 timeout in dd - #15015 checkpoint tests time out under $CONTAINER - #15017 networking timeout with registry - #15018 restore --pod gripes about missing --pod - #15025 run --uidmap broken - #15027 pod inspect cgrouppath broken - ...and a bunch more ("podman pause") that probably don't even merit filing an issue. Also, use /dev/urandom in one test (was: /dev/random) because the test is timing out and /dev/urandom does not block. (But the test is still timing out anyway, even with this change) Also, as part of the VM switch we are now using go 1.18 (up from 1.17) and this broke the gitlab tests. Thanks to @Luap99 for a quick fix. Also, slight tweak to #15021: include the timeout value, and reword message so command string is at end. Also, fixed a misspelling in a test name. Fixes: #14833 Signed-off-by: Ed Santiago <santiago@redhat.com>
* [CI:DOCS] Cirrus: Add prominent gitlab warningChris Evich2022-07-21
| | | | | | | It was not obvious enough in the scripts how much of a snowflake this environment is. Fix that with lots of capitalized words and asterisks. Signed-off-by: Chris Evich <cevich@redhat.com>
* Run codespellDaniel J Walsh2022-07-18
| | | | Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
* CI: sanity check for desired runtimeEd Santiago2022-07-12
| | | | | | | | | | | | | | | We're still not testing runc in CI (#14833), and it may be weeks or months before we can, due to criu/glibc nightmare, but one day we'll be back on track, then later on we'll update VMs again, and screw it up, and lose runc, and not notice, and RHEL will break, and oh noes headless chicken again, repeat repeat. We can do better. Use .cirrus.yml to explicitly define which VMs should use which runtimes, and enforce it early in the CI build step. This should never fail (uh huh) in a PR, only in one of the update-VM PRs. Signed-off-by: Ed Santiago <santiago@redhat.com>
* Merge pull request #14896 from edsantiago/logformatter_by_taskopenshift-ci[bot]2022-07-12
|\ | | | | logformatter: link by *task ID*, not build ID
| * logformatter: link by *task ID*, not build IDEd Santiago2022-07-11
| | | | | | | | | | | | | | | | | | Reason: task IDs are unique and permanent; linking by build ID and task name is non-unique, because Re-run. Fixes: #14863 Signed-off-by: Ed Santiago <santiago@redhat.com>
* | [CI:DOCS] Improve language. Fix spelling and typos.Erik Sjölund2022-07-11
|/ | | | | | | | | * Correct spelling and typos. * Improve language. Co-authored-by: Ed Santiago <santiago@redhat.com> Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
* Cirrus: Add podman-machine integration testChris Evich2022-07-01
| | | | | | | | | | | | | | | | | | | | | | | The podman-machine integration tests are designed to execute on bare-metal, since they perform significant work with virtual-machines. This test is costly to run at scale, so it is limited to being manually triggered by developers (for now). A 'trigger' button will appear in the task status page of the Github WebUI once all test dependencies are met. In the Cirrus-CI WebUI, there is also a 'pre-trigger' button that may be pressed if a developer doesn't wish to wait. Also: * Add a `localmachine` target in the `Makefile` on the off-chance developers wish to execute locally. Update the `ginkgo-run` target to accommodate re-use by the new `localmachine` target. * Exclude `podman_machine` task from `success` dependency verification. This also involves adding an exception to `cirrus_yaml_test.py` otherwise it will complain loudly. * ***NOTE*** Inclusion of `ec2_instance` in *any* task will cause `hack/get_ci_vm.sh` to barf and be non-functional. Future updates will be made to restore functionality. Before then, simply comment out the `ec2_instance` section as a temporarily workaround. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Fix elevator workaround multi-cloud supportChris Evich2022-07-01
| | | | | | | | | | | | | | | | In order to support execution on various non-GCP cloud environments, the BFQ scheduler workaround needs updating. Previously it assumed the root disk was always `/dev/sda`. With the addition of new clouds (AWS) and different environment types, the assumption is not always valid. Update the workaround to take care in looking up the block device where '/' comes from. Also update the scheduler to 'none', as all modern clouds already have highly optimized underlying storage configurations. There's no reason to complicate I/O paths further by hard-coding specific scheduler(s) for all environment types. Signed-off-by: Chris Evich <cevich@redhat.com>
* podman-play-kube template: rename to podman-kubeValentin Rothberg2022-06-30
| | | | | | | | With the upcoming plans of introducing a podman-kube command with various subcommands, rename the podman-play-kube systemd template to podman-kube before releasing it. Signed-off-by: Valentin Rothberg <vrothberg@redhat.com>
* [CI:DOCS] Update podmanimage comment.Chris Evich2022-06-29
| | | | | | | Drop a reference as to why the `rpm --setcaps...` line is needed, along with a `TODO` reminder to check if it's still needed. Signed-off-by: Chris Evich <cevich@redhat.com>
* podman image scp remote support & podman image scp taggingcdoern2022-06-28
| | | | | | | | | | | | | | | | | | | add support for podman-remote image scp as well as direct access via the API. This entailed a full rework of the layering of image scp functions as well as the usual API plugging and type creation also, implemented podman image scp tagging. which makes the syntax much more readable and allows users t tag the new image they are loading to the local/remote machine: allow users to pass a "new name" for the image they are transferring `podman tag` as implemented creates a new image im `image list` when tagging, so this does the same meaning that when transferring images with tags, podman on the remote machine/user will load two images ex: `podman image scp computer1::alpine computer2::foobar` creates alpine:latest and localhost/foobar on the remote host implementing tags means removal of the flexible syntax. In the currently released podman image scp, the user can either specify `podman image scp source::img dest::` or `podman image scp dest:: source::img`. However, with tags this task becomes really hard to check which is the image (src) and which is the new tag (dst). Removal of that streamlines the arg parsing process Signed-off-by: Charlie Doern <cdoern@redhat.com>
* [CI:DOCS] Minor update to podmanimage upstream docsChris Evich2022-06-24
| | | | | | | Add a reference to where/how podman is compiled for the 'upstream' flavored image. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #14608 from edsantiago/logformatter_new_urlopenshift-ci[bot]2022-06-22
|\ | | | | logformatter: link to logs using Cirrus API