Use /tmp for test repositories (#11126)
* Add option to use /tmp for test repositories * Fix exit status * Add feedback about using tmp repos Co-authored-by: Guillermo Prandi <guillep2k@users.noreply.github.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		
							parent
							
								
									16f39ce426
								
							
						
					
					
						commit
						23163e98a3
					
				| @ -176,6 +176,7 @@ steps: | |||||||
|       GOPROXY: off |       GOPROXY: off | ||||||
|       TAGS: bindata |       TAGS: bindata | ||||||
|       TEST_LDAP: 1 |       TEST_LDAP: 1 | ||||||
|  |       USE_REPO_TEST_DIR: 1 | ||||||
|     depends_on: |     depends_on: | ||||||
|       - build |       - build | ||||||
| 
 | 
 | ||||||
| @ -190,6 +191,7 @@ steps: | |||||||
|       GOPROXY: off |       GOPROXY: off | ||||||
|       TAGS: bindata |       TAGS: bindata | ||||||
|       TEST_LDAP: 1 |       TEST_LDAP: 1 | ||||||
|  |       USE_REPO_TEST_DIR: 1 | ||||||
|     depends_on: |     depends_on: | ||||||
|       - build |       - build | ||||||
| 
 | 
 | ||||||
| @ -204,6 +206,7 @@ steps: | |||||||
|       GOPROXY: off |       GOPROXY: off | ||||||
|       TAGS: bindata |       TAGS: bindata | ||||||
|       TEST_LDAP: 1 |       TEST_LDAP: 1 | ||||||
|  |       USE_REPO_TEST_DIR: 1 | ||||||
|     depends_on: |     depends_on: | ||||||
|       - build |       - build | ||||||
| 
 | 
 | ||||||
| @ -302,6 +305,7 @@ steps: | |||||||
|     environment: |     environment: | ||||||
|       GOPROXY: off |       GOPROXY: off | ||||||
|       TAGS: bindata |       TAGS: bindata | ||||||
|  |       USE_REPO_TEST_DIR: 1 | ||||||
|     depends_on: |     depends_on: | ||||||
|       - build |       - build | ||||||
| 
 | 
 | ||||||
| @ -316,6 +320,7 @@ steps: | |||||||
|       GOPROXY: off |       GOPROXY: off | ||||||
|       TAGS: bindata |       TAGS: bindata | ||||||
|       TEST_LDAP: 1 |       TEST_LDAP: 1 | ||||||
|  |       USE_REPO_TEST_DIR: 1 | ||||||
|     depends_on: |     depends_on: | ||||||
|       - build |       - build | ||||||
| 
 | 
 | ||||||
|  | |||||||
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -68,6 +68,7 @@ coverage.all | |||||||
| /integrations/indexers-pgsql | /integrations/indexers-pgsql | ||||||
| /integrations/indexers-sqlite | /integrations/indexers-sqlite | ||||||
| /integrations/indexers-mssql | /integrations/indexers-mssql | ||||||
|  | /integrations/sqlite.ini | ||||||
| /integrations/mysql.ini | /integrations/mysql.ini | ||||||
| /integrations/mysql8.ini | /integrations/mysql8.ini | ||||||
| /integrations/pgsql.ini | /integrations/pgsql.ini | ||||||
|  | |||||||
							
								
								
									
										36
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								Makefile
									
									
									
									
									
								
							| @ -1,3 +1,20 @@ | |||||||
|  | 
 | ||||||
|  | ifeq ($(USE_REPO_TEST_DIR),1) | ||||||
|  | 
 | ||||||
|  | # This rule replaces the whole Makefile when we're trying to use /tmp repository temporary files
 | ||||||
|  | location = $(CURDIR)/$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) | ||||||
|  | self := $(location) | ||||||
|  | 
 | ||||||
|  | %: | ||||||
|  | 	@tmpdir=`mktemp --tmpdir -d` ; \
 | ||||||
|  | 	echo Using temporary directory $$tmpdir for test repositories ; \
 | ||||||
|  | 	USE_REPO_TEST_DIR= $(MAKE) -f $(self) --no-print-directory REPO_TEST_DIR=$$tmpdir/ $@ ; \
 | ||||||
|  | 	STATUS=$$? ; rm -r "$$tmpdir" ; exit $$STATUS | ||||||
|  | 
 | ||||||
