name: CI Test on: push: branches: [main, windows-ci] workflow_dispatch: env: WIN_HOST: 172.17.0.1 WIN_PORT: 2210 WIN_USER: edr jobs: hello: runs-on: docker steps: - name: Say hello run: | echo "Hello from Forgejo Actions!" echo "Runner: $RUNNER_NAME" uname -a node --version - name: Math check run: echo "2+2 = $((2+2))" windows-test: runs-on: docker steps: - name: Install sshpass run: | apt-get update -qq apt-get install -y -qq sshpass openssh-client - name: Wait for Windows VM SSH env: SSHPASS: ${{ secrets.WINDOWS_SSH_PASSWORD }} run: | for i in $(seq 1 30); do if sshpass -e ssh -o StrictHostKeyChecking=no -o ConnectTimeout=3 \ -p "$WIN_PORT" "$WIN_USER@$WIN_HOST" "exit" 2>/dev/null; then echo "VM SSH ready"; exit 0 fi echo "[$i/30] waiting for VM..."; sleep 5 done echo "VM SSH never became ready"; exit 1 - name: Smoke test on Windows env: SSHPASS: ${{ secrets.WINDOWS_SSH_PASSWORD }} run: | sshpass -e ssh -o StrictHostKeyChecking=no \ -p "$WIN_PORT" "$WIN_USER@$WIN_HOST" \ "whoami && ver && echo windows-smoke-ok" # The actual test step — runs the test inside the Windows VM. # Customise the command to fit the project once Windows test tooling is in place. - name: Run Windows test env: SSHPASS: ${{ secrets.WINDOWS_SSH_PASSWORD }} run: | sshpass -e ssh -o StrictHostKeyChecking=no \ -p "$WIN_PORT" "$WIN_USER@$WIN_HOST" \ "echo TODO: run actual test command here"