Commit Graph

325 Commits

Author SHA1 Message Date
Sorin Sbarnea 86ef7db536 build: improved main makefile
* added .install.md2man as dependency for docs, fixed broken build
  on systems that do not have go-md2man preinstalled.
* sorted PHONY targets

Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2019-12-02 16:47:30 +00:00
Sorin Sbarnea 7262e545c8 Detect Python executable in Makefile
`make help` failed on modern platforms that have only
python3 executable installed.

Signed-off-by: Sorin Sbarnea <ssbarnea@redhat.com>
2019-11-27 19:27:14 +00:00
Lokesh Mandvekar 2785615209 create a separate install target for seccomp
podman in Fedora gets seccomp.json from containers-common while
the one in Ubuntu PPA gets seccomp.json from containers-golang.

This change will let me use install.config target unmodified
in downstream packages.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2019-11-10 13:42:29 -05:00
Daniel J Walsh 5f3a61ed42
Add support for make vendor-in-container
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-11-08 06:27:17 -05:00
Giuseppe Scrivano 16cb2b38a8
Makefile: add vendor-in-container
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-11-06 16:22:17 +01:00
Morten Linderud 9558797fb7
[Makefile] Fix docker documentation install and generation
The final versions of the documentation has been shifted from `docs/` to
`docs/build/man`. Most of the Makefile has been changed accordingly, but
the docker documentation generation was not.

Introduced by #4354

Signed-off-by: Morten Linderud <morten@linderud.pw>
2019-11-02 13:05:34 +01:00
OpenShift Merge Robot ffe36ea996
Merge pull request #4354 from baude/newdocsstruct
Restructure documentation dir
2019-10-31 19:39:44 +01:00
OpenShift Merge Robot 3e2d9f8662
Merge pull request #4352 from vrothberg/config-package
refactor libpod config into libpod/config
2019-10-31 19:21:46 +01:00
Jhon Honce 486fcd4e1e Update document formatting and packaging code
* Refactored code and Makefile to support new docs layout
* Removed some old code packaging code
* Add Readme.md to document what we're doing

Signed-off-by: Jhon Honce <jhonce@redhat.com>
Signed-off-by: baude <bbaude@redhat.com>
2019-10-31 12:31:39 -05:00
baude 52b92023ed Restructure documentation dir
Restructuring the docs dir to make integration with sphinx easier.  man
pages now exist in docs/source/man and the sphinx make files exists in
docs.

Signed-off-by: baude <bbaude@redhat.com>
2019-10-31 12:31:39 -05:00
Valentin Rothberg 11c282ab02 add libpod/config
Refactor the `RuntimeConfig` along with related code from libpod into
libpod/config.  Note that this is a first step of consolidating code
into more coherent packages to make the code more maintainable and less
prone to regressions on the long runs.

Some libpod definitions were moved to `libpod/define` to resolve
circular dependencies.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-10-31 17:42:37 +01:00
Giuseppe Scrivano 2046be6ae0
build: drop support for ostree
it is going to be removed from containers/image as well, so no longer
depend on it.

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-10-30 11:28:10 +01:00
Akihiro Suda a9976049f0 Makefile: fix embedding gitCommit
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2019-10-29 23:56:34 +09:00
baude aac33a4a30 Initial checking for readthedocs
Signed-off-by: baude <bbaude@redhat.com>
2019-10-22 15:28:32 -05:00
Matthew Heon e2ddfd704b Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-10-17 15:09:46 -04:00
Matthew Heon a1dd2c0ec4 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-10-16 15:32:13 -04:00
Colin Walters ca29a5b2f9 Make user io.podman.service unit WantedBy=default.target
`multi-user.target` doesn't exist in the systemd *user* instance.
We can't hook up the startup of a user unit to a system target.

Doing so causes systemd to error out in Fedora CoreOS builds
during presets.

Make it depend on `default.target` instead.

(Having the same unit in both system and user sessions has some
 tricky bits like this)

