Kumi
d4afc756c4
Some checks failed
Test! / test (push) Failing after 8s
To facilitate the execution of tests within a controlled environment, Docker is now installed as part of the CI testing workflow. This addition ensures that any Docker-dependent steps, specifically the building and running of an SSH Server Docker container, execute seamlessly. Previously, the assumption was that Docker would be pre-installed on the runner, which could lead to inconsistencies or failures in environments where this was not the case. By explicitly including the Docker installation step, the workflow becomes more portable and resilient across different CI execution environments.
43 lines
1.2 KiB
YAML
43 lines
1.2 KiB
YAML
name: Test!
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
test:
|
|
steps:
|
|
- name: Check out code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Generate SSH key pair
|
|
run: |
|
|
ssh-keygen -t rsa -b 4096 -f my_ssh_key -N ""
|
|
|
|
- name: Install Docker
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y docker.io
|
|
|
|
- name: Build and run SSH Server Docker Container
|
|
run: |
|
|
docker build -t my-ssh-server ./ci-tests/Dockerfile
|
|
docker run -d -p 2222:22 --name ssh-server my-ssh-server
|
|
|
|
- name: Copy public key to Docker container
|
|
run: |
|
|
docker cp my_ssh_key.pub ssh-server:/home/replication/.ssh/authorized_keys
|
|
docker exec ssh-server chown replication:replication /home/replication/.ssh/authorized_keys
|
|
docker exec ssh-server chmod 600 /home/replication/.ssh/authorized_keys
|
|
|
|
- name: Trust SSH server's host key (to prevent interactive prompt)
|
|
run: |
|
|
ssh-keyscan -p 2222 -H localhost >> ~/.ssh/known_hosts
|
|
|
|
- name: Connect to SSH server using SSH key
|
|
run: |
|
|
ssh -i my_ssh_key -p 2222 root@localhost echo "SSH connection successful"
|