Files
podman/contrib/cirrus/rootless_test.sh
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

47 lines
823 B
Bash
Executable File

#!/bin/bash
set -e
remote=0
# The TEST_REMOTE_CLIENT environment variable decides whether
# to test varlink
if [[ "$TEST_REMOTE_CLIENT" == "true" ]]; then
remote=1
fi
source $(dirname $0)/lib.sh
if [[ "$UID" == "0" ]]
then
echo "Error: Expected to be running as a regular user"
exit 1
fi
# Which set of tests to run; possible alternative is "system"
TESTSUITE=integration
if [[ -n "$*" ]]; then
TESTSUITE="$1"
fi
# Ensure environment setup correctly
req_env_var GOSRC ROOTLESS_USER
echo "."
echo "Hello, my name is $USER and I live in $PWD can I be your friend?"
echo "."
export PODMAN_VARLINK_ADDRESS=unix:/tmp/podman-$(id -u)
show_env_vars
set -x
cd "$GOSRC"
make
make varlink_generate
make test-binaries
if [ $remote -eq 0 ]; then
make local${TESTSUITE}
else
make remote${TESTSUITE}
fi