Signed-off-by: Colin Walters <walters@verbum.org>
2019-10-11 12:57:59 +00:00
Chris Evich ffe726ed64
Cirrus: Produce and collect varlink output
When executing 'make remotesystem' testing, a varlink process is started
up but it's stdio is dumped due to the production of excessive data.
However, this also means if the process has a problem, any errors will
not be accessible.

Instead, grab only the last 100 lines and direct them into a file.  Also
update automation's log collection to retrieve this file when the
`$REMOTE_CLIENT` env. var. is `true`.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-10-08 16:47:37 -04:00
Matthew Heon 119bc9b6f8 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-10-02 17:39:05 -04:00
Matthew Heon 3018d700bb Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-10-02 12:42:13 -04:00
Matthew Heon d74fb433a8 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-09-30 19:02:29 -04:00
Nalin Dahyabhai ff2a4ae71c Add a missing escape in the Makefile
Signed-off-by: Nalin Dahyabhai <nalin@redhat.com>
2019-09-26 18:11:26 -04:00
OpenShift Merge Robot 19075ca16e
Merge pull request #4104 from mheon/bump-1.6.0-rc2
Bump to 1.6.0-rc2
2019-09-25 20:44:13 +02:00
Matthew Heon df433f6f16 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-09-24 16:40:22 -04:00
Chris Evich 90f82335d9
Cirrus: Fail early on CI script unit test
Instead of running this basic checks for almost all tasks, just do them
once at the beginning.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-09-23 13:41:28 -04:00
Jhon Honce 96bcf8cecc Support podman-remote help on windows
* Update scipts to produce darwin and windows output
* Update batch file to re-direct help requests to browser
* Add pandoc filter for markdown to html links

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-09-19 14:14:38 -07:00
Matthew Heon 3ad8a349c9 Bump Gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-09-16 09:55:50 -04:00
Jhon Honce 046c081ed0 Add podman icon to installer
Update Makefile per review comments

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-09-12 09:35:54 -07:00
Jhon Honce ecb958e598 Support building Windows msi file
* Update Makefile to build msi
* Add podman.wxs to define podman.msi
  * Version information provided by Makefile
* Add podman.bat wrapper for podman-remote-windows.exe to ensure environment
* Add wix xml schemas for reference

Signed-off-by: Jhon Honce <jhonce@redhat.com>
2019-09-11 16:15:52 -07:00
OpenShift Merge Robot f73c3b868d
Merge pull request #3973 from baude/validateupdate
add lint and manpage check to make validate
2019-09-11 16:45:55 +02:00
baude ba7e863ac3 add lint and manpage check to make validate
make validate now runs golangci-lint and the man-page-checker to ensure
a PR is ready for our CI system.

Signed-off-by: baude <bbaude@redhat.com>
2019-09-10 05:45:59 -05:00
Christian Felder 82025e7dbe Fixup Makefile for BSD systems, e.g. macOS
The bsd variant of `ln` does not support the ``-T`` option.
Testing for existence using wildcard before creating new symlinks
should be sufficient here. Furthermore the target directory is
managed internally by this Makefile anyway.

Signed-off-by: Christian Felder <c.felder@fz-juelich.de>
2019-09-07 19:42:41 +02:00
Valentin Rothberg 90ebd7c909 Makefile: use go proxy
Use GOPROXY=https://proxy.golang.org to speed up fetching dependencies.
Setting it makes `make vendor` three times faster in my local env.

For details please refer to https://proxy.golang.org/.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-08-30 10:32:29 +02:00
Chris Evich 370b1a887c
Cirrus: Reimplement release archive + upload
The initial implementation was far more complicated than necessary.
Strip out the complexities in favor of a simpler and more direct
approach.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-08-28 11:54:06 -04:00
OpenShift Merge Robot 67926d86b5
Merge pull request #3824 from baude/varlinkendpointtest
Create framework for varlink endpoint integration tests
2019-08-26 17:11:12 +02:00
baude 04f2f95bb4 Create framework for varlink endpoint integration tests
add the ability to write integration tests similar to our e2e tests for
the varlink endpoints.