|  | else | ||||||
|  | 
 | ||||||
|  | # This is the "normal" part of the Makefile
 | ||||||
|  | 
 | ||||||
| DIST := dist | DIST := dist | ||||||
| DIST_DIRS := $(DIST)/binaries $(DIST)/release | DIST_DIRS := $(DIST)/binaries $(DIST)/release | ||||||
| IMPORT := code.gitea.io/gitea | IMPORT := code.gitea.io/gitea | ||||||
| @ -321,16 +338,20 @@ test-vendor: vendor | |||||||
| 		exit 1; \
 | 		exit 1; \
 | ||||||
| 	fi; | 	fi; | ||||||
| 
 | 
 | ||||||
|  | generate-ini-sqlite: | ||||||
|  | 	sed -e 's|{{REPO_TEST_DIR}}|${REPO_TEST_DIR}|g' \
 | ||||||
|  | 			integrations/sqlite.ini.tmpl > integrations/sqlite.ini | ||||||
|  | 
 | ||||||
| .PHONY: test-sqlite | .PHONY: test-sqlite | ||||||
| test-sqlite: integrations.sqlite.test | test-sqlite: integrations.sqlite.test generate-ini-sqlite | ||||||
| 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test | 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test | ||||||
| 
 | 
 | ||||||
| .PHONY: test-sqlite\#%
 | .PHONY: test-sqlite\#%
 | ||||||
| test-sqlite\#%: integrations.sqlite.test | test-sqlite\#%: integrations.sqlite.test generate-ini-sqlite | ||||||
| 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test -test.run $(subst .,/,$*) | 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test -test.run $(subst .,/,$*) | ||||||
| 
 | 
 | ||||||
| .PHONY: test-sqlite-migration | .PHONY: test-sqlite-migration | ||||||
| test-sqlite-migration:  migrations.sqlite.test | test-sqlite-migration:  migrations.sqlite.test generate-ini-sqlite | ||||||
| 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./migrations.sqlite.test | 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./migrations.sqlite.test | ||||||
| 
 | 
 | ||||||
| generate-ini-mysql: | generate-ini-mysql: | ||||||
| @ -338,6 +359,7 @@ generate-ini-mysql: | |||||||
| 		-e 's|{{TEST_MYSQL_DBNAME}}|${TEST_MYSQL_DBNAME}|g' \
 | 		-e 's|{{TEST_MYSQL_DBNAME}}|${TEST_MYSQL_DBNAME}|g' \
 | ||||||
| 		-e 's|{{TEST_MYSQL_USERNAME}}|${TEST_MYSQL_USERNAME}|g' \
 | 		-e 's|{{TEST_MYSQL_USERNAME}}|${TEST_MYSQL_USERNAME}|g' \
 | ||||||
| 		-e 's|{{TEST_MYSQL_PASSWORD}}|${TEST_MYSQL_PASSWORD}|g' \
 | 		-e 's|{{TEST_MYSQL_PASSWORD}}|${TEST_MYSQL_PASSWORD}|g' \
 | ||||||
|  | 		-e 's|{{REPO_TEST_DIR}}|${REPO_TEST_DIR}|g' \
 | ||||||
| 			integrations/mysql.ini.tmpl > integrations/mysql.ini | 			integrations/mysql.ini.tmpl > integrations/mysql.ini | ||||||
| 
 | 
 | ||||||
| .PHONY: test-mysql | .PHONY: test-mysql | ||||||
| @ -357,6 +379,7 @@ generate-ini-mysql8: | |||||||
| 		-e 's|{{TEST_MYSQL8_DBNAME}}|${TEST_MYSQL8_DBNAME}|g' \
 | 		-e 's|{{TEST_MYSQL8_DBNAME}}|${TEST_MYSQL8_DBNAME}|g' \
 | ||||||
| 		-e 's|{{TEST_MYSQL8_USERNAME}}|${TEST_MYSQL8_USERNAME}|g' \
 | 		-e 's|{{TEST_MYSQL8_USERNAME}}|${TEST_MYSQL8_USERNAME}|g' \
 | ||||||
| 		-e 's|{{TEST_MYSQL8_PASSWORD}}|${TEST_MYSQL8_PASSWORD}|g' \
 | 		-e 's|{{TEST_MYSQL8_PASSWORD}}|${TEST_MYSQL8_PASSWORD}|g' \
 | ||||||
|  | 		-e 's|{{REPO_TEST_DIR}}|${REPO_TEST_DIR}|g' \
 | ||||||
| 			integrations/mysql8.ini.tmpl > integrations/mysql8.ini | 			integrations/mysql8.ini.tmpl > integrations/mysql8.ini | ||||||
| 
 | 
 | ||||||
| .PHONY: test-mysql8 | .PHONY: test-mysql8 | ||||||
| @ -377,6 +400,7 @@ generate-ini-pgsql: | |||||||
| 		-e 's|{{TEST_PGSQL_USERNAME}}|${TEST_PGSQL_USERNAME}|g' \
 | 		-e 's|{{TEST_PGSQL_USERNAME}}|${TEST_PGSQL_USERNAME}|g' \
 | ||||||
| 		-e 's|{{TEST_PGSQL_PASSWORD}}|${TEST_PGSQL_PASSWORD}|g' \
 | 		-e 's|{{TEST_PGSQL_PASSWORD}}|${TEST_PGSQL_PASSWORD}|g' \
 | ||||||
| 		-e 's|{{TEST_PGSQL_SCHEMA}}|${TEST_PGSQL_SCHEMA}|g' \
 | 		-e 's|{{TEST_PGSQL_SCHEMA}}|${TEST_PGSQL_SCHEMA}|g' \
 | ||||||
|  | 		-e 's|{{REPO_TEST_DIR}}|${REPO_TEST_DIR}|g' \
 | ||||||
| 			integrations/pgsql.ini.tmpl > integrations/pgsql.ini | 			integrations/pgsql.ini.tmpl > integrations/pgsql.ini | ||||||
| 
 | 
 | ||||||
| .PHONY: test-pgsql | .PHONY: test-pgsql | ||||||
| @ -396,6 +420,7 @@ generate-ini-mssql: | |||||||
| 		-e 's|{{TEST_MSSQL_DBNAME}}|${TEST_MSSQL_DBNAME}|g' \
 | 		-e 's|{{TEST_MSSQL_DBNAME}}|${TEST_MSSQL_DBNAME}|g' \
 | ||||||
| 		-e 's|{{TEST_MSSQL_USERNAME}}|${TEST_MSSQL_USERNAME}|g' \
 | 		-e 's|{{TEST_MSSQL_USERNAME}}|${TEST_MSSQL_USERNAME}|g' \
 | ||||||
| 		-e 's|{{TEST_MSSQL_PASSWORD}}|${TEST_MSSQL_PASSWORD}|g' \
 | 		-e 's|{{TEST_MSSQL_PASSWORD}}|${TEST_MSSQL_PASSWORD}|g' \
 | ||||||
|  | 		-e 's|{{REPO_TEST_DIR}}|${REPO_TEST_DIR}|g' \
 | ||||||
| 			integrations/mssql.ini.tmpl > integrations/mssql.ini | 			integrations/mssql.ini.tmpl > integrations/mssql.ini | ||||||
| 
 | 
 | ||||||
| .PHONY: test-mssql | .PHONY: test-mssql | ||||||
| @ -411,7 +436,7 @@ test-mssql-migration: migrations.mssql.test generate-ini-mssql | |||||||
| 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mssql.ini ./migrations.mssql.test | 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/mssql.ini ./migrations.mssql.test | ||||||
| 
 | 
 | ||||||
| .PHONY: bench-sqlite | .PHONY: bench-sqlite | ||||||
| bench-sqlite: integrations.sqlite.test | bench-sqlite: integrations.sqlite.test generate-ini-sqlite | ||||||
| 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench . | 	GITEA_ROOT=${CURDIR} GITEA_CONF=integrations/sqlite.ini ./integrations.sqlite.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench . | ||||||
| 
 | 
 | ||||||
| .PHONY: bench-mysql | .PHONY: bench-mysql | ||||||
| @ -627,3 +652,6 @@ golangci-lint: | |||||||
| 		curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOPATH)/bin v1.24.0; \
 | 		curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOPATH)/bin v1.24.0; \
 | ||||||
