summaryrefslogtreecommitdiff
path: root/.cirrus.yml
Commit message (Collapse)AuthorAge
* Merge pull request #3928 from edsantiago/enable_man_page_checker_in_ciOpenShift Merge Robot2019-09-04
|\ | | | | Enable hack/man-page-checker in CI
| * Enable hack/man-page-checker in CIEd Santiago2019-09-03
| | | | | | | | | | | | | | With huge thanks to @rwha for #3915. All man pages are clean and consistent now - let's keep them that way. Signed-off-by: Ed Santiago <santiago@redhat.com>
* | Cirrus: Remove image_prune YAML-alias workaroundChris Evich2019-08-30
|/ | | | | | | | | | | Originally when written, the image_prune_task was passing incorrect credentials into it's container. This was traced back to mishandling of a YAML-alias, and worked-around (including a comment). However, as of this commit, it appear YAML-alias substitution problem has been addressed. Restore the (correct) use of a YAML-alias so the correct credentials are passed into the prune container. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3710 from cevich/release_redoOpenShift Merge Robot2019-08-29
|\ | | | | Release redo
| * Cirrus: Reimplement release archive + uploadChris Evich2019-08-28
| | | | | | | | | | | | | | | | 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>
* | Merge pull request #3823 from cevich/prune_old_imagesOpenShift Merge Robot2019-08-28
|\ \ | |/ |/| Cirrus: Enable VM image housekeeping
| * Cirrus: Enable VM image housekeepingChris Evich2019-08-26
| | | | | | | | | | | | | | Also do some minor cleanup and add additional safety-checks to pruning script (container image). Signed-off-by: Chris Evich <cevich@redhat.com>
* | Add snap build test to success and release checkAnatoli Babenia2019-08-28
| | | | | | | | Signed-off-by: Anatoli Babenia <anatoli@rainforce.org>
* | Run `apt-get update` to avoid missing package while buildingAnatoli Babenia2019-08-28
| | | | | | | | Signed-off-by: Anatoli Babenia <anatoli@rainforce.org>
* | Use snapcraft on Ubuntu 18.04 for libostree-devAnatoli Babenia2019-08-28
| | | | | | | | Signed-off-by: Anatoli Babenia <anatoli@rainforce.org>
* | Test build snap with Cirrus CIAnatoli Babenia2019-08-28
|/ | | | Signed-off-by: Anatoli Babenia <anatoli@rainforce.org>
* Merge pull request #3824 from baude/varlinkendpointtestOpenShift Merge Robot2019-08-26
|\ | | | | Create framework for varlink endpoint integration tests
| * Create framework for varlink endpoint integration testsbaude2019-08-16
| | | | | | | | | | | | | | add the ability to write integration tests similar to our e2e tests for the varlink endpoints. Signed-off-by: baude <bbaude@redhat.com>
* | .cirrus.yml: use crun from git masterGiuseppe Scrivano2019-08-19
| | | | | | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* | Merge pull request #3822 from cevich/simplify_crun_taskOpenShift Merge Robot2019-08-17
|\ \ | | | | | | Cirrus: Minor: Simplify crun test task
| * | Cirrus: Minor: Simplify crun test taskChris Evich2019-08-16
| |/ | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* / Cirrus: Confirm networking moreChris Evich2019-08-16
|/ | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3649 from cevich/brent_is_backOpenShift Merge Robot2019-08-13
|\ | | | | Revert "Cirrus: Temp. workaround missing imgprune image"
| * Revert "Cirrus: Temp. workaround missing imgprune image"Chris Evich2019-08-12
| | | | | | | | | | | | This reverts commit 9b2e98f1e872354f0708a86b59e16b8b86e9f8b2. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #3607 from cevich/cgroup2_vmOpenShift Merge Robot2019-08-12
|\ \ | |/ |/| Add another Fedora VM with cgroups v2 enabled
| * Adjust get_ci_vm.sh for substitutionChris Evich2019-08-12
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
| * Cirrus: Add verification for cgroupv2 imageChris Evich2019-08-12
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
| * Cirrus: Add experimental fedora VM image & testChris Evich2019-08-12
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | cirrus: add tests with crun on Fedora 30Giuseppe Scrivano2019-08-12
|/ | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Cirrus: Add Second partition for storage testingChris Evich2019-08-01
| | | | | | | | | | This is mainly/initially to support use of Cirrus-CI in https://github.com/containers/buildah since that setup re-uses the VM images from this project. However, it also opens doors here, if libpod ever needs/wants to do things with a dedicated storage device and/or storage-drivers. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Fix release dependenciesChris Evich2019-07-31
| | | | | | | | | | | | | | | | | | | | | 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>
* Cirrus: Remove fixed clone depthChris Evich2019-07-26
| | | | | | | | | It's been observed on several occasions, some tests fail in git clones with a "cannot find ref" type error. Especially in the depth=1 cases. Since there's really only one place where limiting the depth makes sense (build-each-commit), simply remove all the other limits. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Bypass release during image-buildingChris Evich2019-07-25
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Remove disused COMMIT variablesChris Evich2019-07-25
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3619 from cevich/workaround_missing_iamgeOpenShift Merge Robot2019-07-23
|\ | | | | Cirrus: Temp. workaround missing imgprune image
| * Cirrus: Temp. workaround missing imgprune imageChris Evich2019-07-22
| | | | | | | | | | | | | | | | | | | | The 'image_prune' task only runs on master, post-merge and is currently failing for all builds. This is because it references a non-existent image. The person with access to add/enable this image is on PTO. Fix this by temporarily using a hand-built image until an automatic build can be added. Signed-off-by: Chris Evich <cevich@redhat.com>
* | Merge pull request #3621 from baude/golangcilint4OpenShift Merge Robot2019-07-23
|\ \ | | | | | | golangci-lint phase 4
| * | golangci-lint phase 4baude2019-07-22
| |/ | | | | | | | | | | | | | | | | | | | | 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>
* | bump cirrus images to get new conmonPeter Hunt2019-07-22
| | | | | | | | Signed-off-by: Peter Hunt <pehunt@redhat.com>
* | bump conmon to 1.0.0-rc2Peter Hunt2019-07-22
|/ | | | Signed-off-by: Peter Hunt <pehunt@redhat.com>
* Cirrus: Fix post-merge env. var. not set.Chris Evich2019-07-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cirrus-CI automatically sets `$CIRRUS_BASE_BRANCH` during PR testing. This is used for the `build_each_commit` task, in order to compute the commit-chain properly. However, prior to this commit and after a PR merges, the post-merge `build_each_commit` task would fail with something similar to: ``` make build-all-new-commits GIT_BASE_BRANCH=origin/$CIRRUS_BASE_BRANCH |& ${TIMESTAMP} [12:28:59] START - All [+xxxx] lines that follow are relative to right now. [+0000s] # Validate that all the commits build on top of origin/ [+0000s] git rebase origin/ -x make [+0000s] fatal: invalid upstream 'origin/' [+0000s] make: *** [Makefile:426: build-all-new-commits] Error 128 [12:28:59] END - [+0000s] total duration since START Exit status: 2 ``` This is because `$CIRRUS_BASE_BRANCH` is undefined when CI runs against a branch (by design). This commit fixes the problem by referring to `$DEST_BRANCH` instead. This variable must always point at the intended destination branch for testing, and so can be used in this context as well. Also updated a few comments to help steer understanding of the `$DEST_BRANCH` purpose. Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3335 from cevich/imgpruneOpenShift Merge Robot2019-07-17
|\ | | | | Cirrus: Print images that should be pruned
| * Cirrus: Print images that should be prunedChris Evich2019-07-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Over time unless they're removed, the project could grow quite a large collection of VM images. While generally cheap (less than a penny each, per month), these will become a significant cost item if not kept in-check. Add a specialized container for handling image-pruning, but limit it to only finding and printing (not actually deleting) images. Also update the image-building workflow so that base-images used to compose cache-images are also labeled with metadata. N/B: As an additional safeguard, the service account which executes the new container in production *DOES NOT* have access to delete images. This can be enabled by adding the GCE IAM role: CustomComputeImagePrune Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Use images w/o periodic svcsChris Evich2019-07-16
| | | | | | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* | Cirrus: Abstract destination branch refs.Chris Evich2019-07-15
|/ | | | | | | | | | | | | | | | | Various tasks and scripts behave differently depending on whether or not the build is running against a PR or on a branch, post-merge. However, a great number of them are hard-coded to the string 'master' as the destination. Since this is not always the case (there are other relevant branches), it makes sense to abstract the references with a single definition. Add a top-level `$DEST_BRANCH` variable to CI, and otherwise default to 'master' when unset. This enables running CI builds on additional branches without the overhead of updating all the static references to 'master'. Simply update `$DEST_BRANCH` at the top-level and all branch-conditional logic will function as intended. Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Update to freshly built cache-imagesChris Evich2019-07-12
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Execute system-tests during image-validationChris Evich2019-07-12
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Fix #3543: Failure in 'release' taskChris Evich2019-07-10
| | | | | | | | | | | | | | | | | | | | Normally when testing PRs, the final task to run is 'success'. It's purpose is three-fold: - Notify on IRC that a PR passed all testing. - Block merging of a PR unless all dependent tasks are successful. - When successful, publish cached binary release archives. Mistakenly, the 'release' task was not made dependent upon the 'success' task. Since 'success' only runs for PRs, this was causing post-merge failures due to the 'release' task not finding any release archives - the tasks which generate them are still running. Fix this by making the 'release' task depend upon the same items as the 'success' task. This will ensure it only runs as the very last step, for both PRs and on branches (post-merge). Signed-off-by: Chris Evich <cevich@redhat.com>
* Cirrus: Fix 473d06045 / enable build_without_cgoChris Evich2019-07-10
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>
* Merge pull request #3106 from cevich/cirrus_releaseOpenShift Merge Robot2019-07-10
|\ | | | | Cirrus: Automate releasing of tested binaries
| * Cirrus: Automate releasing of tested binariesChris Evich2019-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #1936 from cevich/cirrus_packaged_depsOpenShift Merge Robot2019-07-09
|\ \ | |/ |/| Cirrus: Use packaged-based dependencies
| * Cirrus: Use packaged dependenciesChris Evich2019-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Building/installing dependencies from fixed source-version ensures testing is reliable, but introduces a maintenance burden and risks testing far outside of a real-world environment. The sensible alternative is to install dependencies from distro-packaging systems. Install all development and testing dependencies at VM cache-image build time, to help ensure testing remains stable. The existing cache-image build workflow can be utilized at any future time to build/test with updated packages. ***N/B***: This does not update any dockerfiles used by testing, that is left up to future efforts. Signed-off-by: Chris Evich <cevich@redhat.com>
* | cirrus: add test for compiling without cgoGiuseppe Scrivano2019-07-02
|/ | | | Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
* Cirrus: More tests to verify cache_imagesChris Evich2019-06-25
| | | | Signed-off-by: Chris Evich <cevich@redhat.com>