Use Actions for DB & E2E tests (#24494)
following https://github.com/go-gitea/gitea/pull/24314 and https://github.com/go-gitea/gitea/pull/24434, this PR moves drone cron pipelines to (GitHub) Actions. As these are mostly compatible with Gitea Actions, when we start to dogfood, these will already be migrated. --------- Co-authored-by: silverwind <me@silverwind.io>
This commit is contained in:
		
							parent
							
								
									ad8631c069
								
							
						
					
					
						commit
						f7f0782132
					
				
							
								
								
									
										846
									
								
								.drone.yml
								
								
								
								
							
							
						
						
									
										846
									
								
								.drone.yml
								
								
								
								
							|  | @ -1,749 +1,3 @@ | |||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: compliance | ||||
| 
 | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| trigger: | ||||
|   event: | ||||
|     - pull_request | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
|       - "*.md" | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
| 
 | ||||
| steps: | ||||
|   - name: deps-frontend | ||||
|     image: node:18 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-frontend | ||||
| 
 | ||||
|   - name: deps-backend | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-backend | ||||
|       - make deps-tools | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: lint-frontend | ||||
|     image: node:18 | ||||
|     commands: | ||||
|       - make lint-frontend | ||||
|     depends_on: [deps-frontend] | ||||
| 
 | ||||
|   - name: lint-backend | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make lint-backend | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|       GOSUMDB: sum.golang.org | ||||
|       TAGS: bindata sqlite sqlite_unlock_notify | ||||
|     depends_on: [deps-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: lint-backend-windows | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     commands: | ||||
|       - make lint-go-windows lint-go-vet | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|       GOSUMDB: sum.golang.org | ||||
|       TAGS: bindata sqlite sqlite_unlock_notify | ||||
|       GOOS: windows | ||||
|       GOARCH: amd64 | ||||
|     depends_on: [deps-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: lint-backend-gogit | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     commands: | ||||
|       - make lint-backend | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|       GOSUMDB: sum.golang.org | ||||
|       TAGS: bindata gogit sqlite sqlite_unlock_notify | ||||
|     depends_on: [deps-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: checks-frontend | ||||
|     image: node:18 | ||||
|     commands: | ||||
|       - make checks-frontend | ||||
|     depends_on: [deps-frontend] | ||||
| 
 | ||||
|   - name: checks-backend | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     commands: | ||||
|       - make --always-make checks-backend # ensure the 'go-licenses' make target runs | ||||
|     depends_on: [deps-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: test-frontend | ||||
|     image: node:18 | ||||
|     commands: | ||||
|       - make test-frontend | ||||
|     depends_on: [lint-frontend] | ||||
| 
 | ||||
|   - name: build-frontend | ||||
|     image: node:18 | ||||
|     commands: | ||||
|       - make frontend | ||||
|     depends_on: [deps-frontend] | ||||
| 
 | ||||
|   - name: build-backend-no-gcc | ||||
|     image: gitea/test_env:linux-1.19-amd64 # this step is kept as the lowest version of golang that we support | ||||
|     pull: always | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|     commands: | ||||
|       - go build -o gitea_no_gcc # test if build succeeds without the sqlite tag | ||||
|     depends_on: [deps-backend, checks-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: build-backend-arm64 | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       GOOS: linux | ||||
|       GOARCH: arm64 | ||||
|       TAGS: bindata gogit | ||||
|     commands: | ||||
|       - make backend # test cross compile | ||||
|       - rm ./gitea # clean | ||||
|     depends_on: [deps-backend, checks-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: build-backend-windows | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       GOOS: windows | ||||
|       GOARCH: amd64 | ||||
|       TAGS: bindata gogit | ||||
|     commands: | ||||
|       - go build -o gitea_windows | ||||
|     depends_on: [deps-backend, checks-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: build-backend-386 | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       GOOS: linux | ||||
|       GOARCH: 386 | ||||
|     commands: | ||||
|       - go build -o gitea_linux_386 # test if compatible with 32 bit | ||||
|     depends_on: [deps-backend, checks-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: testing-pgsql | ||||
| 
 | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - compliance | ||||
| 
 | ||||
| trigger: | ||||
|   event: | ||||
|     - pull_request | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
| 
 | ||||
| services: | ||||
|   - name: pgsql | ||||
|     pull: default | ||||
|     image: postgres:15 | ||||
|     environment: | ||||
|       POSTGRES_DB: test | ||||
|       POSTGRES_PASSWORD: postgres | ||||
| 
 | ||||
|   - name: ldap | ||||
|     image: gitea/test-openldap:latest | ||||
|     pull: always | ||||
| 
 | ||||
|   - name: minio | ||||
|     image: minio/minio:RELEASE.2021-03-12T00-00-47Z | ||||
|     pull: always | ||||
|     commands: | ||||
|       - minio server /data | ||||
|     environment: | ||||
|       MINIO_ACCESS_KEY: 123456 | ||||
|       MINIO_SECRET_KEY: 12345678 | ||||
| 
 | ||||
| steps: | ||||
|   - name: fetch-tags | ||||
|     image: docker:git | ||||
|     pull: always | ||||
|     commands: | ||||
|       - git fetch --tags --force | ||||
|     when: | ||||
|       event: | ||||
|         exclude: | ||||
|           - pull_request | ||||
| 
 | ||||
|   - name: deps-backend | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-backend | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: prepare-test-env | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     pull: always | ||||
|     commands: | ||||
|       - ./build/test-env-prepare.sh | ||||
| 
 | ||||
|   - name: build | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - ./build/test-env-check.sh | ||||
|       - make backend | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|       GOSUMDB: sum.golang.org | ||||
|       TAGS: bindata | ||||
|     depends_on: [deps-backend, prepare-test-env] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: test-pgsql | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - timeout -s ABRT 50m make test-pgsql-migration test-pgsql | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       TAGS: bindata gogit | ||||
|       RACE_ENABLED: true | ||||
|       TEST_TAGS: gogit | ||||
|       TEST_LDAP: 1 | ||||
|       USE_REPO_TEST_DIR: 1 | ||||
|     depends_on: [build] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: testing-mysql | ||||
| 
 | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - compliance | ||||
| 
 | ||||
| trigger: | ||||
|   event: | ||||
|     - pull_request | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
| 
 | ||||
| services: | ||||
|   - name: mysql | ||||
|     image: mysql:5.7 | ||||
|     pull: always | ||||
|     environment: | ||||
|       MYSQL_ALLOW_EMPTY_PASSWORD: yes | ||||
|       MYSQL_DATABASE: test | ||||
| 
 | ||||
|   - name: elasticsearch | ||||
|     image: elasticsearch:7.5.0 | ||||
|     pull: always | ||||
|     environment: | ||||
|       discovery.type: single-node | ||||
| 
 | ||||
|   - name: smtpimap | ||||
|     image: tabascoterrier/docker-imap-devel:latest | ||||
|     pull: always | ||||
| 
 | ||||
| steps: | ||||
|   - name: fetch-tags | ||||
|     image: docker:git | ||||
|     pull: always | ||||
|     commands: | ||||
|       - git fetch --tags --force | ||||
|     when: | ||||
|       event: | ||||
|         exclude: | ||||
|           - pull_request | ||||
| 
 | ||||
|   - name: deps-backend | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-backend | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: prepare-test-env | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     pull: always | ||||
|     commands: | ||||
|       - ./build/test-env-prepare.sh | ||||
| 
 | ||||
|   - name: build | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - ./build/test-env-check.sh | ||||
|       - make backend | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|       GOSUMDB: sum.golang.org | ||||
|       TAGS: bindata | ||||
|     depends_on: [deps-backend, prepare-test-env] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: unit-test | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - make unit-test-coverage test-check | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       TAGS: bindata | ||||
|       RACE_ENABLED: true | ||||
|       GITHUB_READ_TOKEN: | ||||
|         from_secret: github_read_token | ||||
|     depends_on: [deps-backend, prepare-test-env] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: unit-test-gogit | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - make unit-test-coverage test-check | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       TAGS: bindata gogit | ||||
|       RACE_ENABLED: true | ||||
|       GITHUB_READ_TOKEN: | ||||
|         from_secret: github_read_token | ||||
|     depends_on: [deps-backend, prepare-test-env] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: test-mysql | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - make test-mysql-migration integration-test-coverage | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       TAGS: bindata | ||||
|       RACE_ENABLED: true | ||||
|       USE_REPO_TEST_DIR: 1 | ||||
|       TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200" | ||||
|     depends_on: [build] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: generate-coverage | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     commands: | ||||
|       - make coverage | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       TAGS: bindata | ||||
|     depends_on: [unit-test, test-mysql] | ||||
|     when: | ||||
|       branch: | ||||
|         - main | ||||
|       event: | ||||
|         - push | ||||
|         - pull_request | ||||
| 
 | ||||
|   - name: coverage-codecov | ||||
|     image: woodpeckerci/plugin-codecov:next-alpine | ||||
|     pull: always | ||||
|     settings: | ||||
|       files: | ||||
|         - coverage.all | ||||
|       token: | ||||
|         from_secret: codecov_token | ||||
|     depends_on: [generate-coverage] | ||||
|     when: | ||||
|       branch: | ||||
|         - main | ||||
|       event: | ||||
|         - push | ||||
|         - pull_request | ||||
| 
 | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: testing-mysql8 | ||||
| 
 | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - compliance | ||||
| 
 | ||||
| trigger: | ||||
|   event: | ||||
|     - pull_request | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
| 
 | ||||
| services: | ||||
|   - name: mysql8 | ||||
|     image: mysql:8 | ||||
|     pull: always | ||||
|     environment: | ||||
|       MYSQL_ALLOW_EMPTY_PASSWORD: yes | ||||
|       MYSQL_DATABASE: testgitea | ||||
| 
 | ||||
| steps: | ||||
|   - name: fetch-tags | ||||
|     image: docker:git | ||||
|     pull: always | ||||
|     commands: | ||||
|       - git fetch --tags --force | ||||
|     when: | ||||
|       event: | ||||
|         exclude: | ||||
|           - pull_request | ||||
| 
 | ||||
|   - name: deps-backend | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-backend | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: prepare-test-env | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     pull: always | ||||
|     commands: | ||||
|       - ./build/test-env-prepare.sh | ||||
| 
 | ||||
|   - name: build | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - ./build/test-env-check.sh | ||||
|       - make backend | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|       GOSUMDB: sum.golang.org | ||||
|       TAGS: bindata | ||||
|     depends_on: [deps-backend, prepare-test-env] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: test-mysql8 | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - timeout -s ABRT 50m make test-mysql8-migration test-mysql8 | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       TAGS: bindata | ||||
|       USE_REPO_TEST_DIR: 1 | ||||
|     depends_on: [build] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: testing-mssql | ||||
| 
 | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - compliance | ||||
| 
 | ||||
| trigger: | ||||
|   event: | ||||
|     - pull_request | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
| 
 | ||||
| services: | ||||
|   - name: mssql | ||||
|     image: mcr.microsoft.com/mssql/server:latest | ||||
|     pull: always | ||||
|     environment: | ||||
|       ACCEPT_EULA: Y | ||||
|       MSSQL_PID: Standard | ||||
|       SA_PASSWORD: MwantsaSecurePassword1 | ||||
| 
 | ||||
| steps: | ||||
|   - name: fetch-tags | ||||
|     image: docker:git | ||||
|     pull: always | ||||
|     commands: | ||||
|       - git fetch --tags --force | ||||
|     when: | ||||
|       event: | ||||
|         exclude: | ||||
|           - pull_request | ||||
| 
 | ||||
|   - name: deps-backend | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-backend | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: prepare-test-env | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     pull: always | ||||
|     commands: | ||||
|       - ./build/test-env-prepare.sh | ||||
| 
 | ||||
|   - name: build | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - ./build/test-env-check.sh | ||||
|       - make backend | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|       GOSUMDB: sum.golang.org | ||||
|       TAGS: bindata | ||||
|     depends_on: [deps-backend, prepare-test-env] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: test-mssql | ||||
|     image: gitea/test_env:linux-1.20-amd64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - make test-mssql-migration test-mssql | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       TAGS: bindata | ||||
|       USE_REPO_TEST_DIR: 1 | ||||
|     depends_on: [build] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
| --- | ||||
| kind: pipeline | ||||
| name: testing-sqlite | ||||
| 
 | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: arm64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - compliance | ||||
| 
 | ||||
| trigger: | ||||
|   event: | ||||
|     - pull_request | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
| 
 | ||||
| steps: | ||||
|   - name: fetch-tags | ||||
|     image: docker:git | ||||
|     pull: always | ||||
|     commands: | ||||
|       - git fetch --tags --force | ||||
|     when: | ||||
|       event: | ||||
|         exclude: | ||||
|           - pull_request | ||||
| 
 | ||||
|   - name: deps-backend | ||||
|     image: gitea/test_env:linux-1.20-arm64 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-backend | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: prepare-test-env | ||||
|     image: gitea/test_env:linux-1.20-arm64  # https://gitea.com/gitea/test-env | ||||
|     pull: always | ||||
|     commands: | ||||
|       - ./build/test-env-prepare.sh | ||||
| 
 | ||||
|   - name: build | ||||
|     image: gitea/test_env:linux-1.20-arm64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - ./build/test-env-check.sh | ||||
|       - make backend | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|       GOSUMDB: sum.golang.org | ||||
|       TAGS: bindata gogit sqlite sqlite_unlock_notify | ||||
|     depends_on: [deps-backend, prepare-test-env] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   - name: test-sqlite | ||||
|     image: gitea/test_env:linux-1.20-arm64  # https://gitea.com/gitea/test-env | ||||
|     user: gitea | ||||
|     commands: | ||||
|       - timeout -s ABRT 50m make test-sqlite-migration test-sqlite | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       TAGS: bindata gogit sqlite sqlite_unlock_notify | ||||
|       RACE_ENABLED: true | ||||
|       TEST_TAGS: gogit sqlite sqlite_unlock_notify | ||||
|       USE_REPO_TEST_DIR: 1 | ||||
|     depends_on: [build] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
| name: testing-e2e | ||||
| 
 | ||||
| platform: | ||||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - compliance | ||||
| 
 | ||||
| trigger: | ||||
|   event: | ||||
|     - pull_request | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
| 
 | ||||
| steps: | ||||
|   - name: deps-frontend | ||||
|     image: node:18 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-frontend | ||||
| 
 | ||||
|   - name: build-frontend | ||||
|     image: node:18 | ||||
|     commands: | ||||
|       - make frontend | ||||
|     depends_on: [deps-frontend] | ||||
| 
 | ||||
|   - name: deps-backend | ||||
|     image: gitea/test_env:linux-1.20-amd64 | ||||
|     pull: always | ||||
|     commands: | ||||
|       - make deps-backend | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
|   # TODO: We should probably build all dependencies into a test image | ||||
|   - name: test-e2e | ||||
|     image: mcr.microsoft.com/playwright:v1.32.3-focal | ||||
|     commands: | ||||
|       - apt-get -qq update && apt-get -qqy install jq build-essential | ||||
|       - curl -fsSL "https://go.dev/dl/$(curl -s 'https://go.dev/dl/?mode=json' | jq -r '.[].version' | sort -Vr | head -1).linux-amd64.tar.gz" | tar -xz -C /usr/local | ||||
|       - groupadd --gid 1001 gitea && useradd -m --gid 1001 --uid 1001 gitea | ||||
|       - ./build/test-env-prepare.sh | ||||
|       - su gitea bash -c "export PATH=$PATH:/usr/local/go/bin && timeout -s ABRT 40m make test-e2e-sqlite" | ||||
|     environment: | ||||
|       GOPROXY: https://goproxy.io | ||||
|       GOSUMDB: sum.golang.org | ||||
|       USE_REPO_TEST_DIR: 1 | ||||
|       DEBIAN_FRONTEND: noninteractive | ||||
|     depends_on: [build-frontend, deps-backend] | ||||
|     volumes: | ||||
|       - name: deps | ||||
|         path: /go | ||||
| 
 | ||||
| --- | ||||
| kind: pipeline | ||||
| type: docker | ||||
|  | @ -767,13 +21,6 @@ trigger: | |||
|     exclude: | ||||
|       - "docs/**" | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
|  | @ -902,13 +149,6 @@ trigger: | |||
|   event: | ||||
|     - tag | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| volumes: | ||||
|   - name: deps | ||||
|     temp: {} | ||||
|  | @ -1013,22 +253,12 @@ platform: | |||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| trigger: | ||||
|   ref: | ||||
|     include: | ||||
|       - "refs/tags/**" | ||||
|     exclude: | ||||
|       - "refs/tags/**-rc*" | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
|  | @ -1093,19 +323,9 @@ platform: | |||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| trigger: | ||||
|   ref: | ||||
|     - "refs/tags/**-rc*" | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
|  | @ -1168,19 +388,9 @@ platform: | |||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| trigger: | ||||
|   ref: | ||||
|   - refs/heads/main | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
| 
 | ||||
| steps: | ||||
|   - name: fetch-tags | ||||
|  | @ -1241,19 +451,9 @@ platform: | |||
|   os: linux | ||||
|   arch: amd64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| trigger: | ||||
|   ref: | ||||
|   - "refs/heads/release/v*" | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
| 
 | ||||
| steps: | ||||
|   - name: fetch-tags | ||||
|  | @ -1315,22 +515,12 @@ platform: | |||
|   os: linux | ||||
|   arch: arm64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| trigger: | ||||
|   ref: | ||||
|     include: | ||||
|       - "refs/tags/**" | ||||
|     exclude: | ||||
|       - "refs/tags/**-rc*" | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
|  | @ -1395,19 +585,9 @@ platform: | |||
|   os: linux | ||||
|   arch: arm64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| trigger: | ||||
|   ref: | ||||
|     - "refs/tags/**-rc*" | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
|  | @ -1470,19 +650,9 @@ platform: | |||
|   os: linux | ||||
|   arch: arm64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| trigger: | ||||
|   ref: | ||||
|   - refs/heads/main | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
|  | @ -1546,19 +716,9 @@ platform: | |||
|   os: linux | ||||
|   arch: arm64 | ||||
| 
 | ||||
| depends_on: | ||||
|   - testing-mysql | ||||
|   - testing-mysql8 | ||||
|   - testing-mssql | ||||
|   - testing-pgsql | ||||
|   - testing-sqlite | ||||
| 
 | ||||
| trigger: | ||||
|   ref: | ||||
|   - "refs/heads/release/v*" | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
| 
 | ||||
| steps: | ||||
|   - name: fetch-tags | ||||
|  | @ -1647,9 +807,6 @@ steps: | |||
| trigger: | ||||
|   ref: | ||||
|   - "refs/tags/**" | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
|  | @ -1697,9 +854,6 @@ trigger: | |||
|   ref: | ||||
|   - refs/heads/main | ||||
|   - "refs/heads/release/v*" | ||||
|   event: | ||||
|     exclude: | ||||
|     - cron | ||||
|   paths: | ||||
|     exclude: | ||||
|       - "docs/**" | ||||
|  |  | |||
|  | @ -1,10 +1,10 @@ | |||
| name: "Cron: Update licenses and gitignores" | ||||
| 
 | ||||
| on: | ||||
|   schedule: | ||||
|     # weekly on Monday at 0:07 UTC | ||||
|     - cron: "7 0 * * 1" | ||||
| 
 | ||||
| name: Update licenses and gitignores | ||||
| 
 | ||||
| jobs: | ||||
|   cron: | ||||
|     runs-on: ubuntu-latest | ||||
|  |  | |||
|  | @ -1,9 +1,9 @@ | |||
| name: "Cron: Pull translations from Crowdin" | ||||
| 
 | ||||
| on: | ||||
|   schedule: | ||||
|     - cron: "7 0 * * *" # every day at 0:07 UTC | ||||
| 
 | ||||
| name: Pull translations from Crowdin | ||||
| 
 | ||||
| jobs: | ||||
|   crowdin_pull: | ||||
|     runs-on: ubuntu-latest | ||||
|  |  | |||
|  | @ -0,0 +1,133 @@ | |||
| name: "Pull: Compliance Tests" | ||||
| 
 | ||||
| on: [pull_request] | ||||
| 
 | ||||
| jobs: | ||||
|   lint_basic: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20' | ||||
|       - name: deps-backend | ||||
|         run: make deps-backend deps-tools | ||||
|       - name: lint backend | ||||
|         run: make lint-backend | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata sqlite sqlite_unlock_notify | ||||
|   lint_windows: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20' | ||||
|       - name: deps-backend | ||||
|         run: make deps-backend deps-tools | ||||
|       - name: lint-backend-windows | ||||
|         run: make lint-go-windows lint-go-vet | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata sqlite sqlite_unlock_notify | ||||
|           GOOS: windows | ||||
|           GOARCH: amd64 | ||||
|   lint_gogit: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20' | ||||
|       - name: deps-backend | ||||
|         run: make deps-backend deps-tools | ||||
|       - name: lint-backend-gogit | ||||
|         run: make lint-backend | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io # proxy.golang.org is blocked in China, this proxy is not | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata gogit sqlite sqlite_unlock_notify | ||||
|       - name: checks backend | ||||
|         run: make --always-make checks-backend # ensure the 'go-licenses' make target runs | ||||
|   check_backend: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20' | ||||
|       - name: deps-backend | ||||
|         run: make deps-backend deps-tools | ||||
|       - name: checks backend | ||||
|         run: make --always-make checks-backend # ensure the 'go-licenses' make target runs | ||||
|   frontend: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup node | ||||
|         uses: actions/setup-node@v3 | ||||
|         with: | ||||
|           node-version: 18 | ||||
|       - name: deps-frontend | ||||
|         run: make deps-frontend | ||||
|       - name: lint frontend | ||||
|         run: make lint-frontend | ||||
|       - name: checks frontend | ||||
|         run: make checks-frontend | ||||
|       - name: test frontend | ||||
|         run: make test-frontend | ||||
|   backend: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20' | ||||
|       - name: setup node | ||||
|         uses: actions/setup-node@v3 | ||||
|         with: | ||||
|           node-version: 18 | ||||
|       - name: deps-backend | ||||
|         run: make deps-backend deps-tools | ||||
|       - name: deps-frontend | ||||
|         run: make deps-frontend | ||||
|       - name: build frontend | ||||
|         run: make frontend | ||||
|       - name: build-backend-no-gcc | ||||
|         run: go build -o gitea_no_gcc # test if build succeeds without the sqlite tag | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|       - name: build-backend-arm64 | ||||
|         run: make backend # test cross compile | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOOS: linux | ||||
|           GOARCH: arm64 | ||||
|           TAGS: bindata gogit | ||||
|       - name: build-backend-windows | ||||
|         run: go build -o gitea_windows | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOOS: windows | ||||
|           GOARCH: amd64 | ||||
|           TAGS: bindata gogit | ||||
|       - name: build-backend-386 | ||||
|         run: go build -o gitea_linux_386 # test if compatible with 32 bit | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOOS: linux | ||||
|           GOARCH: 386 | ||||
|  | @ -1,4 +1,4 @@ | |||
| name: Compliance testing for documentation | ||||
| name: "Pull: Compliance testing for documentation" | ||||
| 
 | ||||
| on: | ||||
|   pull_request: | ||||
|  |  | |||
|  | @ -0,0 +1,260 @@ | |||
| name: "Pull: Database Tests" | ||||
| 
 | ||||
| on: [pull_request] | ||||
| 
 | ||||
| jobs: | ||||
|   # PostgreSQL Tests | ||||
|   db_pgsql_test: | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       pgsql: | ||||
|         image: postgres:15 | ||||
|         env: | ||||
|           POSTGRES_DB: test | ||||
|           POSTGRES_PASSWORD: postgres | ||||
|         ports: | ||||
|           - "5432:5432" | ||||
|       ldap: | ||||
|         image: gitea/test-openldap:latest | ||||
|         ports: | ||||
|           - "389:389" | ||||
|           - "636:636" | ||||
|       minio: | ||||
|         # as github actions doesn't support "entrypoint", we need to use a non-official image | ||||
|         # that has a custom entrypoint set to "minio server /data" | ||||
|         image: bitnami/minio:2021.3.17 | ||||
|         env: | ||||
|           MINIO_ACCESS_KEY: 123456 | ||||
|           MINIO_SECRET_KEY: 12345678 | ||||
|         ports: | ||||
|           - "9000:9000" | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20.0' | ||||
|       - name: Add hosts to /etc/hosts | ||||
|         run: echo "127.0.0.1 pgsql ldap minio" | sudo tee -a /etc/hosts | ||||
|       - name: install dependencies | ||||
|         run: make deps-backend | ||||
|       - name: build | ||||
|         run: make backend | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata | ||||
|       - name: run tests | ||||
|         run: timeout -s ABRT 50m make test-pgsql-migration test-pgsql | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           TAGS: bindata gogit | ||||
|           RACE_ENABLED: true | ||||
|           TEST_TAGS: gogit | ||||
|           TEST_LDAP: 1 | ||||
|           USE_REPO_TEST_DIR: 1 | ||||
| 
 | ||||
|   # SQLite Tests | ||||
|   db_sqlite_test: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20.0' | ||||
|       - name: install dependencies | ||||
|         run: make deps-backend | ||||
|       - name: build | ||||
|         run: make backend | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata gogit sqlite sqlite_unlock_notify | ||||
|       - name: run tests | ||||
|         run: timeout -s ABRT 50m make test-sqlite-migration test-sqlite | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           TAGS: bindata gogit sqlite sqlite_unlock_notify | ||||
|           RACE_ENABLED: true | ||||
|           TEST_TAGS: gogit sqlite sqlite_unlock_notify | ||||
|           USE_REPO_TEST_DIR: 1 | ||||
| 
 | ||||
|   # Unit Tests | ||||
|   db_unit_tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       mysql: | ||||
|         image: mysql:5.7 | ||||
|         env: | ||||
|           MYSQL_ALLOW_EMPTY_PASSWORD: yes | ||||
|           MYSQL_DATABASE: test | ||||
|         ports: | ||||
|           - "3306:3306" | ||||
|       elasticsearch: | ||||
|         image: elasticsearch:7.5.0 | ||||
|         env: | ||||
|           discovery.type: single-node | ||||
|         ports: | ||||
|           - "9200:9200" | ||||
|       smtpimap: | ||||
|         image: tabascoterrier/docker-imap-devel:latest | ||||
|         ports: | ||||
|           - "25:25" | ||||
|           - "143:143" | ||||
|           - "587:587" | ||||
|           - "993:993" | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20.0' | ||||
|       - name: Add hosts to /etc/hosts | ||||
|         run: echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts | ||||
|       - name: install dependencies | ||||
|         run: make deps-backend | ||||
|       - name: build | ||||
|         run: make backend | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata | ||||
|       - name: unit tests | ||||
|         run: make unit-test-coverage test-check | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           TAGS: bindata | ||||
|           RACE_ENABLED: true | ||||
|           GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }} | ||||
|       - name: unit tests (gogit) | ||||
|         run: make unit-test-coverage test-check | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           TAGS: bindata gogit | ||||
|           RACE_ENABLED: true | ||||
|           GITHUB_READ_TOKEN: ${{ secrets.GITHUB_READ_TOKEN }} | ||||
| 
 | ||||
|   # MySQL Tests | ||||
|   db_mysql_test: | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       mysql: | ||||
|         image: mysql:5.7 | ||||
|         env: | ||||
|           MYSQL_ALLOW_EMPTY_PASSWORD: yes | ||||
|           MYSQL_DATABASE: test | ||||
|         ports: | ||||
|           - "3306:3306" | ||||
|       elasticsearch: | ||||
|         image: elasticsearch:7.5.0 | ||||
|         env: | ||||
|           discovery.type: single-node | ||||
|         ports: | ||||
|           - "9200:9200" | ||||
|       smtpimap: | ||||
|         image: tabascoterrier/docker-imap-devel:latest | ||||
|         ports: | ||||
|           - "25:25" | ||||
|           - "143:143" | ||||
|           - "587:587" | ||||
|           - "993:993" | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20.0' | ||||
|       - name: Add hosts to /etc/hosts | ||||
|         run: echo "127.0.0.1 mysql elasticsearch smtpimap" | sudo tee -a /etc/hosts | ||||
|       - name: install dependencies | ||||
|         run: make deps-backend | ||||
|       - name: build | ||||
|         run: make backend | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata | ||||
|       - name: run tests | ||||
|         run: make test-mysql-migration integration-test-coverage | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           TAGS: bindata | ||||
|           RACE_ENABLED: true | ||||
|           USE_REPO_TEST_DIR: 1 | ||||
|           TEST_INDEXER_CODE_ES_URL: "http://elastic:changeme@elasticsearch:9200" | ||||
| 
 | ||||
|   # MySQL8 Tests | ||||
|   db_mysql8_test: | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       mysql8: | ||||
|         image: mysql:8 | ||||
|         env: | ||||
|           MYSQL_ALLOW_EMPTY_PASSWORD: yes | ||||
|           MYSQL_DATABASE: testgitea | ||||
|         ports: | ||||
|           - "3306:3306" | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20.0' | ||||
|       - name: Add hosts to /etc/hosts | ||||
|         run: echo "127.0.0.1 mysql8" | sudo tee -a /etc/hosts | ||||
|       - name: install dependencies | ||||
|         run: make deps-backend | ||||
|       - name: build | ||||
|         run: make backend | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata | ||||
|       - name: run tests | ||||
|         run: timeout -s ABRT 50m make test-mysql8-migration test-mysql8 | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           TAGS: bindata | ||||
|           USE_REPO_TEST_DIR: 1 | ||||
| 
 | ||||
|   # MSSQL Tests | ||||
|   db_mssql_test: | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       mssql: | ||||
|         image: mcr.microsoft.com/mssql/server:latest | ||||
|         env: | ||||
|           ACCEPT_EULA: Y | ||||
|           MSSQL_PID: Standard | ||||
|           SA_PASSWORD: MwantsaSecurePassword1 | ||||
|         ports: | ||||
|           - "1433:1433" | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20.0' | ||||
|       - name: Add hosts to /etc/hosts | ||||
|         run: echo "127.0.0.1 mssql" | sudo tee -a /etc/hosts | ||||
|       - name: install dependencies | ||||
|         run: make deps-backend | ||||
|       - name: build | ||||
|         run: make backend | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOSUMDB: sum.golang.org | ||||
|           TAGS: bindata | ||||
|       - name: run tests | ||||
|         run: timeout -s ABRT 50m make test-mssql-migration test-mssql | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           TAGS: bindata | ||||
|           USE_REPO_TEST_DIR: 1 | ||||
|  | @ -1,4 +1,4 @@ | |||
| name: Docker build dry run | ||||
| name: "Pull: Docker Dry Run" | ||||
| 
 | ||||
| on: [pull_request] | ||||
| 
 | ||||
|  |  | |||
|  | @ -0,0 +1,28 @@ | |||
| name: "Pull: E2E Tests" | ||||
| 
 | ||||
| on: [pull_request] | ||||
| 
 | ||||
| jobs: | ||||
|   e2e_tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: checkout | ||||
|         uses: actions/checkout@v3 | ||||
|       - name: setup go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '>=1.20' | ||||
|       - name: setup node | ||||
|         uses: actions/setup-node@v3 | ||||
|         with: | ||||
|           node-version: 18 | ||||
|       - name: build | ||||
|         run: make deps-frontend frontend deps-backend | ||||
|       - name: Install playwright browsers | ||||
|         run: npx playwright install --with-deps | ||||
|       - name: run tests | ||||
|         run: timeout -s ABRT 40m make test-e2e-sqlite | ||||
|         env: | ||||
|           GOPROXY: https://goproxy.io | ||||
|           GOSUMDB: sum.golang.org | ||||
|           USE_REPO_TEST_DIR: 1 | ||||
|  | @ -1,4 +1,4 @@ | |||
| name: Publish documentation | ||||
| name: "Docs: Publish" | ||||
| 
 | ||||
| on: | ||||
|   push: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue