chore(ci): skip tests if TEST_{MINIO_ENDPOINT,ELASTICSEARCH_URL} is not set (#8166)

This allows the daily tests to work instead of failing because elasticsearch & minio are not present.

* [Minio](https://codeberg.org/forgejo-integration/forgejo/actions/runs/10172#jobstep-5-353)
* [Elasticsearch](https://codeberg.org/forgejo-integration/forgejo/actions/runs/10172#jobstep-5-272)

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8166
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
Co-authored-by: Earl Warren <contact@earl-warren.org>
Co-committed-by: Earl Warren <contact@earl-warren.org>
This commit is contained in:
Earl Warren 2025-06-12 21:13:52 +02:00 committed by Earl Warren
parent 4a06153709
commit 563d8f1564
3 changed files with 17 additions and 19 deletions

View file

@ -91,6 +91,7 @@ jobs:
RACE_ENABLED: 'true' RACE_ENABLED: 'true'
TAGS: bindata TAGS: bindata
TEST_ELASTICSEARCH_URL: http://elasticsearch:9200 TEST_ELASTICSEARCH_URL: http://elasticsearch:9200
TEST_MINIO_ENDPOINT: minio:9000
test-e2e: test-e2e:
if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing' if: vars.ROLE == 'forgejo-coding' || vars.ROLE == 'forgejo-testing'
runs-on: docker runs-on: docker

View file

@ -16,16 +16,10 @@ import (
) )
func TestElasticsearchIndexer(t *testing.T) { func TestElasticsearchIndexer(t *testing.T) {
// The elasticsearch instance started by testing.yml > test-unit > services > elasticsearch url := os.Getenv("TEST_ELASTICSEARCH_URL")
url := "http://elastic:changeme@elasticsearch:9200" if url == "" {
t.Skip("TEST_ELASTICSEARCH_URL not set")
if os.Getenv("CI") == "" { return
// Make it possible to run tests against a local elasticsearch instance
url = os.Getenv("TEST_ELASTICSEARCH_URL")
if url == "" {
t.Skip("TEST_ELASTICSEARCH_URL not set and not running in CI")
return
}
} }
require.Eventually(t, func() bool { require.Eventually(t, func() bool {

View file

@ -18,13 +18,14 @@ import (
) )
func TestMinioStorageIterator(t *testing.T) { func TestMinioStorageIterator(t *testing.T) {
if os.Getenv("CI") == "" { endpoint := os.Getenv("TEST_MINIO_ENDPOINT")
t.Skip("minioStorage not present outside of CI") if endpoint == "" {
t.Skip("TEST_MINIO_ENDPOINT not set")
return return
} }
testStorageIterator(t, setting.MinioStorageType, &setting.Storage{ testStorageIterator(t, setting.MinioStorageType, &setting.Storage{
MinioConfig: setting.MinioStorageConfig{ MinioConfig: setting.MinioStorageConfig{
Endpoint: "minio:9000", Endpoint: endpoint,
AccessKeyID: "123456", AccessKeyID: "123456",
SecretAccessKey: "12345678", SecretAccessKey: "12345678",
Bucket: "gitea", Bucket: "gitea",
@ -34,13 +35,14 @@ func TestMinioStorageIterator(t *testing.T) {
} }
func TestVirtualHostMinioStorage(t *testing.T) { func TestVirtualHostMinioStorage(t *testing.T) {
if os.Getenv("CI") == "" { endpoint := os.Getenv("TEST_MINIO_ENDPOINT")
t.Skip("minioStorage not present outside of CI") if endpoint == "" {
t.Skip("TEST_MINIO_ENDPOINT not set")
return return
} }
testStorageIterator(t, setting.MinioStorageType, &setting.Storage{ testStorageIterator(t, setting.MinioStorageType, &setting.Storage{
MinioConfig: setting.MinioStorageConfig{ MinioConfig: setting.MinioStorageConfig{
Endpoint: "minio:9000", Endpoint: endpoint,
AccessKeyID: "123456", AccessKeyID: "123456",
SecretAccessKey: "12345678", SecretAccessKey: "12345678",
Bucket: "gitea", Bucket: "gitea",
@ -85,13 +87,14 @@ func TestMinioStoragePath(t *testing.T) {
} }
func TestS3StorageBadRequest(t *testing.T) { func TestS3StorageBadRequest(t *testing.T) {
if os.Getenv("CI") == "" { endpoint := os.Getenv("TEST_MINIO_ENDPOINT")
t.Skip("S3Storage not present outside of CI") if endpoint == "" {
t.Skip("TEST_MINIO_ENDPOINT not set")
return return
} }
cfg := &setting.Storage{ cfg := &setting.Storage{
MinioConfig: setting.MinioStorageConfig{ MinioConfig: setting.MinioStorageConfig{
Endpoint: "minio:9000", Endpoint: endpoint,
AccessKeyID: "123456", AccessKeyID: "123456",
SecretAccessKey: "12345678", SecretAccessKey: "12345678",
Bucket: "bucket", Bucket: "bucket",