integration-tests.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. name: Coriolis Integration Tests
  2. on:
  3. workflow_dispatch:
  4. pull_request:
  5. branches: [ "master" ]
  6. permissions:
  7. contents: read
  8. jobs:
  9. integration:
  10. runs-on: ubuntu-24.04
  11. steps:
  12. - name: Checkout repository
  13. uses: actions/checkout@v4
  14. - name: Set up Python 3.10
  15. uses: actions/setup-python@v4
  16. with:
  17. python-version: "3.10"
  18. architecture: "x64"
  19. - name: Install tox
  20. shell: bash
  21. run: |
  22. sudo apt install tox
  23. - name: Install scsi_debug kernel module
  24. shell: bash
  25. run: |
  26. sudo apt-get install -y linux-modules-extra-$(uname -r)
  27. - name: Set up SSH for localhost
  28. shell: bash
  29. run: |
  30. sudo apt-get install -y openssh-server
  31. sudo mkdir -p /root/.ssh
  32. sudo chmod 700 /root/.ssh
  33. sudo ssh-keygen -t rsa -b 4096 -N "" -f /root/.ssh/id_rsa
  34. sudo bash -c 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys'
  35. sudo chmod 600 /root/.ssh/authorized_keys
  36. sudo bash -c 'echo "PermitRootLogin yes" >> /etc/ssh/sshd_config'
  37. sudo systemctl start ssh
  38. sudo ssh-keyscan -H 127.0.0.1 | sudo tee -a /root/.ssh/known_hosts
  39. - name: Run integration tests
  40. shell: bash
  41. run: |
  42. sudo -E tox -e integration -v