diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3c1bcd11..7259931d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,75 +1,3 @@ -image: docker:stable - -stages: -- build -- manifest - -default: - before_script: - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - -build amd64: - stage: build - tags: - - amd64 - script: - - docker pull $CI_REGISTRY_IMAGE:latest || true - - docker build --pull --cache-from $CI_REGISTRY_IMAGE:latest --build-arg TARGETARCH=amd64 --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 . - - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 - - docker rmi $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 - after_script: - - | - if [[ "$CI_COMMIT_BRANCH" == "master" && "$CI_JOB_STATUS" == "success" ]]; then - apk add --update curl jq - rm -rf /var/cache/apk/* - - jq -n ' - { - password: env.BEEPER_DEV_ADMIN_NIGHTLY_PASS, - bridge: env.BEEPER_BRIDGE_TYPE, - image: "\(env.CI_REGISTRY_IMAGE):\(env.CI_COMMIT_SHA)-amd64", - channel: "STABLE" - } - ' | curl "$BEEPER_DEV_ADMIN_API_URL" -H "Content-Type: application/json" -d @- - - jq -n ' - { - password: env.BEEPER_DEV_ADMIN_NIGHTLY_PASS, - bridge: env.BEEPER_BRIDGE_TYPE, - image: "\(env.CI_REGISTRY_IMAGE):\(env.CI_COMMIT_SHA)-amd64", - channel: "NIGHTLY" - } - ' | curl "$BEEPER_DEV_ADMIN_API_URL" -H "Content-Type: application/json" -d @- - - jq -n ' - { - password: env.BEEPER_PROD_ADMIN_NIGHTLY_PASS, - bridge: env.BEEPER_BRIDGE_TYPE, - image: "\(env.CI_REGISTRY_IMAGE):\(env.CI_COMMIT_SHA)-amd64", - channel: "INTERNAL", - deployNext: true - } - ' | curl "$BEEPER_PROD_ADMIN_API_URL" -H "Content-Type: application/json" -d @- - fi - -build arm64: - stage: build - tags: - - arm64 - script: - - docker pull $CI_REGISTRY_IMAGE:latest || true - - docker build --pull --cache-from $CI_REGISTRY_IMAGE:latest --build-arg TARGETARCH=arm64 --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 . - - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 - - docker rmi $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 - -manifest: - stage: manifest - before_script: - - "mkdir -p $HOME/.docker && echo '{\"experimental\": \"enabled\"}' > $HOME/.docker/config.json" - - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - script: - - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 - - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 - - if [ "$CI_COMMIT_BRANCH" = "master" ]; then docker manifest create $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 && docker manifest push $CI_REGISTRY_IMAGE:latest; fi - - if [ "$CI_COMMIT_BRANCH" != "master" ]; then docker manifest create $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 && docker manifest push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME; fi - - docker rmi $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 +include: +- project: 'mautrix/ci' + file: '/python.yml'