diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml new file mode 100644 index 0000000..ae97197 --- /dev/null +++ b/.github/workflows/integration-tests.yml @@ -0,0 +1,20 @@ +name: KAB integration tests + +on: + # integration tests need secrets from environment for forked progject + pull_request_target: + +jobs: + integration-tests: + runs-on: ubuntu-latest + environment: testing_farm + steps: + - name: Schedule tests on Testing Farm + uses: sclorg/testing-farm-as-github-action@v4 + with: + api_key: ${{ secrets.TF_API_KEY }} + compose: Fedora-43 + # Avoid using xen guests as some machines don't support kdump + tmt_hardware: '{"virtualization.hypervisor": "!= xen"}' + pipeline_settings: '{"type": "tmt-multihost"}' + tmt_context: 'trigger=GitHub_Action;' diff --git a/Makefile b/Makefile index 977e1ea..5f6d834 100644 --- a/Makefile +++ b/Makefile @@ -40,9 +40,10 @@ unit-tests: shellspec TMT_CONTEXT_ARG := $(shell test -f KAB_TMT_CONTEXT && echo "-c @KAB_TMT_CONTEXT") +TMT_PROVISION_VIRTUAL_ARG := $(shell test -f KAB_TMT_CONTEXT || echo "provision -h virtual -c system") integration-tests: - tmt $(TMT_CONTEXT_ARG) run -a + tmt $(TMT_CONTEXT_ARG) run $(TMT_PROVISION_VIRTUAL_ARG) tests: format-check static-analysis unit-tests integration-tests diff --git a/plans/criu.fmf b/plans/criu.fmf index 8eb52f5..9608c29 100644 --- a/plans/criu.fmf +++ b/plans/criu.fmf @@ -1,18 +1,13 @@ discover: + - name: set up ssh access from client to server + how: fmf + test: + - /tests/setup_ssh_client_to_server - name: kab on a single machine (CRIU) how: fmf test: - /tests/kab_criu -provision: - - name: client - how: virtual - connection: system - - - name: server - how: virtual - connection: system - adjust: provision: - name: client diff --git a/plans/main.fmf b/plans/main.fmf index 4e7f8cc..cdf3c00 100644 --- a/plans/main.fmf +++ b/plans/main.fmf @@ -1,2 +1,6 @@ +provision: + - name: client + - name: server + execute: how: tmt diff --git a/plans/ssh.fmf b/plans/ssh.fmf index 261e596..d9c7436 100644 --- a/plans/ssh.fmf +++ b/plans/ssh.fmf @@ -4,15 +4,6 @@ discover: test: - /tests/kab_ssh$ -provision: - - name: client - how: virtual - connection: system - - - name: server - how: virtual - connection: system - adjust: provision: - name: client diff --git a/plans/ssh_auto.fmf b/plans/ssh_auto.fmf index 4b8946a..2e61fae 100644 --- a/plans/ssh_auto.fmf +++ b/plans/ssh_auto.fmf @@ -4,15 +4,6 @@ discover: test: - /tests/kab_ssh_auto -provision: - - name: client - how: virtual - connection: system - - - name: server - how: virtual - connection: system - adjust: provision: - name: client diff --git a/plans/ssh_src.fmf b/plans/ssh_src.fmf index d5ddcb0..1294b44 100644 --- a/plans/ssh_src.fmf +++ b/plans/ssh_src.fmf @@ -6,13 +6,8 @@ discover: provision: - name: client - how: virtual - connection: system user: test - - name: server - how: virtual - connection: system adjust: - when: KAB_LOCAL_GIT_REPO is defined @@ -32,3 +27,10 @@ adjust: - name: server how: connect guest: $@KAB_SERVER_IP_SRC + + + # Currently, testing farm doesn't support run the test with specified user name + - when: trigger == GitHub_Action + provision: + - name: client + - name: server diff --git a/tests/kab_criu/test.sh b/tests/kab_criu/test.sh index c1df445..fb9f73c 100755 --- a/tests/kab_criu/test.sh +++ b/tests/kab_criu/test.sh @@ -17,8 +17,7 @@ fi TARGET_HOST="${SERVERS}" -TMT_TEST_PLAN_ROOT=${TMT_PLAN_DATA%data} -SERVER_SSH_KEY=${TMT_TEST_PLAN_ROOT}/provision/server/id_ecdsa +SERVER_SSH_KEY=$TMT_TREE/tests/ssh_keys/id_ecdsa # ssh_cmd wrapper to handle local and remote execution ssh_cmd() { diff --git a/tests/ssh_keys/id_ecdsa b/tests/ssh_keys/id_ecdsa new file mode 100644 index 0000000..229421c --- /dev/null +++ b/tests/ssh_keys/id_ecdsa @@ -0,0 +1,9 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS +1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQRIcX15EDEx6jwKDQGvwm5Ms0lKg78T +wkZGFU21ZJwpoiDB+XlnPDSjSer9nYAAAz+Hd23doa4s/WPPwRzPbqNbAAAAqCtsZ78rbG +e/AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEhxfXkQMTHqPAoN +Aa/CbkyzSUqDvxPCRkYVTbVknCmiIMH5eWc8NKNJ6v2dgAADP4d3bd2hriz9Y8/BHM9uo1 +sAAAAhAMGekvRvaBp80aCmV262GidSEyD1KSjZsOIE9+lpY/mYAAAADXRlc3RAa2FiLXRl +c3QBAg== +-----END OPENSSH PRIVATE KEY----- diff --git a/tests/ssh_keys/id_ecdsa.pub b/tests/ssh_keys/id_ecdsa.pub new file mode 100644 index 0000000..c283c88 --- /dev/null +++ b/tests/ssh_keys/id_ecdsa.pub @@ -0,0 +1 @@ +ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEhxfXkQMTHqPAoNAa/CbkyzSUqDvxPCRkYVTbVknCmiIMH5eWc8NKNJ6v2dgAADP4d3bd2hriz9Y8/BHM9uo1s= test@kab-test