Signed-off-by: baude <bbaude@redhat.com>
2019-08-16 10:10:50 -05:00
Matthew Heon 5d107a2288 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-08-15 17:13:21 -04:00
OpenShift Merge Robot b6c9b10867
Merge pull request #3662 from marusak/user_socket_service
Add user systemd service and socket
2019-08-13 15:57:27 +02:00
Matej Marusak daf7044aa9 Add user systemd service and socket
This enables user to interact with varlink and create/manage rootless
containers through it.

Using as:
`varlink call unix:/run/user/1000/podman/io.podman/io.podman.ListContainers`

Signed-off-by: Matej Marusak <mmarusak@redhat.com>
2019-08-13 07:00:56 +02:00
Ashley Cui 99494b55bc Homebrew installation in install.md
Add brew installation instructions to docs & small fix to brew makefile

Signed-off-by: Ashley Cui <ashleycui16@gmail.com>
2019-08-12 15:03:20 -04:00
OpenShift Merge Robot d65cb66437
Merge pull request #3758 from edsantiago/bats
implement 'make remotesystem'
2019-08-10 11:52:44 +02:00
Matthew Heon 580795077e Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-08-09 16:00:38 -04:00
Ed Santiago 5c108cdab4 implement 'make remotesystem'
podman-remote rm now works; that's the only thing we were
waiting for to enable podman-remote (varlink) system tests.

Add a (too-complicated, sorry) Makefile target that will
define a random socket path, start the podman varlink server,
and run the test suite using podman-remote.

Also: add two convenience functions, is_rootless and is_remote,
and use those in skip_if_rootless/if_remote and elsewhere

Also: workarounds for broken tests:
 - basic version test: podman-remote emits an empty 'Client'
   line. Just ignore it.
 - looks like 'podman-remote pod' doesn't work; skip test.

Also: minor documentation update

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-08-08 11:44:55 -06:00
baude 096af85278 add make to make installs
as issue #2702 describes, we want to make podman and podman-remote as
part of make install.

Fixes: #2702

Signed-off-by: baude <bbaude@redhat.com>

avoid `make` in `make install` in the rpmbuild process.

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2019-08-07 14:52:49 -04:00
Valentin Rothberg 39a9099b3b go build: use `-mod=vendor` for go >= 1.11.x
Go 1.13.x isn't sensitive to the GO111MODULE environment variable
causing builds to not use the vendored sources in ./vendor. Force builds
of module-supporting go versions to use the vendored sources by setting
-mod=vendor.

Verified in a fedora:rawhide container.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-08-01 14:04:17 +02:00
Chris Evich 3e3afb942a
Cirrus: Fix release dependencies
The release-task ***must*** always execute last, in order to guarantee a
consistent cache of release archives from dependent tasks.  It
accomplishes this by verifying it's task-number matches one-less than
the total number of tasks.  Previous to this commit, a YAML anchor/alias
was used to avoid duplication of the dependency list between 'success'
and 'release'

However, it's been observed that this opens the possibility for
'release' and 'success' tasks to race when running on a PR.  Because
YAML anchor/aliases cannot be used to modify lists, duplication is
required to make 'release' actually depend upon 'success'.

This duplication will introduce an additional maintenance burden.
Though when adding a new task, it's already very easy to forget to
update the 'depends_on' list.  Assist both cases by the addition
unit-tests to verify ``.cirrus.yml`` dependency contents and structure.

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-31 11:49:53 -04:00
Ashley Cui ce0132a45e Documenation & build automation for remote darwin
Created shell script to automatically compile remote-only docs & rename
Added make brew-pkg to automatically package files needed for homebrew
Add missing docs

Signed-off-by: Ashley Cui <ashleycui16@gmail.com>
2019-07-25 15:36:39 -04:00
baude 0c3038d4b5 golangci-lint phase 4
clean up some final linter issues and add a make target for
golangci-lint. in addition, begin running the tests are part of the
gating tasks in cirrus ci.

we cannot fully shift over to the new linter until we fix the image on
the openshift side.  for short term, we will use both

