-
Notifications
You must be signed in to change notification settings - Fork 58
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
tests/e2e: Migrate e2e test for s390x to GHA #295
Changes from all commits
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,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 }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
name: ccruntime e2e test for PR | ||
on: | ||
pull_request_target: | ||
branches: | ||
- 'main' | ||
types: | ||
- opened | ||
- synchronize | ||
- reopened | ||
- labeled | ||
paths-ignore: | ||
- 'docs/**' | ||
|
||
jobs: | ||
e2e-pr: | ||
if: ${{ contains(github.event.pull_request.labels.*.name, 'ok-to-test') }} | ||
uses: ./.github/workflows/ccruntime_e2e.yaml | ||
with: | ||
target-branch: ${{ github.event.pull_request.base.ref }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
#!/usr/bin/env bash | ||
# | ||
# Copyright Confidential Containers Contributors | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
|
||
set -o errexit | ||
set -o nounset | ||
set -o pipefail | ||
|
||
function install_jq() { | ||
if [ -n "$(command -v apt-get)" ]; then | ||
sudo apt-get update | ||
sudo apt-get install -y jq | ||
elif [ -n "$(command -v yum)" ]; then | ||
sudo yum install -y epel-release | ||
sudo yum install -y jq | ||
else | ||
>&2 echo "No supported package manager found" | ||
exit 1 | ||
fi | ||
} | ||
|
||
function configure_github() { | ||
if [ ! command -v jq &> /dev/null ]; then | ||
echo "jq is not installed, installing it" | ||
install_jq | ||
fi | ||
USERNAME=$(jq -r '.pull_request.user.login' "$GITHUB_EVENT_PATH") | ||
EMAIL=$(jq -r '.pull_request.user.email' "$GITHUB_EVENT_PATH") | ||
# if the email is null, stuff with a dummy email | ||
if [ "${EMAIL}" == "null" ]; then | ||
EMAIL="dummy@email.address" | ||
fi | ||
echo "Adding user name ${USERNAME} and email ${EMAIL} to the local git repo" | ||
git config user.name "${USERNAME}" | ||
git config user.email "${EMAIL}" | ||
} | ||
|
||
function rebase_atop_of_the_latest_target_branch() { | ||
if [ -n "${TARGET_BRANCH}" ]; then | ||
configure_github | ||
echo "Rebasing atop of the latest ${TARGET_BRANCH}" | ||
# Recover from any previous rebase left halfway | ||
git rebase --abort 2> /dev/null || true | ||
if ! git rebase origin/${TARGET_BRANCH}; then | ||
>&2 echo "Rebase failed, exiting" | ||
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. Hey Choi, in the kata-containers version there was a different path for self-hosted runner than deleted the workspace directory to avoid merge conflicts impacting runs IIRC - is that needed here too? 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. I intentionally removed those lines here, wanting to see if that is also the case for this repo. Even if that is the case again, that could be handled by {pre,post}-action, I guess. 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. Great, thanks for the explanation! |
||
exit 1 | ||
fi | ||
fi | ||
} | ||
|
||
function main() { | ||
action="${1:-}" | ||
|
||
case "${action}" in | ||
rebase-atop-of-the-latest-target-branch) rebase_atop_of_the_latest_target_branch;; | ||
*) >&2 echo "Invalid argument"; exit 2 ;; | ||
esac | ||
} | ||
|
||
main "$@" |
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.
@BbolroC so s390x is not going to run the undo (-u) operations from the e2e framework. Will it be done (undo) by the post-action then?
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.
Yes, it was concluded that the option
-u
is not suitable for a self-hosted runner context. The functionality of the option is delegated to the {pre,post}-action.