-
Notifications
You must be signed in to change notification settings - Fork 190
DNM: testing kola-self-ci tests #4561
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
a58ff07
3c5bfc2
80a3d1e
ba5ae43
fc016c9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 1 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,61 @@ | ||
| adjust+: | ||
| - when: arch == x86_64 or arch == aarch64 | ||
| provision: | ||
| hardware: | ||
| cpu: | ||
| processors: ">= 4" | ||
| memory: ">= 8 GB" | ||
| disk: | ||
| - size: ">= 50 GB" | ||
| virtualization: | ||
| is-supported: true | ||
| # prepare: | ||
| # - how: install | ||
| # package: | ||
| # - libvirt | ||
| # - qemu-kvm | ||
| # - qemu-img | ||
| # - virt-install | ||
| # - jq | ||
| # - git-core | ||
| # - skopeo | ||
| # - podman | ||
|
|
||
| prepare: | ||
| - how: install | ||
| package: | ||
| - podman | ||
|
Comment on lines
+24
to
+27
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| execute: | ||
| how: tmt | ||
| exit-first: true | ||
|
|
||
| # /kola-qemu: | ||
| # summary: run kola qemu tests | ||
| # discover+: | ||
| # how: fmf | ||
| # test: | ||
| # - init | ||
| # - build-fcos | ||
| # - build-qemu | ||
| # - test-qemu | ||
| # | ||
|
|
||
| /kola-self-tests: | ||
| summary: run self-tests | ||
| discover+: | ||
| how: fmf | ||
| test: | ||
| - init | ||
| # - build-fcos | ||
| # - build-qemu | ||
| - test-kola-self | ||
|
|
||
| # /kola-test-upgrade: | ||
| # summary: run kola upgrade test | ||
| # discover+: | ||
| # how: fmf | ||
| # test: | ||
| # - init | ||
| # - build-fcos | ||
| # - build-qemu | ||
| # - test-kola-upgrade | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| #!/bin/bash | ||
| set -eo pipefail | ||
| set -x | ||
|
|
||
| source "utils.sh" | ||
|
|
||
| if [ "$TEST_CASE" = "build-fcos" ]; then | ||
| cosa build | ||
| elif [ "$TEST_CASE" = "build-qemu" ]; then | ||
| cosa osbuild qemu | ||
| fi |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| #!/bin/bash | ||
| set -euo pipefail | ||
|
|
||
| export TEST_CASE="$TEST_CASE" | ||
| case "$TEST_CASE" in | ||
| "init") | ||
| ./init.sh | ||
| ;; | ||
| "build-fcos"|"build-qemu") | ||
| ./build.sh | ||
| ;; | ||
| "test-qemu"|"test-kola-upgrade"|"test-kola-self") | ||
| ./test.sh | ||
| ;; | ||
| *) | ||
| echo "Error: Test case '$TEST_CASE' not found!" >&2 | ||
| exit 1 | ||
| ;; | ||
| esac |
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,18 @@ | ||||||||||
| #!/bin/bash | ||||||||||
| set -eEuo pipefail | ||||||||||
| set -x | ||||||||||
|
|
||||||||||
| source "utils.sh" | ||||||||||
|
|
||||||||||
| CONFIG_GIT_URL="https://github.com/coreos/fedora-coreos-config" | ||||||||||
| CONFIG_GIT_REF="testing-devel" | ||||||||||
|
Comment on lines
+7
to
+8
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These configuration values are hardcoded. It would be more flexible to allow them to be overridden via environment variables, which can be set in the
Suggested change
|
||||||||||
|
|
||||||||||
| echo "cosa container: $COREOS_ASSEMBLER_CONTAINER" | ||||||||||
| echo "arch: $(arch)" | ||||||||||
|
|
||||||||||
| echo "git version: $(git --version)" | ||||||||||
| echo "git url: ${CONFIG_GIT_URL}" | ||||||||||
| echo "git branch: ${CONFIG_GIT_REF}" | ||||||||||
|
|
||||||||||
| mkdir -p "$COSA_DIR" | ||||||||||
| cosa init --force "${CONFIG_GIT_URL}" --branch "${CONFIG_GIT_REF}" | ||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| test: ./entrypoint.sh | ||
|
|
||
| /init: | ||
| duration: 1h | ||
| order: 50 | ||
| environment: | ||
| TEST_CASE: init | ||
|
|
||
| /build-fcos: | ||
| duration: 1h | ||
| order: 60 | ||
| environment: | ||
| TEST_CASE: build-fcos | ||
|
|
||
| /build-qemu: | ||
| duration: 1h | ||
| order: 70 | ||
| environment: | ||
| TEST_CASE: build-qemu | ||
|
|
||
| /test-qemu: | ||
| duration: 2h | ||
| order: 80 | ||
| environment: | ||
| TEST_CASE: test-qemu | ||
|
|
||
| /test-kola-upgrade: | ||
| duration: 1h | ||
| order: 90 | ||
| environment: | ||
| TEST_CASE: test-kola-upgrade | ||
|
|
||
| /test-kola-self: | ||
| duration: 1h | ||
| order: 100 | ||
| environment: | ||
| TEST_CASE: test-kola-self |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| #!/bin/bash | ||
| set -eEuo pipefail | ||
| set -x | ||
|
|
||
| source "utils.sh" | ||
| trap collect_kola_artifacts ERR | ||
|
|
||
| if [ "$TEST_CASE" = "test-qemu" ]; then | ||
| export KOLA_ACTION="run" | ||
| export KOLA_ID="kola" | ||
| export KOLA_EXTRA_ARGS=( | ||
| --rerun | ||
| --allow-rerun-success=tags=needs-internet | ||
| --on-warn-failure-exit-77 | ||
| --tag=!reprovision | ||
| --parallel=5 | ||
| ) | ||
| run_kola | ||
| collect_kola_artifacts | ||
|
|
||
| # reprovision test | ||
| export KOLA_ACTION="run" | ||
| export KOLA_ID="kola-reprovision" | ||
| export KOLA_EXTRA_ARGS=( | ||
| --tag=reprovision | ||
| ) | ||
| run_kola | ||
| collect_kola_artifacts | ||
|
|
||
| elif [ "$TEST_CASE" = "test-kola-upgrade" ]; then | ||
| # upgrade test | ||
| export KOLA_ACTION="run-upgrade" | ||
| export KOLA_ID="run-upgrade" | ||
| export KOLA_EXTRA_ARGS=( | ||
| --upgrades | ||
| ) | ||
| run_kola | ||
| collect_kola_artifacts | ||
|
|
||
| elif [ "$TEST_CASE" = "test-kola-self" ]; then | ||
| REPO_ROOT=$(cd ../.. && pwd) | ||
| cp -r "${REPO_ROOT}/tests/kola-ci-self" "${COSA_DIR}/kola-ci-self" | ||
|
|
||
| cosa kola list -E "${COSA_DIR}/kola-ci-self" | ||
| # self test | ||
| export KOLA_ACTION="run" | ||
| export KOLA_ID="kola-self" | ||
| export KOLA_EXTRA_ARGS=( | ||
| -E "${COSA_DIR}/kola-ci-self" | ||
| 'ext.kola-ci-self*' | ||
| ) | ||
| run_kola | ||
| collect_kola_artifacts | ||
| fi |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| #!/bin/bash | ||
| set -eEuo pipefail | ||
| set -x | ||
|
|
||
| export COREOS_ASSEMBLER_CONTAINER="$IMAGE_URL" | ||
| export COSA_DIR="$HOME/workspace/build" | ||
|
|
||
| cosa () | ||
| { | ||
| podman run --rm --security-opt=label=disable --privileged \ | ||
| -v "${COSA_DIR}:/srv" --device=/dev/kvm \ | ||
| --device=/dev/fuse --tmpfs=/tmp -v /var/tmp:/var/tmp --name=cosa "${COREOS_ASSEMBLER_CONTAINER}" "$@"; | ||
| } | ||
| collect_kola_artifacts() { | ||
| mkdir -p "$TMT_TEST_DATA" | ||
| cd "${COSA_DIR}" && tar -C "${OUTPUT_DIR}" -c --xz "${KOLA_ID}" > "${KOLA_ID}-${TOKEN}.tar.xz" | ||
| cd "${COSA_DIR}" && mv "${KOLA_ID}-${TOKEN}.tar.xz" "${TMT_TEST_DATA}/${KOLA_ID}-${TOKEN}.tar.xz" | ||
| } | ||
|
Comment on lines
+14
to
+18
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The |
||
| run_kola(){ | ||
| OUTPUT_DIR=$(cd "${COSA_DIR}" && cosa shell -- mktemp -d tmp/kola-XXXX) | ||
| TOKEN="$(uuidgen | cut -f1 -d -)" | ||
| KOLA_ID="${KOLA_ID:-kola}" | ||
| cd "${COSA_DIR}" && cosa kola "${KOLA_ACTION}" --build=latest --arch="$(arch)" --output-dir="${OUTPUT_DIR}/${KOLA_ID}" "${KOLA_EXTRA_ARGS[@]}" | ||
| } | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This block of commented-out code should be removed to keep the configuration clean, unless it is intended to be kept for documentation purposes.