2018-07-09 16:30:20 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
# Only github users with write-access can define or use encrypted variables
|
|
|
|
# This credential represents a service account with access to manage both VMs
|
|
|
|
# and storage.
|
|
|
|
gcp_credentials: ENCRYPTED[885c6e4297dd8d6f67593c42b810353af0c505a7a670e2c6fd830c56e86bbb2debcc3c18f942d0d46ab36b63521061d4]
|
|
|
|
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
# Default timeout for each task
|
|
|
|
timeout_in: 120m
|
|
|
|
|
|
|
|
# Main collection of env. vars to set for all tasks and scripts.
|
2018-07-09 16:30:20 +00:00
|
|
|
env:
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
####
|
|
|
|
#### Global variables used for all tasks
|
|
|
|
####
|
2019-07-18 20:23:30 +00:00
|
|
|
# Name of the ultimate destination branch for this CI run, PR or post-merge.
|
2019-07-10 14:14:00 +00:00
|
|
|
DEST_BRANCH: "master"
|
2018-07-09 16:30:20 +00:00
|
|
|
# Overrides default location (/tmp/cirrus) for repo clone
|
2019-03-22 13:44:03 +00:00
|
|
|
GOPATH: "/var/tmp/go"
|
|
|
|
GOSRC: "/var/tmp/go/src/github.com/containers/libpod"
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
CIRRUS_WORKING_DIR: "/var/tmp/go/src/github.com/containers/libpod"
|
2019-03-22 13:44:03 +00:00
|
|
|
# The default is 'sh' if unspecified
|
2018-07-09 16:30:20 +00:00
|
|
|
CIRRUS_SHELL: "/bin/bash"
|
|
|
|
# Save a little typing (path relative to $CIRRUS_WORKING_DIR)
|
|
|
|
SCRIPT_BASE: "./contrib/cirrus"
|
2019-06-12 13:59:31 +00:00
|
|
|
# Command to prefix output lines with timing information
|
2019-04-04 17:55:18 +00:00
|
|
|
# (can't do inline awk script, Cirrus-CI or YAML mangles quoting)
|
|
|
|
TIMESTAMP: "awk --file ${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/timestamp.awk"
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
|
2019-01-17 17:30:27 +00:00
|
|
|
####
|
2019-08-07 14:39:05 +00:00
|
|
|
#### Cache-image names to test with (double-quotes around names are critical)
|
2019-01-17 17:30:27 +00:00
|
|
|
###
|
2019-07-19 14:46:36 +00:00
|
|
|
_BUILT_IMAGE_SUFFIX: "libpod-5751722641719296"
|
|
|
|
FEDORA_CACHE_IMAGE_NAME: "fedora-30-${_BUILT_IMAGE_SUFFIX}"
|
|
|
|
PRIOR_FEDORA_CACHE_IMAGE_NAME: "fedora-29-${_BUILT_IMAGE_SUFFIX}"
|
|
|
|
SPECIAL_FEDORA_CACHE_IMAGE_NAME: "xfedora-30-${_BUILT_IMAGE_SUFFIX}"
|
|
|
|
UBUNTU_CACHE_IMAGE_NAME: "ubuntu-18-${_BUILT_IMAGE_SUFFIX}"
|
2019-01-17 17:30:27 +00:00
|
|
|
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
####
|
|
|
|
#### Variables for composing new cache-images (used in PR testing) from
|
|
|
|
#### base-images (pre-existing in GCE)
|
|
|
|
####
|
2019-03-22 13:44:03 +00:00
|
|
|
BUILT_IMAGE_SUFFIX: "-${CIRRUS_REPO_NAME}-${CIRRUS_BUILD_ID}"
|
2019-01-17 17:30:27 +00:00
|
|
|
# Special image w/ nested-libvirt + tools for creating new cache and base images
|
|
|
|
IMAGE_BUILDER_CACHE_IMAGE_NAME: "image-builder-image-1541772081"
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
|
2019-03-04 21:57:20 +00:00
|
|
|
####
|
2019-04-02 15:38:14 +00:00
|
|
|
#### Default to NOT operating in any special-case testing mode
|
2019-03-04 21:57:20 +00:00
|
|
|
####
|
2019-04-02 15:38:14 +00:00
|
|
|
SPECIALMODE: "none" # don't do anything special
|
2019-05-08 20:21:33 +00:00
|
|
|
TEST_REMOTE_CLIENT: false # don't test remote client by default
|
2019-07-09 16:03:04 +00:00
|
|
|
ADD_SECOND_PARTITION: false # will certainly fail inside containers
|
2019-03-04 21:57:20 +00:00
|
|
|
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
####
|
|
|
|
#### Credentials and other secret-sauces, decrypted at runtime when authorized.
|
|
|
|
####
|
|
|
|
# Freenode IRC credentials for posting status messages
|
2018-10-15 21:29:20 +00:00
|
|
|
IRCID: ENCRYPTED[e87bba62a8e924dc70bdb2b66b16f6ab4a60d2870e6e5534ae9e2b0076f483c71c84091c655ca239101e6816c5ec0883]
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
# Needed to build GCE images, within a GCE VM
|
|
|
|
SERVICE_ACCOUNT: ENCRYPTED[99e9a0b1c23f8dd29e83dfdf164f064cfd17afd9b895ca3b5e4c41170bd4290a8366fe2ad8e7a210b9f751711d1d002a]
|
|
|
|
# User ID for cirrus to ssh into VMs
|
2018-12-17 19:31:24 +00:00
|
|
|
GCE_SSH_USERNAME: cirrus-ci
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
# Name where this repositories cloud resources are located
|
|
|
|
GCP_PROJECT_ID: ENCRYPTED[7c80e728e046b1c76147afd156a32c1c57d4a1ac1eab93b7e68e718c61ca8564fc61fef815952b8ae0a64e7034b8fe4f]
|
2019-08-01 11:31:04 +00:00
|
|
|
RELEASE_GCPJSON: ENCRYPTED[789d8f7e9a5972ce350fd8e60f1032ccbf4a35c3938b604774b711aad280e12c21faf10e25af1e0ba33597ffb9e39e46]
|
|
|
|
RELEASE_GCPNAME: ENCRYPTED[417d50488a4bd197bcc925ba6574de5823b97e68db1a17e3a5fde4bcf26576987345e75f8d9ea1c15a156b4612c072a1]
|
|
|
|
RELEASE_GCPROJECT: ENCRYPTED[7c80e728e046b1c76147afd156a32c1c57d4a1ac1eab93b7e68e718c61ca8564fc61fef815952b8ae0a64e7034b8fe4f]
|
|
|
|
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
|
2018-12-17 19:31:24 +00:00
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
# Default VM to use unless set or modified by task
|
|
|
|
gce_instance:
|
|
|
|
image_project: "libpod-218412"
|
|
|
|
zone: "us-central1-a" # Required by Cirrus for the time being
|
|
|
|
cpu: 2
|
|
|
|
memory: "4Gb"
|
|
|
|
disk: 200
|
|
|
|
# A matrix could be used here, for now just one VM
|
|
|
|
image_name: "${FEDORA_CACHE_IMAGE_NAME}"
|
|
|
|
|
|
|
|
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
# Every *_task runs in parallel in separate VMsd. The name prefix only for reference
|
|
|
|
# in WebUI, and will be followed by matrix details. This task gates all others with
|
|
|
|
# quick format, lint, and unit tests on the standard platform.
|
|
|
|
gating_task:
|
|
|
|
|
|
|
|
env:
|
|
|
|
CIRRUS_WORKING_DIR: "/usr/src/libpod"
|
2019-03-22 13:44:03 +00:00
|
|
|
GOPATH: "/go"
|
2019-03-14 15:07:05 +00:00
|
|
|
GOSRC: "/go/src/github.com/containers/libpod"
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
|
|
|
|
# Runs within Cirrus's "community cluster"
|
|
|
|
container:
|
|
|
|
image: "quay.io/libpod/gate:latest"
|
|
|
|
cpu: 4
|
|
|
|
memory: 12
|
|
|
|
|
2019-03-19 21:14:40 +00:00
|
|
|
timeout_in: 20m
|
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
# Don't bother going further if something is down
|
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
2019-05-16 19:31:44 +00:00
|
|
|
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
gate_script:
|
2019-03-14 15:07:05 +00:00
|
|
|
# N/B: entrypoint.sh resets $GOSRC (same as make clean)
|
2019-04-04 17:55:18 +00:00
|
|
|
- '/usr/local/bin/entrypoint.sh install.tools |& ${TIMESTAMP}'
|
|
|
|
- '/usr/local/bin/entrypoint.sh validate |& ${TIMESTAMP}'
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
|
2019-02-27 15:06:27 +00:00
|
|
|
# This task builds Podman with different buildtags to ensure the build does
|
2019-03-14 15:07:05 +00:00
|
|
|
# not break. It also verifies all sub-commands have man pages.
|
2019-02-27 15:06:27 +00:00
|
|
|
build_script:
|
2019-04-04 17:55:18 +00:00
|
|
|
- '/usr/local/bin/entrypoint.sh podman |& ${TIMESTAMP}'
|
|
|
|
- 'cd $GOSRC && ./hack/podman-commands.sh |& ${TIMESTAMP}'
|
2019-03-14 15:07:05 +00:00
|
|
|
# N/B: need 'clean' so some commited files are re-generated.
|
2019-04-04 17:55:18 +00:00
|
|
|
- '/usr/local/bin/entrypoint.sh clean podman-remote |& ${TIMESTAMP}'
|
|
|
|
- '/usr/local/bin/entrypoint.sh clean podman BUILDTAGS="exclude_graphdriver_devicemapper selinux seccomp" |& ${TIMESTAMP}'
|
|
|
|
- '/usr/local/bin/entrypoint.sh podman-remote-darwin |& ${TIMESTAMP}'
|
|
|
|
- '/usr/local/bin/entrypoint.sh podman-remote-windows |& ${TIMESTAMP}'
|
2019-02-05 10:51:41 +00:00
|
|
|
|
2019-04-29 15:00:05 +00:00
|
|
|
# Verify expected bash environment (-o pipefail)
|
|
|
|
pipefail_enabledscript: 'if /bin/false | /bin/true; then echo "pipefail fault" && exit 72; fi'
|
|
|
|
|
2019-03-14 15:57:46 +00:00
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
2019-03-14 15:57:46 +00:00
|
|
|
|
|
|
|
|
2019-03-19 21:14:40 +00:00
|
|
|
# This task runs `make vendor` followed by ./hack/tree_status.sh to check
|
|
|
|
# whether the git tree is clean. The reasoning for that is to make sure
|
|
|
|
# that the vendor.conf, the code and the vendored packages in ./vendor are
|
|
|
|
# in sync at all times.
|
|
|
|
vendor_task:
|
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
|
|
|
|
2019-03-19 21:14:40 +00:00
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
|
|
|
|
env:
|
|
|
|
CIRRUS_WORKING_DIR: "/usr/src/libpod"
|
2019-03-22 13:44:03 +00:00
|
|
|
GOPATH: "/go"
|
|
|
|
GOSRC: "/go/src/github.com/containers/libpod"
|
2019-03-19 21:14:40 +00:00
|
|
|
|
|
|
|
# Runs within Cirrus's "community cluster"
|
|
|
|
container:
|
|
|
|
image: "quay.io/libpod/gate:latest"
|
|
|
|
cpu: 4
|
|
|
|
memory: 12
|
|
|
|
|
|
|
|
timeout_in: 30m
|
|
|
|
|
|
|
|
vendor_script:
|
2019-04-04 17:55:18 +00:00
|
|
|
- '/usr/local/bin/entrypoint.sh vendor |& ${TIMESTAMP}'
|
2019-03-22 13:44:03 +00:00
|
|
|
- 'cd ${GOSRC} && ./hack/tree_status.sh |& ${TIMESTAMP}'
|
2019-03-19 21:14:40 +00:00
|
|
|
|
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh |& ${TIMESTAMP}'
|
2019-03-19 21:14:40 +00:00
|
|
|
|
|
|
|
|
2019-05-01 14:37:50 +00:00
|
|
|
# This task runs `make varlink_api_generate` followed by ./hack/tree_status.sh to check
|
|
|
|
# whether the git tree is clean.
|
|
|
|
varlink_api_task:
|
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
|
|
|
|
2019-05-01 14:37:50 +00:00
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
|
|
|
|
env:
|
|
|
|
CIRRUS_WORKING_DIR: "/usr/src/libpod"
|
2019-03-06 16:47:24 +00:00
|
|
|
GOPATH: "/go"
|
|
|
|
GOSRC: "/go/src/github.com/containers/libpod"
|
2019-05-01 14:37:50 +00:00
|
|
|
# Used by tree_status.sh
|
|
|
|
SUGGESTION: 'remove API.md, then "make varlink_api_generate" and commit changes.'
|
|
|
|
|
|
|
|
# Runs within Cirrus's "community cluster"
|
|
|
|
container:
|
|
|
|
image: "quay.io/libpod/gate:latest"
|
|
|
|
cpu: 4
|
|
|
|
memory: 12
|
|
|
|
|
|
|
|
timeout_in: 10m
|
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
api_md_script:
|
|
|
|
- '/usr/local/bin/entrypoint.sh varlink_api_generate |& ${TIMESTAMP}'
|
|
|
|
- 'cd ${GOSRC} && ./hack/tree_status.sh |& ${TIMESTAMP}'
|
2019-05-01 14:37:50 +00:00
|
|
|
|
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
2019-05-01 14:37:50 +00:00
|
|
|
|
|
|
|
|
2018-12-12 12:57:18 +00:00
|
|
|
build_each_commit_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
2019-05-01 14:40:35 +00:00
|
|
|
- "vendor"
|
|
|
|
- "varlink_api"
|
2018-12-12 12:57:18 +00:00
|
|
|
|
2019-07-10 14:14:00 +00:00
|
|
|
only_if: $CIRRUS_BRANCH != $DEST_BRANCH &&
|
2019-03-06 16:47:24 +00:00
|
|
|
$CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
2018-12-19 20:09:35 +00:00
|
|
|
|
2018-12-12 12:57:18 +00:00
|
|
|
gce_instance:
|
|
|
|
image_project: "libpod-218412"
|
|
|
|
zone: "us-central1-a" # Required by Cirrus for the time being
|
2019-04-04 22:14:05 +00:00
|
|
|
cpu: 8
|
|
|
|
memory: "8Gb"
|
|
|
|
disk: 200
|
2019-03-14 15:07:05 +00:00
|
|
|
image_name: "${FEDORA_CACHE_IMAGE_NAME}"
|
2018-12-12 12:57:18 +00:00
|
|
|
|
2019-01-04 15:23:36 +00:00
|
|
|
timeout_in: 30m
|
2018-12-12 12:57:18 +00:00
|
|
|
|
2019-04-04 17:55:18 +00:00
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
2019-03-14 15:07:05 +00:00
|
|
|
build_each_commit_script:
|
2019-07-18 20:23:30 +00:00
|
|
|
# set -x by default, no need to spew contents of lib.sh
|
|
|
|
- 'source $SCRIPT_BASE/lib.sh &> /dev/null'
|
2019-07-26 15:39:14 +00:00
|
|
|
- 'git fetch --depth 50 origin $DEST_BRANCH |& ${TIMESTAMP}'
|
2019-07-18 20:23:30 +00:00
|
|
|
- 'make build-all-new-commits GIT_BASE_BRANCH=origin/$DEST_BRANCH |& ${TIMESTAMP}'
|
2019-03-14 15:57:46 +00:00
|
|
|
|
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
2018-12-12 12:57:18 +00:00
|
|
|
|
2019-07-10 13:52:31 +00:00
|
|
|
|
|
|
|
build_without_cgo_task:
|
2019-06-29 20:30:57 +00:00
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
- "vendor"
|
|
|
|
- "varlink_api"
|
|
|
|
|
2019-07-10 14:14:00 +00:00
|
|
|
only_if: $CIRRUS_BRANCH != $DEST_BRANCH &&
|
2019-06-29 20:30:57 +00:00
|
|
|
$CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
|
|
|
|
|
|
|
gce_instance:
|
|
|
|
image_project: "libpod-218412"
|
|
|
|
zone: "us-central1-a" # Required by Cirrus for the time being
|
|
|
|
cpu: 8
|
|
|
|
memory: "8Gb"
|
|
|
|
disk: 200
|
|
|
|
image_name: "${FEDORA_CACHE_IMAGE_NAME}"
|
|
|
|
|
|
|
|
timeout_in: 30m
|
|
|
|
|
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
|
|
|
build_without_cgo_script:
|
|
|
|
- 'source $SCRIPT_BASE/lib.sh'
|
|
|
|
- 'make build-no-cgo'
|
|
|
|
|
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
2019-06-29 20:30:57 +00:00
|
|
|
|
2019-01-21 13:48:15 +00:00
|
|
|
|
2019-01-23 23:01:18 +00:00
|
|
|
# Update metadata on VM images referenced by this repository state
|
|
|
|
meta_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
2019-06-03 18:47:16 +00:00
|
|
|
- "vendor"
|
|
|
|
- "varlink_api"
|
|
|
|
- "build_each_commit"
|
2019-06-29 20:30:57 +00:00
|
|
|
- "build_without_cgo"
|
2019-01-23 23:01:18 +00:00
|
|
|
|
|
|
|
container:
|
|
|
|
image: "quay.io/libpod/imgts:latest" # see contrib/imgts
|
|
|
|
cpu: 1
|
|
|
|
memory: 1
|
|
|
|
|
2019-06-14 17:28:47 +00:00
|
|
|
env: &meta_env_vars
|
2019-01-23 23:01:18 +00:00
|
|
|
# Space-separated list of images used by this repository state
|
2019-03-06 16:47:24 +00:00
|
|
|
IMGNAMES: >-
|
|
|
|
${FEDORA_CACHE_IMAGE_NAME}
|
|
|
|
${PRIOR_FEDORA_CACHE_IMAGE_NAME}
|
2019-07-19 14:46:36 +00:00
|
|
|
${SPECIAL_FEDORA_CACHE_IMAGE_NAME}
|
2019-03-06 16:47:24 +00:00
|
|
|
${UBUNTU_CACHE_IMAGE_NAME}
|
|
|
|
${IMAGE_BUILDER_CACHE_IMAGE_NAME}
|
2019-01-23 23:01:18 +00:00
|
|
|
BUILDID: "${CIRRUS_BUILD_ID}"
|
|
|
|
REPOREF: "${CIRRUS_CHANGE_IN_REPO}"
|
|
|
|
GCPJSON: ENCRYPTED[950d9c64ad78f7b1f0c7e499b42dc058d2b23aa67e38b315e68f557f2aba0bf83068d4734f7b1e1bdd22deabe99629df]
|
2019-08-15 15:38:28 +00:00
|
|
|
# needed for output-masking purposes
|
2019-01-23 23:01:18 +00:00
|
|
|
GCPNAME: ENCRYPTED[b05d469a0dba8cb479cb00cc7c1f6747c91d17622fba260a986b976aa6c817d4077eacffd4613d6d5f23afc4084fab1d]
|
|
|
|
GCPPROJECT: ENCRYPTED[7c80e728e046b1c76147afd156a32c1c57d4a1ac1eab93b7e68e718c61ca8564fc61fef815952b8ae0a64e7034b8fe4f]
|
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
timeout_in: 10m
|
|
|
|
|
2019-06-14 17:28:47 +00:00
|
|
|
# Cirrus-CI ignores entrypoint defined in image
|
|
|
|
script: '/usr/local/bin/entrypoint.sh |& ${TIMESTAMP}'
|
|
|
|
|
|
|
|
|
|
|
|
# Remove old and disused images based on labels set by meta_task
|
|
|
|
image_prune_task:
|
|
|
|
|
|
|
|
# Do not run this frequently
|
|
|
|
only_if: $CIRRUS_BRANCH == 'master'
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "meta"
|
|
|
|
|
|
|
|
container:
|
2019-07-26 14:48:40 +00:00
|
|
|
image: "quay.io/libpod/imgprune:latest" # see contrib/imgprune
|
2019-06-14 17:28:47 +00:00
|
|
|
cpu: 1
|
|
|
|
memory: 1
|
|
|
|
|
|
|
|
env:
|
2019-08-28 20:22:22 +00:00
|
|
|
<<: *meta_env_vars
|
2019-06-14 17:28:47 +00:00
|
|
|
GCPJSON: ENCRYPTED[4c11d8e09c904c30fc70eecb95c73dec0ddf19976f9b981a0f80f3f6599e8f990bcef93c253ac0277f200850d98528e7]
|
|
|
|
GCPNAME: ENCRYPTED[7f54557ba6e5a437f11283a53e71baec9ca546f48a9835538cc54d297f79968eb1337d4596a1025b14f9d1c5723fbd29]
|
|
|
|
|
|
|
|
timeout_in: 10m
|
|
|
|
|
2019-04-04 17:55:18 +00:00
|
|
|
script: '/usr/local/bin/entrypoint.sh |& ${TIMESTAMP}'
|
2019-01-23 23:01:18 +00:00
|
|
|
|
|
|
|
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
# This task does the unit and integration testing for every platform
|
|
|
|
testing_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
2019-05-01 14:40:35 +00:00
|
|
|
- "vendor"
|
2019-06-03 18:47:16 +00:00
|
|
|
- "varlink_api"
|
2018-12-12 12:57:18 +00:00
|
|
|
- "build_each_commit"
|
2019-06-29 20:30:57 +00:00
|
|
|
- "build_without_cgo"
|
2018-07-09 16:30:20 +00:00
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
# Only test build cache-images, if that's what's requested
|
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
2019-05-08 20:21:33 +00:00
|
|
|
|
2018-07-09 16:30:20 +00:00
|
|
|
gce_instance:
|
|
|
|
matrix:
|
Cirrus: Document and codify base-image production
A number of images required for future testing are not present in GCE.
Importing them is a long proscribed process prone to errors and
complications.
Improve this situation by documenting, and encoding the majority of the
steps required. Due to the required complexity, these are clearly
identified as 'semi-automated'. This means a discerning eye is
sometimes needed to address unforeseen problems (networking issues,
format or packaging changes, etc).
Nevertheless, having these steps in writing, will reduce current and
future maintenance burden while supporting future testing needs of
RHEL, Fedora and Fedora Atomic Host.
Also:
* Add necessary configuration, scripts, and Makefile updates needed to
prepare RHEL, Fedora, & FAH cloud images for use in GCE. This
is a complex, multi-step process where the cloud image is booted
un a local user-mod qemu-kvm instance, where it can be modified.
From there, it's converted into a specific format, and imported into
GCE. Lastly, the imported raw disk data is made available as a GCE
VM image.
Note: As of this commit, the RHEL base-image builds (CentOS has native
image), however neither RHEL or CentOS cache-images build correctly.
* Left testing on FAH disabled, the GCE/Cirrus integration needs needs more
work. Specifically, the python3-based google startup script service
throws a permission-denied (as root) when trying to create a temp.
directory. Did not investigate further, though manually running the
startup script does allow the libpod tests to start running.
* Enabled Fedora 29 image to execute tests and general use.
* Utilize the standardized F28-based container image for gating
of more the intensive unit and integration testing. Update
documentation to reflect this as the standard platform for
these checks. Rename tasks with shorter names and to better
reflect their purpose.
* Cirrus: Trim unnecessary env vars before testing since the vast
majority are only required for orchestration purposes. Since most
are defined within `.cirrus.yml`, it's a good place to store the
list of undesirables. Since each of the cirrus-scripts runs in
it's own shell, unsetting these near the end will have no
consequence. Also trim down the number of calls to show_env_vars()
Signed-off-by: Chris Evich <cevich@redhat.com>
2018-11-07 14:35:18 +00:00
|
|
|
# Images are generated separately, from build_images_task (below)
|
2019-01-17 17:30:27 +00:00
|
|
|
image_name: "${FEDORA_CACHE_IMAGE_NAME}"
|
2019-05-07 17:31:04 +00:00
|
|
|
image_name: "${PRIOR_FEDORA_CACHE_IMAGE_NAME}"
|
2019-01-17 17:30:27 +00:00
|
|
|
image_name: "${UBUNTU_CACHE_IMAGE_NAME}"
|
2018-12-10 16:24:57 +00:00
|
|
|
|
2018-07-09 16:30:20 +00:00
|
|
|
timeout_in: 120m
|
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
env:
|
2019-07-09 16:03:04 +00:00
|
|
|
ADD_SECOND_PARTITION: true
|
2019-03-06 16:47:24 +00:00
|
|
|
matrix:
|
|
|
|
TEST_REMOTE_CLIENT: true
|
|
|
|
TEST_REMOTE_CLIENT: false
|
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
2019-04-04 17:55:18 +00:00
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
|
|
|
unit_test_script: '$SCRIPT_BASE/unit_test.sh |& ${TIMESTAMP}'
|
|
|
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
2019-04-15 18:49:53 +00:00
|
|
|
system_test_script: '$SCRIPT_BASE/system_test.sh |& ${TIMESTAMP}'
|
2019-08-01 11:31:04 +00:00
|
|
|
build_release_script: '$SCRIPT_BASE/build_release.sh |& ${TIMESTAMP}'
|
|
|
|
upload_release_archive_script: '$SCRIPT_BASE/upload_release_archive.sh |& ${TIMESTAMP}'
|
2018-07-09 16:30:20 +00:00
|
|
|
|
2019-03-14 15:57:46 +00:00
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
2019-06-12 13:59:31 +00:00
|
|
|
|
|
|
|
always: &standardlogs
|
|
|
|
ginkgo_node_logs_script: '$SCRIPT_BASE/logcollector.sh ginkgo'
|
|
|
|
df_script: '$SCRIPT_BASE/logcollector.sh df'
|
|
|
|
audit_log_script: '$SCRIPT_BASE/logcollector.sh audit'
|
|
|
|
journal_script: '$SCRIPT_BASE/logcollector.sh journal'
|
2018-07-09 16:30:20 +00:00
|
|
|
|
2019-08-15 15:33:36 +00:00
|
|
|
# Test crun only on latest Fedora
|
2019-08-12 11:58:03 +00:00
|
|
|
testing_crun_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
- "vendor"
|
|
|
|
- "varlink_api"
|
|
|
|
- "build_each_commit"
|
|
|
|
- "build_without_cgo"
|
|
|
|
|
|
|
|
# Only test build cache-images, if that's what's requested
|
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
|
|
|
|
|
|
|
timeout_in: 120m
|
|
|
|
|
|
|
|
env:
|
|
|
|
ADD_SECOND_PARTITION: true
|
|
|
|
OCI_RUNTIME: "/usr/bin/crun"
|
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
2019-08-12 11:58:03 +00:00
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
2019-08-15 15:33:36 +00:00
|
|
|
install_crun_script: 'dnf install -y crun'
|
2019-08-19 09:15:02 +00:00
|
|
|
# FIXME: use the package once all the fixes are in a release
|
|
|
|
override_crun_script: 'setenforce 0; yum builddep -y crun && (git clone --depth=1 https://github.com/containers/crun && cd crun && ./autogen.sh && ./configure --prefix=/usr && make -j4 && make install) && rm -rf crun'
|
2019-08-12 11:58:03 +00:00
|
|
|
unit_test_script: '$SCRIPT_BASE/unit_test.sh |& ${TIMESTAMP}'
|
|
|
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
|
|
|
system_test_script: '$SCRIPT_BASE/system_test.sh |& ${TIMESTAMP}'
|
|
|
|
|
|
|
|
on_failure:
|
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
|
|
|
|
2019-08-15 15:33:36 +00:00
|
|
|
always:
|
|
|
|
<<: *standardlogs
|
2019-08-12 11:58:03 +00:00
|
|
|
|
2018-11-08 14:28:48 +00:00
|
|
|
|
2019-04-02 15:38:14 +00:00
|
|
|
# This task executes tests under unique environments/conditions
|
2019-05-30 15:56:21 +00:00
|
|
|
special_testing_rootless_task:
|
2019-03-04 21:57:20 +00:00
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
2019-05-01 14:40:35 +00:00
|
|
|
- "varlink_api"
|
|
|
|
- "vendor"
|
2019-03-04 21:57:20 +00:00
|
|
|
- "build_each_commit"
|
2019-06-29 20:30:57 +00:00
|
|
|
- "build_without_cgo"
|
2019-03-04 21:57:20 +00:00
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
2019-03-04 21:57:20 +00:00
|
|
|
|
|
|
|
env:
|
2019-07-09 16:03:04 +00:00
|
|
|
ADD_SECOND_PARTITION: true
|
2019-05-30 15:56:21 +00:00
|
|
|
SPECIALMODE: 'rootless' # See docs
|
2019-04-02 15:38:14 +00:00
|
|
|
matrix:
|
2019-05-30 15:56:21 +00:00
|
|
|
TEST_REMOTE_CLIENT: true
|
|
|
|
TEST_REMOTE_CLIENT: false
|
2019-03-04 21:57:20 +00:00
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
timeout_in: 60m
|
2019-03-04 21:57:20 +00:00
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
2019-04-04 17:55:18 +00:00
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
|
|
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
2019-04-15 18:49:53 +00:00
|
|
|
system_test_script: '$SCRIPT_BASE/system_test.sh |& ${TIMESTAMP}'
|
2019-03-04 21:57:20 +00:00
|
|
|
|
2019-03-14 15:57:46 +00:00
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
2019-06-12 13:59:31 +00:00
|
|
|
|
|
|
|
always:
|
|
|
|
<<: *standardlogs
|
|
|
|
|
2019-03-14 15:57:46 +00:00
|
|
|
|
2019-05-30 15:56:21 +00:00
|
|
|
special_testing_in_podman_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
- "varlink_api"
|
|
|
|
- "vendor"
|
|
|
|
- "build_each_commit"
|
2019-06-29 20:30:57 +00:00
|
|
|
- "build_without_cgo"
|
2019-05-30 15:56:21 +00:00
|
|
|
|
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
|
|
|
|
|
|
|
env:
|
2019-07-09 16:03:04 +00:00
|
|
|
ADD_SECOND_PARTITION: true
|
2019-05-30 15:56:21 +00:00
|
|
|
SPECIALMODE: 'in_podman' # See docs
|
|
|
|
|
|
|
|
timeout_in: 60m
|
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
2019-05-30 15:56:21 +00:00
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
|
|
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
|
|
|
|
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
2019-06-12 13:59:31 +00:00
|
|
|
|
|
|
|
always:
|
|
|
|
<<: *standardlogs
|
2019-03-04 21:57:20 +00:00
|
|
|
|
2018-07-09 16:30:20 +00:00
|
|
|
|
2019-05-10 23:02:01 +00:00
|
|
|
special_testing_cross_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
- "varlink_api"
|
|
|
|
- "vendor"
|
|
|
|
|
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
|
|
|
|
|
|
|
env:
|
|
|
|
matrix:
|
2019-08-01 11:31:04 +00:00
|
|
|
CROSS_PLATFORM: 'windows'
|
|
|
|
CROSS_PLATFORM: 'darwin'
|
2019-05-10 23:02:01 +00:00
|
|
|
|
|
|
|
timeout_in: 20m
|
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
2019-05-10 23:02:01 +00:00
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
2019-08-01 11:31:04 +00:00
|
|
|
build_release_script: '$SCRIPT_BASE/build_release.sh |& ${TIMESTAMP}'
|
|
|
|
upload_release_archive_script: '$SCRIPT_BASE/upload_release_archive.sh |& ${TIMESTAMP}'
|
2019-05-10 23:02:01 +00:00
|
|
|
|
|
|
|
on_failure:
|
2019-07-10 14:14:00 +00:00
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
2019-05-10 23:02:01 +00:00
|
|
|
|
|
|
|
|
2019-07-19 14:46:36 +00:00
|
|
|
special_testing_cgroupv2_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
- "varlink_api"
|
|
|
|
- "vendor"
|
|
|
|
|
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
|
|
|
|
|
|
|
gce_instance:
|
|
|
|
image_name: "${SPECIAL_FEDORA_CACHE_IMAGE_NAME}"
|
|
|
|
|
|
|
|
env:
|
|
|
|
SPECIALMODE: 'cgroupv2' # See docs
|
2019-07-30 12:46:13 +00:00
|
|
|
matrix:
|
|
|
|
TEST_REMOTE_CLIENT: true
|
|
|
|
TEST_REMOTE_CLIENT: false
|
2019-07-19 14:46:36 +00:00
|
|
|
|
|
|
|
timeout_in: 20m
|
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
2019-07-19 14:46:36 +00:00
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
|
|
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
|
|
|
|
|
|
|
on_failure:
|
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
|
|
|
|
|
|
|
always:
|
|
|
|
<<: *standardlogs
|
|
|
|
|
2019-08-11 16:47:15 +00:00
|
|
|
special_testing_endpoint_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
- "varlink_api"
|
|
|
|
- "vendor"
|
|
|
|
|
|
|
|
only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*'
|
|
|
|
|
|
|
|
env:
|
|
|
|
SPECIALMODE: 'endpoint' # See docs
|
|
|
|
|
|
|
|
timeout_in: 20m
|
|
|
|
|
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
|
|
|
integration_test_script: '$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}'
|
|
|
|
|
|
|
|
on_failure:
|
|
|
|
failed_branch_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/notice_branch_failure.sh'
|
|
|
|
|
|
|
|
always:
|
|
|
|
<<: *standardlogs
|
2019-07-19 14:46:36 +00:00
|
|
|
|
2019-08-27 08:48:58 +00:00
|
|
|
|
|
|
|
test_building_snap_task:
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
|
|
|
|
container:
|
2019-08-27 12:14:15 +00:00
|
|
|
image: yakshaveinc/snapcraft:core18
|
2019-08-27 15:52:19 +00:00
|
|
|
snapcraft_script:
|
|
|
|
- 'apt-get -y update'
|
|
|
|
- 'cd contrib/snapcraft && snapcraft'
|
2019-08-27 08:48:58 +00:00
|
|
|
|
|
|
|
|
2019-03-06 16:47:24 +00:00
|
|
|
# Test building of new cache-images for future PR testing, in this PR.
|
|
|
|
test_build_cache_images_task:
|
|
|
|
|
|
|
|
only_if: >-
|
2019-07-10 14:14:00 +00:00
|
|
|
$CIRRUS_BRANCH != $DEST_BRANCH &&
|
2019-03-06 16:47:24 +00:00
|
|
|
$CIRRUS_CHANGE_MESSAGE =~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*' &&
|
|
|
|
$CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*SYSTEM\s*TEST\s*\*\*\*.*'
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
|
|
|
|
# VMs created by packer are not cleaned up by cirrus, must allow task to complete
|
|
|
|
auto_cancellation: $CI != "true"
|
|
|
|
|
|
|
|
gce_instance:
|
|
|
|
image_project: "libpod-218412"
|
|
|
|
zone: "us-central1-a"
|
|
|
|
cpu: 4
|
|
|
|
memory: "4Gb"
|
|
|
|
disk: 200
|
|
|
|
image_name: "${IMAGE_BUILDER_CACHE_IMAGE_NAME}"
|
|
|
|
scopes: # required for image building
|
|
|
|
- compute
|
|
|
|
- devstorage.full_control
|
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
|
|
|
setup_environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
2019-03-06 16:47:24 +00:00
|
|
|
build_vm_images_script: '$SCRIPT_BASE/build_vm_images.sh |& ${TIMESTAMP}'
|
2019-05-07 17:31:04 +00:00
|
|
|
df_script: '${DFCMD}'
|
|
|
|
journalctl_b_script: 'journalctl -b'
|
|
|
|
|
|
|
|
on_failure:
|
|
|
|
failed_df_script: '${DFCMD}'
|
|
|
|
failed_journalctl_b_script: 'journalctl -b || echo "Uh oh, journalctl -b failed"'
|
2019-03-06 16:47:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
# Test building of new cache-images for future PR testing, in this PR.
|
2019-03-13 19:13:17 +00:00
|
|
|
verify_test_built_images_task:
|
2019-03-06 16:47:24 +00:00
|
|
|
|
|
|
|
only_if: >-
|
2019-07-10 14:14:00 +00:00
|
|
|
$CIRRUS_BRANCH != $DEST_BRANCH &&
|
2019-03-06 16:47:24 +00:00
|
|
|
$CIRRUS_CHANGE_MESSAGE =~ '.*\*\*\*\s*CIRRUS:\s*TEST\s*IMAGES\s*\*\*\*.*' &&
|
|
|
|
$CIRRUS_CHANGE_MESSAGE !=~ '.*\*\*\*\s*CIRRUS:\s*SYSTEM\s*TEST\s*\*\*\*.*'
|
|
|
|
|
|
|
|
|
|
|
|
depends_on:
|
|
|
|
- "gating"
|
|
|
|
- "test_build_cache_images"
|
|
|
|
|
|
|
|
gce_instance:
|
2019-07-30 12:46:13 +00:00
|
|
|
# Images generated by test_build_cache_images_task (above)
|
|
|
|
image_name: "${PACKER_BUILDER_NAME}${BUILT_IMAGE_SUFFIX}"
|
2019-03-06 16:47:24 +00:00
|
|
|
|
|
|
|
env:
|
2019-07-09 16:03:04 +00:00
|
|
|
ADD_SECOND_PARTITION: true
|
2019-03-06 16:47:24 +00:00
|
|
|
matrix:
|
|
|
|
TEST_REMOTE_CLIENT: true
|
|
|
|
TEST_REMOTE_CLIENT: false
|
2019-07-30 12:46:13 +00:00
|
|
|
matrix:
|
|
|
|
# Required env. var. by check_image_script
|
|
|
|
PACKER_BUILDER_NAME: "fedora-29"
|
|
|
|
PACKER_BUILDER_NAME: "fedora-30"
|
|
|
|
PACKER_BUILDER_NAME: "xfedora-30"
|
|
|
|
PACKER_BUILDER_NAME: "ubuntu-18"
|
2019-03-06 16:47:24 +00:00
|
|
|
|
2019-08-16 14:37:21 +00:00
|
|
|
networking_script: '${CIRRUS_WORKING_DIR}/${SCRIPT_BASE}/networking.sh'
|
2019-07-19 14:46:36 +00:00
|
|
|
environment_script: '$SCRIPT_BASE/setup_environment.sh |& ${TIMESTAMP}'
|
|
|
|
# Verify expectations once per image
|
|
|
|
check_image_script: >-
|
|
|
|
[[ "$TEST_REMOTE_CLIENT" == "false" ]] || \
|
|
|
|
$SCRIPT_BASE/check_image.sh |& ${TIMESTAMP}
|
2019-03-22 13:44:03 +00:00
|
|
|
# Note: A truncated form of normal testing. It only needs to confirm new images
|
|
|
|
# "probably" work. A full round of testing will happen again after $*_CACHE_IMAGE_NAME
|
|
|
|
# are updated in this or another PR (w/o '***CIRRUS: TEST IMAGES***').
|
2019-07-19 14:46:36 +00:00
|
|
|
integration_test_script: >-
|
|
|
|
[[ "$PACKER_BUILDER_NAME" == "xfedora-30" ]] || \
|
|
|
|
$SCRIPT_BASE/integration_test.sh |& ${TIMESTAMP}
|
2019-08-01 11:31:04 +00:00
|
|
|
build_release_script: >-
|
|
|
|
[[ "$PACKER_BUILDER_NAME" == "xfedora-30" ]] || \
|
|
|
|
'$SCRIPT_BASE/build_release.sh |& ${TIMESTAMP}'
|
2019-07-19 14:46:36 +00:00
|
|
|
system_test_script: >-
|
|
|
|
[[ "$PACKER_BUILDER_NAME" == "xfedora-30" ]] || \
|
|
|
|
$SCRIPT_BASE/system_test.sh |& ${TIMESTAMP}
|
2019-06-12 13:59:31 +00:00
|
|
|
|
|
|
|
always:
|
|
|
|
<<: *standardlogs
|
2019-03-06 16:47:24 +00:00
|
|
|
|
2019-07-10 14:02:27 +00:00
|
|
|
# Post message to IRC if everything passed PR testing
|
2018-12-17 19:31:24 +00:00
|
|
|
success_task:
|
|
|
|
|
2019-07-10 14:14:00 +00:00
|
|
|
# This task is a required-pass in github settings,
|
|
|
|
# it blocks PRs from merging if a depends_on task fails
|
|
|
|
only_if: $CIRRUS_BRANCH != $DEST_BRANCH
|
2019-03-18 17:32:16 +00:00
|
|
|
|
2019-08-01 11:31:04 +00:00
|
|
|
# ignores any dependent task conditions
|
2019-07-31 13:48:14 +00:00
|
|
|
depends_on:
|
2018-12-17 19:31:24 +00:00
|
|
|
- "gating"
|
2019-05-01 14:40:35 +00:00
|
|
|
- "vendor"
|
2019-03-06 16:47:24 +00:00
|
|
|
- "varlink_api"
|
2019-06-03 18:47:16 +00:00
|
|
|
- "build_each_commit"
|
2019-07-10 13:52:31 +00:00
|
|
|
- "build_without_cgo"
|
2019-06-03 18:47:16 +00:00
|
|
|
- "meta"
|
2019-07-31 13:48:14 +00:00
|
|
|
- "image_prune"
|
2018-12-17 19:31:24 +00:00
|
|
|
- "testing"
|
2019-08-12 11:58:03 +00:00
|
|
|
- "testing_crun"
|
2019-06-03 18:47:16 +00:00
|
|
|
- "special_testing_rootless"
|
|
|
|
- "special_testing_in_podman"
|
2019-07-30 12:46:13 +00:00
|
|
|
- "special_testing_cgroupv2"
|
2019-05-10 23:02:01 +00:00
|
|
|
- "special_testing_cross"
|
2019-08-11 16:47:15 +00:00
|
|
|
- "special_testing_endpoint"
|
2019-03-06 16:47:24 +00:00
|
|
|
- "test_build_cache_images"
|
2019-08-28 06:38:28 +00:00
|
|
|
- "test_building_snap"
|
2019-03-13 19:13:17 +00:00
|
|
|
- "verify_test_built_images"
|
2018-12-17 19:31:24 +00:00
|
|
|
|
|
|
|
env:
|
|
|
|
CIRRUS_WORKING_DIR: "/usr/src/libpod"
|
2019-03-22 13:44:03 +00:00
|
|
|
GOPATH: "/go"
|
|
|
|
GOSRC: "/go/src/github.com/containers/libpod"
|
2018-12-17 19:31:24 +00:00
|
|
|
|
|
|
|
container:
|
|
|
|
image: "quay.io/libpod/gate:latest"
|
|
|
|
cpu: 1
|
|
|
|
memory: 1
|
|
|
|
|
2019-03-22 13:44:03 +00:00
|
|
|
success_script: '$CIRRUS_WORKING_DIR/$SCRIPT_BASE/success.sh |& ${TIMESTAMP}'
|