diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml index 45755f2..d23b7d2 100644 --- a/.woodpecker/build.yaml +++ b/.woodpecker/build.yaml @@ -3,7 +3,7 @@ when: branch: woodpecker steps: - - name: build + - name: code-tests image: python:3.11.7-alpine commands: - cd api @@ -11,3 +11,29 @@ steps: - source env/bin/activate - pip install -r requirements.txt pytest - python3 -m pytest --junit-xml=pytest_junit.xml + + - name: build-test-and-push-image + image: docker:dind + privileged: true + environment: + DOCKER_HOST: unix:///var/run/docker.sock + ACR_USERNAME: marcin00 + ACR_PASSWORD: + from_secret: acr_password + commands: + - dockerd-entrypoint.sh & + - sleep 3 + - DOCKER_IMAGE=user-microservice:CI_COMMIT_SHA + - docker build -t $DOCKER_IMAGE . + - apk add --no-cache bash + - wget https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -O goss + - wget https://github.com/aelsabbahy/goss/releases/latest/download/dgoss -O dgoss + - chmod +rx *goss + - export GOSS_OPTS="-f junit" + - export GOSS_PATH=./goss + - export GOSS_SLEEP=3 + - ./dgoss run -e SQLALCHEMY_DATABASE_URI=sqlite:///:memory: $DOCKER_IMAGE > /workspace/goss_junit.xml + - echo "===> Logging into ACR" + - echo "$ACR_PASSWORD" | docker login marcin00.azurecr.io -u $ACR_USERNAME --password-stdin + - echo "===> Pushing image to ACR" + - docker push $DOCKER_IMAGE