diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f04e3758d44ba023f152f5242fc342ff979a7d0d..e6ff2f62204ddd7e6075e032425ffb42eb586348 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -134,9 +134,6 @@ run_tests: .release: stage: release - image: docker:stable - services: - - docker:dind variables: # Disable shallow cloning so that goreleaser can diff between tags to # generate a changelog. @@ -148,19 +145,28 @@ release_test: extends: .release stage: release rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH - if: $CI_COMMIT_TAG when: never - changes: - .goreleaser.yml + before_script: | + go install github.com/goreleaser/goreleaser/v2@latest + apt-get update + apt-get install ca-certificates curl + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc + chmod a+r /etc/apt/keyrings/docker.asc + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + tee /etc/apt/sources.list.d/docker.list > /dev/null + apt-get update + apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin script: | - docker run --rm --privileged \ - -v $PWD:/go/src/gitlab.com/gitlab-org/cli \ - -e GO_VERSION="$GO_VERSION" \ - -w /go/src/gitlab.com/gitlab-org/cli \ - -v /var/run/docker.sock:/var/run/docker.sock \ - goreleaser/goreleaser release --snapshot + goreleaser release --snapshot release: extends: .release @@ -171,20 +177,14 @@ release: # we only want to build from the canonical project so we don't really # need to bother about this being compatible with forks. - 'saas-linux-2xlarge-amd64' + before_script: | + go install github.com/goreleaser/goreleaser/v2@latest + script: | - docker run --rm --privileged \ - -v $PWD:/go/src/gitlab.com/gitlab-org/cli \ - -w /go/src/gitlab.com/gitlab-org/cli \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -e GO_VERSION="$GO_VERSION" \ - -e GITLAB_TOKEN=$GITLAB_TOKEN_RELEASE \ - --entrypoint "" \ - goreleaser/goreleaser \ - bash -c " - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker login -u $DOCKER_IO_USER -p $DOCKER_IO_PASSWORD - goreleaser release - " + - goreleaser + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker login -u $DOCKER_IO_USER -p $DOCKER_IO_PASSWORD + - goreleaser release homebrew-release: image: homebrew/ubuntu22.04:latest @@ -205,6 +205,7 @@ windows_installer: name: amake/innosetup entrypoint: [""] rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_COMMIT_TAG - if: $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH @@ -225,6 +226,7 @@ build_windows: needs: [] extends: .go-cache rules: + - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_COMMIT_TAG - if: $CI_MERGE_REQUEST_EVENT_TYPE == "merge_train" - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH