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.

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