Signed-off-by: baude <bbaude@redhat.com>
2019-07-22 15:44:04 -05:00
Lawrence Chan 2be57e1386 Make GOPATH-related symlinking more precise
This change tweaks the symlink commands that are invoked when libpod is
not on GOPATH. This has the following effects:

- If the working directory is not "libpod", it will still create the
  symlink at the correct github.com/containers/libpod path.
- If the github.com/varlink directory/symlink already exists, it will
  still create the symlink at the intended path.

Signed-off-by: Lawrence Chan <element103@gmail.com>
2019-07-17 22:02:58 -05:00
Valentin Rothberg aa28dbbf88 analyse package sizes
Analyse the size of all go-packages used during the build process via
the newly added `hack/analyses/go-archive-analysis.sh` script.  The
script expects the `WORK` environment variable to be set, which points
to a temporary work directory generated by `go build`.  To generate such
a work directory, set the `BUILDFLAGS="-work -a"`:

 * `-work` for creating the work directory
 * `-a` to force rebuilding all packages even when already cached

The workflow may look as follows:

```
$ BUILDFLAGS="-work -a" make podman
[...]
WORK=/tmp/go-build127001249
$ WORK=/tmp/go-build127001249 ./hack/analyses/go-archive-analysis.sh
```

The output of the script has the format `$SIZE $PACKAGE` where $SIZE is
the size of the compiled version of the go package (i.e., `.a` file) and
$PACKAGE for the corresponding package, for instance, `math/big` for a
stdlib package or vendor/...  for vendored packages.

Credits to the authors of https://github.com/jondot/goweight, which
inspired this work.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-07-16 14:16:16 +02:00
OpenShift Merge Robot 81e722d086
Merge pull request #3106 from cevich/cirrus_release
Cirrus: Automate releasing of tested binaries
2019-07-10 15:08:03 +02:00
Ed Santiago b205e044d6 make localsystem: wipe all user config state
CI is experiencing failures in the system_test step, caused by
podman commands issuing the following warning:

   time="2019-07-09T13:30:19-04:00" level=error msg="User-selected graph driver \"overlay\" overwritten by graph driver \"vfs\" from database - delete libpod local files to resolve

Hypothesis: integration tests, which run just before us, are
leaving user config files in an unstable state.

Workaround: delete all user cache and config and db before
running system tests. This should be safe, and should be
a NOP when running as root.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-07-09 13:33:30 -06:00
baude 1d36501f96 code cleanup
clean up code identified as problematic by golands inspection

Signed-off-by: baude <bbaude@redhat.com>
2019-07-08 09:18:11 -05:00
Chris Evich 1ef8637ae3
Cirrus: Automate releasing of tested binaries
It's desirable to make archives available of builds containing actual
tested content.  While not official distro-releases, these will enable
third-party testing, experimentation, and development for both branches
(e.g. "master") and pull requests (e.g. "pr3106").

* Add a Makefile targets for archiving both regular podman binaries
  and the remote-client.  Encode release metadata within these
  archives so that their exact source can be identified.

* Fix bug with cross-compiling remote clients for the Windows and Darwin
  platforms.

* Add unit-testing of cross-compiles for Windows and Darwin platforms.

* A few small CI-script typo-fixes

* Add a script which operates in two modes:

  1. Call Makefile targets which produce release archives.
     Upload the archive to Cirrus-CI's built-in caching system
     using reproducible cache keys.

  2. Utilize reproduced cache keys to attempt download of cache
     from each tasks.  When successful, parse the file's
     release metadata, using it to name the archive file.  Upload
     all recovered archives to a publicly accessible storage bucket
     for future reference.

* Update the main testing task to call the script in mode #1 for
  all primary platforms.

* Add a new `$SPECIALMODE` task to call the script in mode #1 for
  Windows and Darwin targets.

* Add a new 'release' task to the CI system, dependent upon all other
  tasks.  This new tasks executes the script in mode #2.

* Update CI documentation

