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: | apt-get update apt-get install -y docker.io - name: Build and run SSH Server Docker Container run: | docker rm -f ssh-server || true docker build -t my-ssh-server ./ci-tests/ 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: | mkdir -p ~/.ssh 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 replication@localhost echo "SSH connection successful"