diff --git a/services/migrations/github_test.go b/services/migrations/github_test.go
index 90c1fcaef5..7bbbbb6168 100644
--- a/services/migrations/github_test.go
+++ b/services/migrations/github_test.go
@@ -18,7 +18,11 @@ import (
 
 func TestGitHubDownloadRepo(t *testing.T) {
 	GithubLimitRateRemaining = 3 // Wait at 3 remaining since we could have 3 CI in //
-	downloader := NewGithubDownloaderV3(context.Background(), "https://github.com", "", "", os.Getenv("GITHUB_READ_TOKEN"), "go-gitea", "test_repo")
+	token := os.Getenv("GITHUB_READ_TOKEN")
+	if token == "" {
+		t.Skip("Skipping GitHub migration test because GITHUB_READ_TOKEN is empty")
+	}
+	downloader := NewGithubDownloaderV3(context.Background(), "https://github.com", "", "", token, "go-gitea", "test_repo")
 	err := downloader.RefreshRate()
 	assert.NoError(t, err)