Signed-off-by: Chris Evich <cevich@redhat.com>
2019-07-03 16:51:21 -04:00
OpenShift Merge Robot a22a32a0a5
Merge pull request #3437 from giuseppe/fix-nocgo
build: allow to build without cgo on RISC-V
2019-07-03 15:58:26 +02:00
Matthew Heon 7b0cdd8c16 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-07-02 14:58:54 -04:00
Giuseppe Scrivano 473d060454
cirrus: add test for compiling without cgo
Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
2019-07-02 16:41:11 +02:00
Valentin Rothberg 9697b0d91f Makefile: set GO111MODULE=off
Turn of go modules to avoid breaking build environments to accidentally
try pulling the dependencies instead of using the ./vendor directory.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-06-27 16:24:16 +02:00
Matthew Heon 9cb7586eef Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-06-25 15:46:02 -04:00
Valentin Rothberg d697456dc9 migrate to go-modules
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-06-24 13:20:59 +02:00
Valentin Rothberg a3211b73c6 Makefile: add go-get function
Add a `go-get` function to the Makefile to wrap `go get -u` into a
wrapper disabling go modules.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-06-24 11:15:31 +02:00
Morten Linderud 156ebcbdf9
Support Reproducible Builds by removing build path
An issue for achieving reproducible builds is build artifacts where
build paths are embedded. We remove them by passing the current working
directory to -gcflags and -asmflags which prefix trims the paths.

Note: Go 1.13 includes `-trimpath`

https://reproducible-builds.org/docs/build-path/

Signed-off-by: Morten Linderud <morten@linderud.pw>
2019-06-20 23:25:44 +02:00
Morten Linderud 8f7255657a
Support SOURCE_DATE_EPOCH
Build artifacts embeds the current date of the build into the artifact.
If anyone want to reproduce the software at a later date there is no way
to pass a recorded date or fake it in the build system at a later point.

https://reproducible-builds.org/docs/source-date-epoch/

Signed-off-by: Morten Linderud <morten@linderud.pw>
2019-06-20 23:25:21 +02:00
Matthew Heon 6a9d2c0991 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-06-18 19:27:19 -04:00
Ed Santiago d6f436204f run BATS tests in Cirrus
I'm running the BATS tests manually once in a while, and
catching several problems each week that make it past
the rest of CI. Since the BATS tests run at RPM gating
time, we need to catch problems earlier. Try running
the tests from Cirrus.

Tests will be skipped on Ubuntu due to a too-ancient
version of coreutils (8.28; the 'timeout -v' we use
requires 8.29).

Tests are run *after* integration tests, even though
these take three minutes and would be nice to have
fail quickly, because running before causes bizarre
CI failures. Shrug.

UPDATE: also fix run test, broken by #3311.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-06-17 13:41:14 -06:00
Lawrence Chan 6ea12e3028 Improve DESTDIR/PREFIX/ETCDIR handling
- PREFIX is now passed saved in the binary at build-time so that default
  paths match installation paths.
- ETCDIR is also overridable in a similar way.
- DESTDIR is now applied on top of PREFIX for install/uninstall steps.
  Previously, a DESTDIR=/foo PREFIX=/bar make would install into /bar,
  rather than /foo/bar.

Signed-off-by: Lawrence Chan <element103@gmail.com>
2019-06-14 17:42:05 -05:00
Matthew Heon 0cc87f28ec Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-06-14 18:19:30 -04:00
Matthew Heon 7ce4036187 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-06-07 16:49:51 -04:00
Daniel J Walsh 6154ba4a80
install.remote should be separate for install.bin
For people who want to install podman remote or podman
only we need to separate out the two install commands.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2019-05-17 14:20:45 -04:00
Matthew Heon a61ebf0446 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-16 17:38:43 -04:00
OpenShift Merge Robot 95d90c1de7
Merge pull request #3127 from mheon/fix_start_race
Ensure that start() in StartAndAttach() is locked
2019-05-16 01:08:05 +02:00
OpenShift Merge Robot 7ede159465
Merge pull request #3089 from baude/splittest
split remote tests from distro tests
2019-05-15 22:20:04 +02:00
Matthew Heon d1f82231d6 Add debug mode to Ginkgo, collect debug logs in Cirrus
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-15 12:07:16 -04:00
baude a86aa4b1e9 split remote tests from distro tests
We want the remote tests for our distributions to be tested in a
different VM than the local tests.  This allows for faster CI runs and
easier debug as well as seperation of flakes.

