contentmonster/.forgejo/workflows/test.yml

53 lines
1.4 KiB
YAML
Raw Permalink Normal View History

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: Wait for SSH server to start
run: |
for i in {1..10}; do
nc -z localhost 2222 && break
sleep 1
done
- 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"