Skip to content

Commit 034da3d

Browse files
committed
Add GitLabCIServerInfo.Url property
The Url property returns the base url of the current GitLab server (read from the CI_SERVER_URL environment variable)
1 parent a79f454 commit 034da3d

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

src/Cake.Common.Tests/Fixtures/Build/GitLabCIInfoFixture.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ public GitLabCIInfoFixture(bool versionNineOrNewer = false)
6060
Environment.GetEnvironmentVariable("CI_RUNNER_DESCRIPTION").Returns("my runner");
6161
Environment.GetEnvironmentVariable("CI_RUNNER_TAGS").Returns("[\"docker\", \"linux\"]");
6262
Environment.GetEnvironmentVariable("CI_SERVER").Returns("yes");
63+
Environment.GetEnvironmentVariable("CI_SERVER_URL").Returns("https://gitlab.example.com:8080");
6364
Environment.GetEnvironmentVariable("CI_SERVER_NAME").Returns("GitLab");
6465
Environment.GetEnvironmentVariable("CI_SERVER_REVISION").Returns("70606bf");
6566
Environment.GetEnvironmentVariable("CI_SERVER_VERSION").Returns("8.9.0");

src/Cake.Common.Tests/Unit/Build/GitLabCI/Data/GitLabCIServerInfoTests.cs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,4 +58,20 @@ public void Should_Return_Correct_Value()
5858
Assert.Equal("8.9.0", result);
5959
}
6060
}
61-
}
61+
62+
public sealed class TheUrlProperty
63+
{
64+
[Fact]
65+
public void Should_Return_Correct_Value()
66+
{
67+
// Given
68+
var info = new GitLabCIInfoFixture().CreateServerInfo();
69+
70+
// When
71+
var result = info.Url;
72+
73+
// Then
74+
Assert.Equal("https://gitlab.example.com:8080", result);
75+
}
76+
}
77+
}

src/Cake.Common/Build/GitLabCI/Data/GitLabCIServerInfo.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,5 +43,13 @@ public GitLabCIServerInfo(ICakeEnvironment environment)
4343
/// The GitLab revision that is used to schedule builds.
4444
/// </value>
4545
public string Revision => GetEnvironmentString("CI_SERVER_REVISION");
46+
47+
/// <summary>
48+
/// Gets the base URL of the GitLab instance, including protocol and port.
49+
/// </summary>
50+
/// <value>
51+
/// The base URL of the GitLab instance, including protocol and port.
52+
/// </value>
53+
public string Url => GetEnvironmentString("CI_SERVER_URL");
4654
}
4755
}

0 commit comments

Comments
 (0)