Signed-off-by: baude <bbaude@redhat.com>
2019-05-13 12:17:55 -05:00
Sascha Grunert d1fc3fc702
Add `systemd` build tag
If the systemd development files are not present on the system which
builds podman, then `podman events` will error on runtime creation.
Beside this, a warning will be printed when compiling podman.

This commit mainly exists because projects which depend on libpod
would not need the podman event support and therefore do not need to
rely on the systemd headers.

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-05-13 14:00:27 +02:00
Matthew Heon 6e0cb42529 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-05-06 09:41:21 -04:00
Ed Santiago 295c531ece cirrus lib.sh: refactor req_env_var()
Existing code was not working due to a bash gotcha ('exit'
from a pipeline). It also had unnecessary duplication.

New version is safer; also includes unit tests run under localunit.

Existing invocations of req_env_var replaced via:

   $ [ edit setup_environment.sh, move one closing quote to its own line ]
   $ perl -ni -e 's/(?<=req_env_var )"(\S+)\s+\$\1"/$1/; if (/req_env_var "$/ .. /^\s*"/) { chomp; s/(?<=\S)\s.*//; if (/^\s*"/) { print "\n" } else { unless (/req_env_var/) { s/^\s+//; print " ";} print;} } else { print }' $(ack -l req_env_var)
   $ [ hand-massage an incorrect instance of '@' in lib.sh:ircmsg() ]

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-05-02 08:14:59 -06:00
baude 0b6bb6a3d3 enable podman-remote on windows
build a podman-remote binary for windows that allows users to use the
remote client on windows and interact with podman on linux system.

Signed-off-by: baude <bbaude@redhat.com>
2019-04-30 15:28:39 -05:00
Kunal Kushwaha 4f7cbce911 build podman-remote with Dockerfile.
build podman-remote binaries for linux & darwin in container

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
2019-04-25 17:44:40 +09:00
Sascha Grunert 88b0e74e0b
Update registrar unit tests to match them of cri-o
- Add the test framework abstraction
- Update the unit tests to run with ginkgo

Signed-off-by: Sascha Grunert <sgrunert@suse.com>
2019-04-04 08:53:32 +02:00
Matthew Heon fa2933e6ab Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-30 11:33:15 -04:00
Ed Santiago 6aa8078cc1 zsh completion
Weekend hack by someone who doesn't grok zsh completion
but who finds it deeply offensive that most completion
files have an unmaintainable duplication of options
and arguments. The idea behind this one is to discover
the command line using --help, with a few hardcoded
helpers for discovering containers, images, pods,
and figuring out which args take files/dirs as args.

Working remarkably well. I am using this in my daily
routine and wondering how I ever managed without it.
It's not perfect -- a future version can perhaps
show only stopped containers for podman rm, only
running ones for podman stop -- but ROI seems low
on that given my limited zsh completion skills.

Sadly, I can't figure out how to write a regression
test suite for this. It would be lovely to have a
list if partial command lines and expected completions,
because the history of this change is that (seemingly)
minor tweaks in one place cause breakage in another.
Does anyone know of such a framework?

Still... working well enough to ship, IMO.

Signed-off-by: Ed Santiago <santiago@redhat.com>
2019-03-13 16:40:07 -06:00
baude c8ca027938 Add gating tasks
to protect against regressions, we need to add a few gating tasks:
 * build with varlink
 * build podman-remote
 * build podman-remote-darwin

we already have a gating task for building without varlink

