--- kind: pipeline name: default steps: - name: build_dev image: docker commands: - docker build -t squidex --build-arg SQUIDEX__VERSION=4.0.0-dev-$${DRONE_BUILD_NUMBER} . volumes: - name: docker1 path: /var/run/docker.sock - name: docker2 path: /var/lib/docker when: event: - push - pull_request branch: - master - release/* - name: build_release image: docker commands: - docker build -t squidex --build-arg SQUIDEX__VERSION=$${DRONE_TAG} . volumes: - name: docker1 path: /var/run/docker.sock - name: docker2 path: /var/lib/docker when: event: - tag - name: test_start image: docker/compose commands: - cd backend/tests - docker-compose up -d volumes: - name: docker1 path: /var/run/docker.sock - name: docker2 path: /var/lib/docker when: event: - tag - push - pull_request branch: - master - release/* - name: test_run image: mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim environment: CONFIG__SERVER__URL: http://localhost:8080 CONFIG__WAIT: 60 commands: - dotnet test backend/tools/TestSuite/TestSuite.ApiTests/TestSuite.ApiTests.csproj --filter Category!=NotAutomated network_mode: host when: event: - tag - push - pull_request branch: - master - release/* - name: test_cleanup image: docker/compose commands: - cd backend/tests - docker-compose down volumes: - name: docker1 path: /var/run/docker.sock - name: docker2 path: /var/lib/docker when: status: - failure - success event: - tag - push - pull_request branch: - master - release/* - name: push_dev image: docker commands: - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD - docker tag squidex squidex/squidex:dev - docker tag squidex squidex/squidex:dev-$${DRONE_BUILD_NUMBER} - docker push squidex/squidex:dev - docker push squidex/squidex:dev-$${DRONE_BUILD_NUMBER} volumes: - name: docker1 path: /var/run/docker.sock - name: docker2 path: /var/lib/docker environment: DOCKER_USERNAME: from_secret: DOCKER_USERNAME DOCKER_PASSWORD: from_secret: DOCKER_PASSWORD when: event: - push branch: - master - release/* - name: push_release image: docker commands: - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD - docker tag squidex squidex/squidex:latest - docker tag squidex squidex/squidex:$${DRONE_TAG} - docker tag squidex squidex/squidex:$${DRONE_TAG:0:1} - docker push squidex/squidex:latest - docker push squidex/squidex:$${DRONE_TAG} - docker push squidex/squidex:$${DRONE_TAG:0:1} volumes: - name: docker1 path: /var/run/docker.sock - name: docker2 path: /var/lib/docker environment: DOCKER_USERNAME: from_secret: DOCKER_USERNAME DOCKER_PASSWORD: from_secret: DOCKER_PASSWORD when: event: - tag - name: build_binaries image: docker commands: - docker create --name squidex-container squidex - docker cp squidex-container:/app/. /build volumes: - name: build path: /build - name: docker1 path: /var/run/docker.sock - name: docker2 path: /var/lib/docker when: event: - tag - name: binaries_zip image: kramos/alpine-zip commands: - cd /build && zip -r /release/binaries.zip . volumes: - name: build path: /build - name: release path: /release when: event: - tag - name: binaries_publish image: plugins/github-release settings: api_key: from_secret: GITHUB_TOKEN files: - /release/binaries.zip volumes: - name: release path: /release when: event: - tag - name: binaries_cleanup image: docker commands: - docker rm squidex-container volumes: - name: docker1 path: /var/run/docker.sock - name: docker2 path: /var/lib/docker when: status: - failure - success event: - tag volumes: - name: build temp: {} - name: release temp: {} - name: docker1 host: path: /var/run/docker.sock - name: docker2 host: path: /var/lib/docker --- kind: secret name: GITHUB_TOKEN data: ug4jjv04VM8v6+j18pGC/xVcnhB55AQI+F6Raz3mmZ7JRWYwDcu7x1PryHhkFBErtGrQHMHvr5EhAqwMaun7WurKUnI= --- kind: secret name: DOCKER_USERNAME data: BRJUSatZx7X0MCxVq1QboS2DBeye7jnPoeuDi7ejkPDq8EDrrCVT9D2DuQ== --- kind: secret name: DOCKER_PASSWORD data: 2JITndCjHwdCyJ/m/onZNnUlXxIJ5FhECC+gnY3klV9PIQYIyLwQ