test.yml 893 B

1234567891011121314151617181920212223242526272829303132333435
  1. ---
  2. spec:
  3. inputs:
  4. as:
  5. default: test-docker
  6. stage:
  7. default: test
  8. root_dir:
  9. default: ${CI_PROJECT_DIR}
  10. description: 'Root directory for the Docker Compose project.'
  11. project_file:
  12. default: 'compose.yaml'
  13. description: 'Docker Compose file to use.'
  14. ---
  15. '$[[ inputs.as ]]':
  16. stage: '$[[ inputs.stage ]]'
  17. image: docker:latest
  18. variables:
  19. PROJECT_DIR: "$[[ inputs.root_dir ]]"
  20. PROJECT_FILE: "$[[ inputs.project_file ]]"
  21. before_script:
  22. - cd $PROJECT_DIR
  23. script:
  24. - docker compose -f $PROJECT_FILE config --quiet
  25. rules:
  26. - if: '$CI_COMMIT_REF_NAME == "main"'
  27. changes:
  28. - '$[[ inputs.root_dir ]]/$[[ inputs.project_file ]]'
  29. - if: |
  30. $CI_PIPELINE_SOURCE == "push" ||
  31. $CI_PIPELINE_SOURCE == "merge_request_event"
  32. changes:
  33. - '$[[ inputs.root_dir ]]/$[[ inputs.project_file ]]'