Signed-off-by: baude <bbaude@redhat.com>
2019-03-13 12:10:35 -05:00
OpenShift Merge Robot 720e9c5ab4
Merge pull request #2598 from mheon/crio_umount_is_useless
We don't use crio-umount.conf
2019-03-09 03:30:08 -08:00
Matthew Heon caa8c66a87 We don't use crio-umount.conf
It also causes conflicts with CRI-O packages.

Also, change the path on seccomp.json so it lives in /usr/share
by default, with everything else.

Fixes #2596

Signed-off-by: Matthew Heon <mheon@redhat.com>
2019-03-08 18:22:10 -05:00
baude d5546008ab ginkgo status improvements
a series of improvements to our ginkgo test framework so we can
get better ideas of whats going on when run in CI

Signed-off-by: baude <bbaude@redhat.com>
2019-03-08 13:28:33 -06:00
OpenShift Merge Robot 645426fe79
Merge pull request #2528 from cevich/more_time
Globally increase test timeout to 90-minutes
2019-03-05 06:34:03 -08:00
Matthew Heon eedc4cf4d2 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-04 19:34:07 -05:00
Chris Evich e6e6cb384c
Globally increase test timeout to 90-minutes
Signed-off-by: Chris Evich <cevich@redhat.com>
2019-03-04 15:19:15 -05:00
Matthew Heon c8e8732ee1 Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-03-01 18:03:53 -05:00
Matthew Heon 86141f9eba Bump gitvalidation epoch
Signed-off-by: Matthew Heon <matthew.heon@pm.me>
2019-02-26 17:33:45 -05:00
baude d2601eeaa3 build varlink without GOPATH
when gopath was not explicitly set, make would fail due
to the varlink generator.  this symlink in the makefile
addresses that.

fixes: #1842

Signed-off-by: baude <bbaude@redhat.com>
2019-02-13 12:25:08 -06:00
Lars Karlitski 38e42476cb Makefile: Don't include quotes around GIT_COMMIT
These quotes were included in the varlink `GetVersion()` call.

Signed-off-by: Lars Karlitski <lars@karlitski.net>
2019-02-12 14:47:49 +01:00
baude a1ab6788e4 Remove urfave/cli from libpod
This is the final cleanup to remove urfave/sli from libpod.  Removed
old, disabled tests that have not been run in over a year.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-11 17:48:34 -06:00
baude 25a3923b61 Migrate to cobra CLI
We intend to migrate to the cobra cli from urfave/cli because the
project is more well maintained.  There are also some technical reasons
as well which extend into our remote client work.

Signed-off-by: baude <bbaude@redhat.com>
2019-02-08 10:26:43 -06:00
OpenShift Merge Robot 01f436ca47
Merge pull request #2288 from vrothberg/vendor-docs
Vendor docs
2019-02-07 15:46:49 +01:00
Valentin Rothberg 0f0ba53030 make vendor: always check for latest vndr
@baude and I have recently debugged a `make vendor` issue, where
different versions of `vndr` leave slightly different states behind.
This ultimately leads to inconsistencies with the CI, which always
fetches the latest version.

To avoid such issues in the future, always use the latest version of
`vndr` by checking for new versions of it prior to execution.

Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
2019-02-07 14:25:54 +01:00
Hervé Beraud 7c5641cddf Add varlink generate to the make documentation
Minor improvement who add helping comment to the
varlink generate target.

Signed-off-by: Hervé Beraud <hberaud@redhat.com>
2019-02-07 09:35:11 +01:00
OpenShift Merge Robot 72fcfb7e86
Merge pull request #2283 from 4383/improve-makefile
Generate make helping message dynamicaly.
2019-02-06 22:45:51 +01:00
Hervé Beraud e0c3af6523 Generate make helping message dynamicaly.
Generate make helping message dynamicaly by using
python code snippet inside Makefile.

All commented make targets will be added to the
help message. To be added to the helping message
comment need to start with '## '.

These specials comments are detected by the python code.
Python code generate the helping output from these results.

Notice that this commit introduce a dependency with python (compatible python 2 and 3).

Signed-off-by: Hervé Beraud <hberaud@redhat.com>
2019-02-06 20:15:53 +01:00