Update pipeline

Co-authored-by: shadad00 <shadad@itba.edu.ar>
Co-authored-by: bsquillari <bsquillari@itba.edu.ar>
This commit is contained in:
Santiago Lo Coco 2023-12-04 20:06:50 -03:00
parent 9578780da1
commit 50c8ccd07d
2 changed files with 49 additions and 31 deletions

View File

@ -59,7 +59,9 @@ preparation:
- echo "SCREEN_CLIENT_TEST_IMAGE_NAME=${IMAGE_BASE}/screens-client:test-${BUILD_ID}" >> context.env - echo "SCREEN_CLIENT_TEST_IMAGE_NAME=${IMAGE_BASE}/screens-client:test-${BUILD_ID}" >> context.env
- echo "BROWSER_CLIENT_PROD_IMAGE_NAME=${IMAGE_BASE}/browser-client:prod-${BUILD_ID}" >> context.env - echo "BROWSER_CLIENT_PROD_IMAGE_NAME=${IMAGE_BASE}/browser-client:prod-${BUILD_ID}" >> context.env
- echo "BROWSER_CLIENT_TEST_IMAGE_NAME=${IMAGE_BASE}/browser-client:test-${BUILD_ID}" >> context.env - echo "BROWSER_CLIENT_TEST_IMAGE_NAME=${IMAGE_BASE}/browser-client:test-${BUILD_ID}" >> context.env
- echo "E2E_TEST_IMAGE_NAME=${IMAGE_BASE}/tavern:test-${BUILD_ID}" >> context.env - echo "BROWSER_CLIENT_DEV_IMAGE_NAME=${IMAGE_BASE}/browser-client:dev-${BUILD_ID}" >> context.env
- echo "CATCHER_TEST_IMAGE_NAME=${IMAGE_BASE}/catcher:test-${BUILD_ID}" >> context.env
- echo "TAVERN_TEST_IMAGE_NAME=${IMAGE_BASE}/tavern:test-${BUILD_ID}" >> context.env
- echo "DOCKER_HUB_SCREEN_CLIENT_IMAGE=$DOCKER_HUB_USER/screens-client:${BUILD_ID}" >> context.env - echo "DOCKER_HUB_SCREEN_CLIENT_IMAGE=$DOCKER_HUB_USER/screens-client:${BUILD_ID}" >> context.env
- echo "DOCKER_HUB_BROWSER_CLIENT_IMAGE=$DOCKER_HUB_USER/browser-client:${BUILD_ID}" >> context.env - echo "DOCKER_HUB_BROWSER_CLIENT_IMAGE=$DOCKER_HUB_USER/browser-client:${BUILD_ID}" >> context.env
- echo "DOCKER_HUB_GATEWAY_IMAGE=$DOCKER_HUB_USER/gateway:${BUILD_ID}" >> context.env - echo "DOCKER_HUB_GATEWAY_IMAGE=$DOCKER_HUB_USER/gateway:${BUILD_ID}" >> context.env
@ -138,21 +140,30 @@ build-subscription-api:
- export TEST_IMAGE=${SUBSCRIPTION_TEST_IMAGE_NAME} - export TEST_IMAGE=${SUBSCRIPTION_TEST_IMAGE_NAME}
- *build-and-push-script - *build-and-push-script
build-gateway: build-browser-dev:
extends: extends:
- .build - .build
script: script:
- export FOLDER=gateway - export FOLDER=browser-domain
- export PROD_IMAGE=${GATEWAY_PROD_IMAGE_NAME} - export API_IMAGE=${BROWSER_CLIENT_DEV_IMAGE_NAME}
- export TEST_IMAGE=${GATEWAY_TEST_IMAGE_NAME} - docker build ${FOLDER} -f ${FOLDER}/Dockerfile.dev -t ${API_IMAGE}
- *build-and-push-script - docker push ${API_IMAGE}
build-e2e-interface: build-tavern:
extends:
- .build
script:
- export FOLDER=testing/tavern
- export API_IMAGE=${TAVERN_TEST_IMAGE_NAME}
- docker build ${FOLDER} -f ${FOLDER}/Dockerfile -t ${API_IMAGE}
- docker push ${API_IMAGE}
build-catcher:
extends: extends:
- .build - .build
script: script:
- export FOLDER=testing/catcher - export FOLDER=testing/catcher
- export API_IMAGE=${E2E_TEST_IMAGE_NAME} - export API_IMAGE=${CATCHER_TEST_IMAGE_NAME}
- docker build ${FOLDER} -f ${FOLDER}/Dockerfile -t ${API_IMAGE} - docker build ${FOLDER} -f ${FOLDER}/Dockerfile -t ${API_IMAGE}
- docker push ${API_IMAGE} - docker push ${API_IMAGE}
@ -404,7 +415,7 @@ test-screen-integration:
artifacts: false artifacts: false
- *needs-backend-tests - *needs-backend-tests
test-e2e-interface: test-tavern:
stage: test stage: test
tags: tags:
- dev - dev
@ -412,8 +423,8 @@ test-e2e-interface:
- *changes-frontend - *changes-frontend
- *changes-backend - *changes-backend
script: script:
- export CLIENT_IMAGE=${E2E_TEST_IMAGE_NAME} - export CLIENT_IMAGE=${TAVERN_TEST_IMAGE_NAME}
- export FOLDER=testing/catcher - export FOLDER=testing/tavern
- *test-integration - *test-integration
after_script: after_script:
- *test-integration-clean - *test-integration-clean
@ -424,7 +435,29 @@ test-e2e-interface:
- job: test-screen-integration - job: test-screen-integration
optional: true optional: true
artifacts: false artifacts: false
- job: build-e2e-interface - job: build-tavern
optional: true
artifacts: false
- *needs-backend-tests
test-catcher:
stage: test
tags:
- dev
rules:
- *changes-frontend
- *changes-backend
script:
- export CLIENT_IMAGE=${CATCHER_TEST_IMAGE_NAME}
- export FOLDER=testing/catcher
- *test-integration
after_script:
- *test-integration-clean
needs:
- job: test-tavern
optional: true
artifacts: false
- job: build-catcher
optional: true optional: true
artifacts: false artifacts: false
- *needs-backend-tests - *needs-backend-tests
@ -460,7 +493,10 @@ deliver-dockerhub:
- job: test-screen-integration - job: test-screen-integration
optional: true optional: true
artifacts: false artifacts: false
- job: test-e2e-interface - job: test-tavern
optional: true
artifacts: false
- job: test-catcher
optional: true optional: true
artifacts: false artifacts: false
- job: preparation - job: preparation

View File

@ -1,18 +0,0 @@
FROM slococo/python-builder:3.11.2
USER root
RUN apt update && apt install libpq-dev -y
USER 999
RUN python -m pip install --upgrade pip && \
python -m pip install catcher catcher-modules[postgres]
COPY --chown=python:python . .
RUN chmod +x /usr/src/app/test.sh
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ARG API_URL
ENV API_URL $API_URL
ENTRYPOINT ["/usr/src/app/test.sh"]