mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	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:
		
							
								
								
									
										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
 | 
					kind: pipeline
 | 
				
			||||||
type: docker
 | 
					type: docker
 | 
				
			||||||
@@ -767,13 +21,6 @@ trigger:
 | 
				
			|||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "docs/**"
 | 
					      - "docs/**"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  - name: deps
 | 
					  - name: deps
 | 
				
			||||||
    temp: {}
 | 
					    temp: {}
 | 
				
			||||||
@@ -902,13 +149,6 @@ trigger:
 | 
				
			|||||||
  event:
 | 
					  event:
 | 
				
			||||||
    - tag
 | 
					    - tag
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
volumes:
 | 
					volumes:
 | 
				
			||||||
  - name: deps
 | 
					  - name: deps
 | 
				
			||||||
    temp: {}
 | 
					    temp: {}
 | 
				
			||||||
@@ -1013,22 +253,12 @@ platform:
 | 
				
			|||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
  arch: amd64
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
    include:
 | 
					    include:
 | 
				
			||||||
      - "refs/tags/**"
 | 
					      - "refs/tags/**"
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "refs/tags/**-rc*"
 | 
					      - "refs/tags/**-rc*"
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
  paths:
 | 
					  paths:
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "docs/**"
 | 
					      - "docs/**"
 | 
				
			||||||
@@ -1093,19 +323,9 @@ platform:
 | 
				
			|||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
  arch: amd64
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
    - "refs/tags/**-rc*"
 | 
					    - "refs/tags/**-rc*"
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
  paths:
 | 
					  paths:
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "docs/**"
 | 
					      - "docs/**"
 | 
				
			||||||
@@ -1168,19 +388,9 @@ platform:
 | 
				
			|||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
  arch: amd64
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
  - refs/heads/main
 | 
					  - refs/heads/main
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
  - name: fetch-tags
 | 
					  - name: fetch-tags
 | 
				
			||||||
@@ -1241,19 +451,9 @@ platform:
 | 
				
			|||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
  arch: amd64
 | 
					  arch: amd64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
  - "refs/heads/release/v*"
 | 
					  - "refs/heads/release/v*"
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
  - name: fetch-tags
 | 
					  - name: fetch-tags
 | 
				
			||||||
@@ -1315,22 +515,12 @@ platform:
 | 
				
			|||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
  arch: arm64
 | 
					  arch: arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
    include:
 | 
					    include:
 | 
				
			||||||
      - "refs/tags/**"
 | 
					      - "refs/tags/**"
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "refs/tags/**-rc*"
 | 
					      - "refs/tags/**-rc*"
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
  paths:
 | 
					  paths:
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "docs/**"
 | 
					      - "docs/**"
 | 
				
			||||||
@@ -1395,19 +585,9 @@ platform:
 | 
				
			|||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
  arch: arm64
 | 
					  arch: arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
    - "refs/tags/**-rc*"
 | 
					    - "refs/tags/**-rc*"
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
  paths:
 | 
					  paths:
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "docs/**"
 | 
					      - "docs/**"
 | 
				
			||||||
@@ -1470,19 +650,9 @@ platform:
 | 
				
			|||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
  arch: arm64
 | 
					  arch: arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
  - refs/heads/main
 | 
					  - refs/heads/main
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
  paths:
 | 
					  paths:
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "docs/**"
 | 
					      - "docs/**"
 | 
				
			||||||
@@ -1546,19 +716,9 @@ platform:
 | 
				
			|||||||
  os: linux
 | 
					  os: linux
 | 
				
			||||||
  arch: arm64
 | 
					  arch: arm64
 | 
				
			||||||
 | 
					
 | 
				
			||||||
depends_on:
 | 
					 | 
				
			||||||
  - testing-mysql
 | 
					 | 
				
			||||||
  - testing-mysql8
 | 
					 | 
				
			||||||
  - testing-mssql
 | 
					 | 
				
			||||||
  - testing-pgsql
 | 
					 | 
				
			||||||
  - testing-sqlite
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
  - "refs/heads/release/v*"
 | 
					  - "refs/heads/release/v*"
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
steps:
 | 
					steps:
 | 
				
			||||||
  - name: fetch-tags
 | 
					  - name: fetch-tags
 | 
				
			||||||
@@ -1647,9 +807,6 @@ steps:
 | 
				
			|||||||
trigger:
 | 
					trigger:
 | 
				
			||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
  - "refs/tags/**"
 | 
					  - "refs/tags/**"
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
  paths:
 | 
					  paths:
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "docs/**"
 | 
					      - "docs/**"
 | 
				
			||||||
@@ -1697,9 +854,6 @@ trigger:
 | 
				
			|||||||
  ref:
 | 
					  ref:
 | 
				
			||||||
  - refs/heads/main
 | 
					  - refs/heads/main
 | 
				
			||||||
  - "refs/heads/release/v*"
 | 
					  - "refs/heads/release/v*"
 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    exclude:
 | 
					 | 
				
			||||||
    - cron
 | 
					 | 
				
			||||||
  paths:
 | 
					  paths:
 | 
				
			||||||
    exclude:
 | 
					    exclude:
 | 
				
			||||||
      - "docs/**"
 | 
					      - "docs/**"
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.github/workflows/cron-licenses.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/cron-licenses.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,10 +1,10 @@
 | 
				
			|||||||
 | 
					name: "Cron: Update licenses and gitignores"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  schedule:
 | 
					  schedule:
 | 
				
			||||||
    # weekly on Monday at 0:07 UTC
 | 
					    # weekly on Monday at 0:07 UTC
 | 
				
			||||||
    - cron: "7 0 * * 1"
 | 
					    - cron: "7 0 * * 1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
name: Update licenses and gitignores
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  cron:
 | 
					  cron:
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										4
									
								
								.github/workflows/cron-translations.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/cron-translations.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,9 +1,9 @@
 | 
				
			|||||||
 | 
					name: "Cron: Pull translations from Crowdin"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  schedule:
 | 
					  schedule:
 | 
				
			||||||
    - cron: "7 0 * * *" # every day at 0:07 UTC
 | 
					    - cron: "7 0 * * *" # every day at 0:07 UTC
 | 
				
			||||||
 | 
					
 | 
				
			||||||
name: Pull translations from Crowdin
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  crowdin_pull:
 | 
					  crowdin_pull:
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										133
									
								
								.github/workflows/pull-compliance.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								.github/workflows/pull-compliance.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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
 | 
				
			||||||
							
								
								
									
										2
									
								
								.github/workflows/pull-compliance_docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/pull-compliance_docs.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
name: Compliance testing for documentation
 | 
					name: "Pull: Compliance testing for documentation"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  pull_request:
 | 
					  pull_request:
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										260
									
								
								.github/workflows/pull-db_test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										260
									
								
								.github/workflows/pull-db_test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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
 | 
				
			||||||
							
								
								
									
										2
									
								
								.github/workflows/pull-docker_dryrun.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/pull-docker_dryrun.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
name: Docker build dry run
 | 
					name: "Pull: Docker Dry Run"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on: [pull_request]
 | 
					on: [pull_request]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								.github/workflows/pull-e2e.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/pull-e2e.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -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
 | 
				
			||||||
							
								
								
									
										2
									
								
								.github/workflows/push-publish_docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/push-publish_docs.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,4 +1,4 @@
 | 
				
			|||||||
name: Publish documentation
 | 
					name: "Docs: Publish"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  push:
 | 
					  push:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user