| 	fi | 	fi | ||||||
| 	golangci-lint run --timeout 5m | 	golangci-lint run --timeout 5m | ||||||
|  | 
 | ||||||
|  | # This endif closes the if at the top of the file
 | ||||||
|  | endif | ||||||
| @ -15,7 +15,7 @@ REPO_INDEXER_ENABLED = true | |||||||
| REPO_INDEXER_PATH = integrations/indexers-mssql/repos.bleve | REPO_INDEXER_PATH = integrations/indexers-mssql/repos.bleve | ||||||
| 
 | 
 | ||||||
| [repository] | [repository] | ||||||
| ROOT = integrations/gitea-integration-mssql/gitea-repositories | ROOT = {{REPO_TEST_DIR}}integrations/gitea-integration-mssql/gitea-repositories | ||||||
| 
 | 
 | ||||||
| [repository.local] | [repository.local] | ||||||
| LOCAL_COPY_PATH = tmp/local-repo-mssql | LOCAL_COPY_PATH = tmp/local-repo-mssql | ||||||
|  | |||||||
| @ -17,7 +17,7 @@ REPO_INDEXER_ENABLED = true | |||||||
| REPO_INDEXER_PATH = integrations/indexers-mysql/repos.bleve | REPO_INDEXER_PATH = integrations/indexers-mysql/repos.bleve | ||||||
| 
 | 
 | ||||||
| [repository] | [repository] | ||||||
| ROOT = integrations/gitea-integration-mysql/gitea-repositories | ROOT = {{REPO_TEST_DIR}}integrations/gitea-integration-mysql/gitea-repositories | ||||||
| 
 | 
 | ||||||
| [repository.local] | [repository.local] | ||||||
| LOCAL_COPY_PATH = tmp/local-repo-mysql | LOCAL_COPY_PATH = tmp/local-repo-mysql | ||||||
|  | |||||||
| @ -15,7 +15,7 @@ REPO_INDEXER_ENABLED = true | |||||||
| REPO_INDEXER_PATH = integrations/indexers-mysql8/repos.bleve | REPO_INDEXER_PATH = integrations/indexers-mysql8/repos.bleve | ||||||
| 
 | 
 | ||||||
| [repository] | [repository] | ||||||
| ROOT = integrations/gitea-integration-mysql8/gitea-repositories | ROOT = {{REPO_TEST_DIR}}integrations/gitea-integration-mysql8/gitea-repositories | ||||||
| 
 | 
 | ||||||
| [repository.local] | [repository.local] | ||||||
| LOCAL_COPY_PATH = tmp/local-repo-mysql8 | LOCAL_COPY_PATH = tmp/local-repo-mysql8 | ||||||
|  | |||||||
| @ -16,7 +16,7 @@ REPO_INDEXER_ENABLED = true | |||||||
| REPO_INDEXER_PATH = integrations/indexers-pgsql/repos.bleve | REPO_INDEXER_PATH = integrations/indexers-pgsql/repos.bleve | ||||||
| 
 | 
 | ||||||
| [repository] | [repository] | ||||||
| ROOT = integrations/gitea-integration-pgsql/gitea-repositories | ROOT = {{REPO_TEST_DIR}}integrations/gitea-integration-pgsql/gitea-repositories | ||||||
| 
 | 
 | ||||||
| [repository.local] | [repository.local] | ||||||
| LOCAL_COPY_PATH = tmp/local-repo-pgsql | LOCAL_COPY_PATH = tmp/local-repo-pgsql | ||||||
|  | |||||||
| @ -11,7 +11,7 @@ REPO_INDEXER_ENABLED = true | |||||||
| REPO_INDEXER_PATH    = integrations/indexers-sqlite/repos.bleve | REPO_INDEXER_PATH    = integrations/indexers-sqlite/repos.bleve | ||||||
| 
 | 
 | ||||||
| [repository] | [repository] | ||||||
| ROOT = integrations/gitea-integration-sqlite/gitea-repositories | ROOT = {{REPO_TEST_DIR}}integrations/gitea-integration-sqlite/gitea-repositories | ||||||
| 
 | 
 | ||||||
| [repository.local] | [repository.local] | ||||||
| LOCAL_COPY_PATH = tmp/local-repo-sqlite | LOCAL_COPY_PATH = tmp/local-repo-sqlite | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user