From 2c68db1bddd7fb461461718d25ea3d1ed4b6ef0a Mon Sep 17 00:00:00 2001 From: Lauris BH Date: Tue, 19 May 2020 18:37:55 +0300 Subject: [PATCH 1/3] Skip compliance and testing steps where possible on branches and tags --- .drone.yml | 76 ++++++++++++++++++++---------------------------------- 1 file changed, 28 insertions(+), 48 deletions(-) diff --git a/.drone.yml b/.drone.yml index ac8c929181f45..885242c1e617e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -10,6 +10,10 @@ workspace: base: /go path: src/code.gitea.io/gitea +trigger: + event: + - pull_request + steps: - name: deps-frontend pull: always @@ -92,6 +96,13 @@ workspace: base: /go path: src/code.gitea.io/gitea +trigger: + branch: + - master + event: + - pull_request + - push + services: - name: mysql pull: default @@ -105,12 +116,6 @@ services: from_secret: gitlab_read_token depends_on: - build - when: - branch: - - master - event: - - push - - pull_request - name: mysql8 pull: default @@ -118,6 +123,9 @@ services: environment: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: testgitea + when: + event: + - pull_request - name: mssql pull: default @@ -126,6 +134,9 @@ services: ACCEPT_EULA: Y MSSQL_PID: Standard SA_PASSWORD: MwantsaSecurePassword1 + when: + event: + - pull_request - name: ldap pull: default @@ -138,16 +149,6 @@ services: image: elasticsearch:7.5.0 steps: - - name: fetch-tags - pull: default - image: docker:git - commands: - - git fetch --tags --force - when: - event: - exclude: - - pull_request - - name: build pull: always image: golang:1.14 @@ -158,12 +159,6 @@ steps: GOSUMDB: sum.golang.org TAGS: bindata sqlite sqlite_unlock_notify - - name: tag-pre-condition - pull: always - image: alpine/git - commands: - - git update-ref refs/heads/tag_test ${DRONE_COMMIT_SHA} - - name: unit-test pull: always image: golang:1.14 @@ -204,6 +199,9 @@ steps: USE_REPO_TEST_DIR: 1 depends_on: - build + when: + event: + - pull_request - name: test-mssql pull: always @@ -219,6 +217,9 @@ steps: USE_REPO_TEST_DIR: 1 depends_on: - build + when: + event: + - pull_request - name: generate-coverage pull: always @@ -231,12 +232,6 @@ steps: depends_on: - unit-test - test-mysql - when: - branch: - - master - event: - - push - - pull_request - name: coverage pull: always @@ -249,12 +244,6 @@ steps: from_secret: codecov_token depends_on: - generate-coverage - when: - branch: - - master - event: - - push - - pull_request --- kind: pipeline @@ -271,6 +260,10 @@ workspace: base: /go path: src/code.gitea.io/gitea +trigger: + event: + - pull_request + services: - name: pgsql pull: default @@ -284,16 +277,6 @@ services: image: gitea/test-openldap:latest steps: - - name: fetch-tags - pull: default - image: docker:git - commands: - - git fetch --tags --force - when: - event: - exclude: - - pull_request - - name: build pull: always image: golang:1.14 @@ -513,10 +496,6 @@ trigger: event: - tag -depends_on: - - testing-arm64 - - testing-amd64 - steps: - name: fetch-tags pull: default @@ -712,6 +691,7 @@ trigger: ref: - refs/heads/master - "refs/tags/**" + steps: - name: fetch-tags pull: default From c4fb7824dd10b7f22c513e4ea61d9b8aa7968453 Mon Sep 17 00:00:00 2001 From: Lauris BH Date: Wed, 20 May 2020 17:01:03 +0300 Subject: [PATCH 2/3] Split master branch coverage out to other pipeline --- .drone.yml | 145 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 104 insertions(+), 41 deletions(-) diff --git a/.drone.yml b/.drone.yml index 885242c1e617e..f546b0558be7d 100644 --- a/.drone.yml +++ b/.drone.yml @@ -81,6 +81,85 @@ steps: - go build -mod=vendor -o gitea_linux_386 # test if compatible with 32 bit depends_on: [lint-backend] +--- +kind: pipeline +name: coverage + +platform: + os: linux + arch: amd64 + +workspace: + base: /go + path: src/code.gitea.io/gitea + +trigger: + branch: + - master + event: + - push + +services: + - name: mysql + pull: default + image: mysql:5.7 + environment: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: test + GOPROXY: off + TAGS: bindata sqlite sqlite_unlock_notify + GITLAB_READ_TOKEN: + from_secret: gitlab_read_token + depends_on: + - build + + - name: ldap + pull: default + image: gitea/test-openldap:latest + + - name: elasticsearch + pull: default + environment: + discovery.type: single-node + image: elasticsearch:7.5.0 + +steps: + - name: build + pull: always + image: golang:1.14 + commands: + - make backend + environment: + GOPROXY: https://goproxy.cn # proxy.golang.org is blocked in China, this proxy is not + GOSUMDB: sum.golang.org + TAGS: bindata sqlite sqlite_unlock_notify + + - name: unit-test + pull: always + image: golang:1.14 + commands: + - make unit-test-coverage test-check + environment: + GOPROXY: off + TAGS: bindata sqlite sqlite_unlock_notify + GITHUB_READ_TOKEN: + from_secret: github_read_token + + - name: test-mysql + pull: always + image: golang:1.14 + commands: + - "curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash" + - apt-get install -y git-lfs + - make test-mysql-migration integration-test-coverage + environment: + GOPROXY: off + TAGS: bindata + TEST_LDAP: 1 + USE_REPO_TEST_DIR: 1 + depends_on: + - build + --- kind: pipeline name: testing-amd64 @@ -97,11 +176,8 @@ workspace: path: src/code.gitea.io/gitea trigger: - branch: - - master event: - pull_request - - push services: - name: mysql @@ -123,9 +199,6 @@ services: environment: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: testgitea - when: - event: - - pull_request - name: mssql pull: default @@ -134,9 +207,6 @@ services: ACCEPT_EULA: Y MSSQL_PID: Standard SA_PASSWORD: MwantsaSecurePassword1 - when: - event: - - pull_request - name: ldap pull: default @@ -398,8 +468,7 @@ trigger: - push depends_on: - - testing-amd64 - - testing-arm64 + - coverage - translations steps: @@ -604,14 +673,13 @@ workspace: base: /go path: src/code.gitea.io/gitea -depends_on: - - testing-amd64 - - testing-arm64 - trigger: ref: - - refs/heads/master - - "refs/tags/**" + - refs/heads/master + - "refs/tags/**" + event: + exclude: + - pull_request steps: - name: fetch-tags @@ -633,10 +701,6 @@ steps: from_secret: docker_password username: from_secret: docker_username - when: - event: - exclude: - - pull_request --- kind: pipeline @@ -654,8 +718,8 @@ depends_on: - compliance trigger: - ref: - - "refs/pull/**" + event: + - pull_request steps: - name: dryrun @@ -667,9 +731,6 @@ steps: tags: linux-arm64 build_args: - GOPROXY=off - when: - event: - - pull_request --- kind: pipeline @@ -689,8 +750,11 @@ depends_on: trigger: ref: - - refs/heads/master - - "refs/tags/**" + - refs/heads/master + - "refs/tags/**" + event: + exclude: + - pull_request steps: - name: fetch-tags @@ -712,10 +776,6 @@ steps: from_secret: docker_password username: from_secret: docker_username - when: - event: - exclude: - - pull_request --- kind: pipeline @@ -725,6 +785,18 @@ platform: os: linux arch: amd64 +trigger: + ref: + - refs/heads/master + - "refs/tags/**" + event: + exclude: + - pull_request + +depends_on: + - docker-linux-amd64-release + - docker-linux-arm64-release + steps: - name: manifest pull: always @@ -738,15 +810,6 @@ steps: username: from_secret: docker_username -trigger: - ref: - - refs/heads/master - - "refs/tags/**" - -depends_on: - - docker-linux-amd64-release - - docker-linux-arm64-release - --- kind: pipeline name: notifications From 393bb9a4c718aa01fff282282f63eb1146f0178a Mon Sep 17 00:00:00 2001 From: Lauris BH Date: Wed, 20 May 2020 17:34:19 +0300 Subject: [PATCH 3/3] Missing coverage steps --- .drone.yml | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/.drone.yml b/.drone.yml index f546b0558be7d..ed78708f09ed3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -83,7 +83,7 @@ steps: --- kind: pipeline -name: coverage +name: testing-master platform: os: linux @@ -160,6 +160,30 @@ steps: depends_on: - build + - name: generate-coverage + pull: always + image: golang:1.14 + commands: + - make coverage + environment: + GOPROXY: off + TAGS: bindata + depends_on: + - unit-test + - test-mysql + + - name: coverage + pull: always + image: robertstettner/drone-codecov + settings: + files: + - coverage.all + environment: + CODECOV_TOKEN: + from_secret: codecov_token + depends_on: + - generate-coverage + --- kind: pipeline name: testing-amd64 @@ -269,9 +293,6 @@ steps: USE_REPO_TEST_DIR: 1 depends_on: - build - when: - event: - - pull_request - name: test-mssql pull: always @@ -287,9 +308,6 @@ steps: USE_REPO_TEST_DIR: 1 depends_on: - build - when: - event: - - pull_request - name: generate-coverage pull: always @@ -468,7 +486,7 @@ trigger: - push depends_on: - - coverage + - testing-master - translations steps: