You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.4 KiB

  1. workflow:
  2. rules:
  3. - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
  4. - if: $CI_COMMIT_TAG
  5. - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
  6. - if: $CI_COMMIT_BRANCH == 'staging'
  7. - if: $CI_COMMIT_BRANCH == 'develop'
  8. default:
  9. image: docker:27.4.1
  10. services:
  11. - docker:27.4.1-dind
  12. build:
  13. stage: build
  14. script:
  15. - docker build --tag tildes-dev --file ./docker/Dockerfile-for-vagrant ./docker
  16. - docker network create -d bridge test
  17. - >
  18. docker run
  19. -v ./tildes:/opt/tildes
  20. --detach
  21. --network test
  22. --name tildes-dev-main-container
  23. tildes-dev
  24. - >
  25. docker run
  26. -v ./ansible:/srv/ansible
  27. --network test
  28. debian:12
  29. bash -c
  30. 'apt-get update
  31. && apt-get install -y openssh-client sshpass python3-pip
  32. && mkdir -p ~/.ssh
  33. && chmod 700 ~/.ssh
  34. && touch ~/.ssh/known_hosts
  35. && chmod 644 ~/.ssh/known_hosts
  36. && ssh-keyscan tildes-dev-main-container >> ~/.ssh/known_hosts
  37. && python3 -m pip install --break-system-packages ansible
  38. && ansible-galaxy collection install -r /srv/ansible/requirements.yml
  39. && ansible-playbook --inventory /srv/ansible/ci_inventory.ini /srv/ansible/playbook.yml
  40. && sshpass -pvagrant ssh vagrant@tildes-dev-main-container
  41. "bash -c \". activate && invoke type-check test --quiet --full code-style-check --full\""'