Skip to content

Commit

Permalink
tests/e2e: Migrate e2e test for s390x to GHA
Browse files Browse the repository at this point in the history
This PR is to migrate the following e2e tests for s390x to GHA:

- confidential-containers-operator-main-ubuntu-20.04-s390x-containerd_kata-qemu-baseline
- confidential-containers-operator-main-ubuntu-20.04-s390x-containerd_kata-qemu-PR
- confidential-containers-operator-main-ubuntu-20.04-s390x-SE-daily

They are incorporated into the existing x86_64 test workflow `ccruntime_e2e.yml`.

The workflows incorparated are nightly triggered at 2:00 UTC.

Fixes: #294

Signed-off-by: Hyounggyu Choi <[email protected]>
  • Loading branch information
BbolroC committed Jan 11, 2024
1 parent 2039b23 commit 25fe509
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 6 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/ccruntime-nightly.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: ccruntime e2e test nightly
on:
schedule:
- cron: '0 2 * * *'
workflow_dispatch:

jobs:
e2e-nightly:
uses: ./.github/workflows/ccruntime_e2e.yaml

e2e-ibm-se-nightly:
runs-on: s390x
strategy:
fail-fast: false
matrix:
test_title:
- cc-operator-e2e-tests
steps:
- name: Fetch a test result for {{ matrix.test_title }}
run: |
file_name="${TEST_TITLE}-$(date +%Y-%m-%d).log"
/home/${USER}/script/handle_test_log.sh download $file_name
env:
TEST_TITLE: ${{ matrix.test_title }}
17 changes: 17 additions & 0 deletions .github/workflows/ccruntime-on-push.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: ccruntime e2e test on-push
on:
pull_request_target:
branches:
- 'main'
types:
- opened
- synchronize
- reopened
- labeled
paths-ignore:
- 'docs/**'

jobs:
e2e-on-push:
if: ${{ contains(github.event.pull_request.labels.*.name, 'ok-to-test') }}
uses: ./.github/workflows/ccruntime_e2e.yaml
37 changes: 31 additions & 6 deletions .github/workflows/ccruntime_e2e.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: ccruntime e2e tests
on:
pull_request:
branches:
- main
workflow_call:

permissions:
contents: read
Expand All @@ -13,10 +11,24 @@ jobs:
strategy:
fail-fast: false
matrix:
runtimeclass: ["kata-qemu", "kata-clh"]
instance: ["az-ubuntu-2004", "az-ubuntu-2204"]
runtimeclass:
- "kata-qemu"
- "kata-clh"
instance:
- "az-ubuntu-2004"
- "az-ubuntu-2204"
- "s390x"
exclude:
- runtimeclass: "kata-clh"
instance: "s390x"
runs-on: ${{ matrix.instance }}
steps:
- name: Take a pre-action for self-hosted runner
run: |
if [ -f ${HOME}/script/pre_action.sh ]; then
${HOME}/script/pre_action.sh cc-operator
fi
- uses: actions/checkout@v4

- name: Install deps
Expand All @@ -29,4 +41,17 @@ jobs:
run: |
cd tests/e2e
export PATH="$PATH:/usr/local/bin"
./run-local.sh -r "${{ matrix.runtimeclass }}" -u
args="-u"
if [ $RUNNING_INSTANCE = "s390x" ]; then
args=""
fi
./run-local.sh -r "${{ matrix.runtimeclass }}" "${args}"
env:
RUNNING_INSTANCE: ${{ matrix.instance }}

- name: Take a post-action
if: always()
run: |
if [ -f ${HOME}/script/post_action.sh ]; then
${HOME}/script/post_action.sh cc-operator
fi
37 changes: 37 additions & 0 deletions tests/e2e/ansible/install_docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,43 @@
- docker-ce-cli
state: present
when: docker_exist.rc != 0 and ansible_distribution == "CentOS"
#
# In order to prevent "systemd: docker.service Start request repeated too quickly"
#
- name: Set StartLimitBurst to 0 on Ubuntu for s390x
block:
- name: If a fragment path starts with `/lib`, then create /etc/systemd/system/docker.service.d
block:
- name: Get FragmentPath
shell: systemctl show -p FragmentPath docker.service | awk -F'=' '{print $2}'
register: fragment_path
- name: Copy fragment file to /etc/systemd/system/docker.service.d
copy:
src: "{{ fragment_path.stdout }}"
dest: "{{ fragment_path.stdout.replace('/lib', '/etc') }}"
when: fragment_path.stdout.find('/lib') != -1
- name: Configure `StartLimitBurst=0` in /etc/systemd/system/docker.service
block:
- name: Check if /etc/systemd/system/docker.service has StartLimitBurst=0
shell: grep -q 'StartLimitBurst' /etc/systemd/system/docker.service
register: start_limit_burst
ignore_errors: yes
- name: Replace a value of StartLimitBurst to 0
lineinfile:
path: /etc/systemd/system/docker.service
regexp: '^StartLimitBurst='
line: 'StartLimitBurst=0'
when: start_limit_burst.rc == 0
- name: Otherwise, insert `StartLimitBurst=0` just after a service section
lineinfile:
path: /etc/systemd/system/docker.service
insertafter: '\[Service\]'
line: 'StartLimitBurst=0'
when: start_limit_burst.rc != 0
- name: Reload systemd
systemd:
daemon_reload: yes
when: ansible_distribution == "Ubuntu" and ansible_architecture == 's390x'
- name: Start docker service
service:
name: docker
Expand Down

0 comments on commit 25fe509

Please sign in to comment.