Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit a3ef56b

Browse files
Merge pull request #23 from thefringeninja/chicago-bullseye
Update Build Scripts
2 parents 2f5a6d7 + 1daafe1 commit a3ef56b

File tree

8 files changed

+51
-114
lines changed

8 files changed

+51
-114
lines changed

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ script: ./build.sh
55
env:
66
global:
77
secure: pnK+4X/2WLLMqEv0A2GAXHYkjjRKT+HeIOkSWLYvQc/2H8lPjg0JmQvq7MQIZJxetGv+gxSJtX2cbG55j6mj+inlHHWm87wHPh8zljJztRpH9Fz0IR5GXADuUjCRuvoHq+PJI5MZlcFPYbcaAKVOsyYlejy5Ok5wlYD2WUMMw4NH+iFmffbAuycVynZrzeEGzfx33nocUObamrMOru8UTcHEmR041mwOwjjkzzQmNSLaSt/sQvSrnR8jte3zfrCUT5H7uczs0lkO3OzhJAwqA7vULyRH9iugkauv0HzAorKXOMLKey6E/GZElHviU8E1NnbAOyoBKcITe4EDI1HSbWNQ8C7nFP6w8Rv/O1lRXWL8SHucNXbmETgJ8zlrVWlRMBmnjnjbr0uF7cK4lIaJG3B/ZsY6pMn/93pPLTLrlsl7ZCjxuplU5pfNq/ORnZnAhlKe5W2uxvNdK1C6soFaGvcvyMlcAcjx8Jhjq3Yh8sHknAl70ga/AhvjAzWaTKe5zXTxfXcRXQp5mF9k707qTDkDIeGwXxY92QeiRmFfOuH56UI4CsLgpPgk3yyaHTYZsVuJRHRSqHcNo6ivgF/vYRzSXreEWfd89d8E750SMf90ON8GiCu0cfgBbUUFtsZ8AJdwmp9F7JB23sEB9Gj1OTLgRT247hOmP0b4tinZz5M=
8+
git:
9+
depth: false

Dockerfile

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
FROM microsoft/dotnet:2.1.403-sdk-alpine3.7 AS build
2-
ARG TRAVIS_BUILD_NUMBER
3-
ARG TRAVIS_PULL_REQUEST_SHA
4-
ARG TRAVIS_COMMIT
5-
ARG TRAVIS_PULL_REQUEST
6-
ARG TRAVIS_BRANCH
72
ARG MYGET_API_KEY
3+
ARG MINVER_BUILD_METADATA
84

9-
RUN apk add nodejs yarn --no-cache
5+
RUN apk add --no-cache \
6+
nodejs \
7+
yarn \
8+
libcurl
109

1110
WORKDIR /src
1211

@@ -24,6 +23,10 @@ WORKDIR /docs
2423

2524
COPY ./docs/package.json ./docs/yarn.lock ./
2625

26+
WORKDIR /.git
27+
28+
COPY ./.git .
29+
2730
WORKDIR /build
2831

2932
COPY ./build/build.csproj .
@@ -34,12 +37,8 @@ COPY ./build .
3437

3538
WORKDIR /
3639

37-
RUN TRAVIS_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER \
40+
RUN MINVER_BUILD_METADATA=$MINVER_BUILD_METADATA \
3841
MYGET_API_KEY=$MYGET_API_KEY \
39-
TRAVIS_PULL_REQUEST_SHA=$TRAVIS_PULL_REQUEST_SHA \
40-
TRAVIS_COMMIT=$TRAVIS_COMMIT \
41-
TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST \
42-
TRAVIS_BRANCH=$TRAVIS_BRANCH \
4342
dotnet run --project build/build.csproj
4443

4544
FROM microsoft/dotnet:2.1.5-runtime-deps-alpine3.7 AS runtime

build.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
#!/usr/bin/env bash
2+
set -e
3+
24
DOCKERTAG=${TRAVIS_TAG:-latest}
5+
BUILD_NUMBER=${TRAVIS_BUILD_NUMBER:-0}
6+
COMMIT=${TRAVIS_PULL_REQUEST_SHA:-${TRAVIS_COMMIT:-unknown}}
7+
MINVER_BUILD_METADATA="build.${BUILD_NUMBER}.${COMMIT}"
38

49
docker build \
5-
--build-arg TRAVIS_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER \
10+
--build-arg MINVER_BUILD_METADATA=$MINVER_BUILD_METADATA \
611
--build-arg MYGET_API_KEY=$MYGET_API_KEY \
7-
--build-arg TRAVIS_PULL_REQUEST_SHA=$TRAVIS_PULL_REQUEST_SHA \
8-
--build-arg TRAVIS_COMMIT=$TRAVIS_COMMIT \
9-
--build-arg TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST \
10-
--build-arg TRAVIS_BRANCH=$TRAVIS_BRANCH \
1112
--tag sql-stream-store-server:${DOCKERTAG} \
12-
. && \
13-
docker images --filter=reference="sql-stream-store-server:${DOCKERTAG}"
13+
.
14+
15+
docker images --filter=reference="sql-stream-store-server:${DOCKERTAG}"

build/Program.cs

Lines changed: 25 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using System.IO;
33
using System.Linq;
44
using System.Runtime.InteropServices;
5-
using System.Threading.Tasks;
65
using static Bullseye.Targets;
76
using static SimpleExec.Command;
87

@@ -12,6 +11,7 @@ static class Program
1211
private const string PublishDir = "publish";
1312

1413
private const string Clean = nameof(Clean);
14+
private const string Init = nameof(Init);
1515
private const string GenerateDocumentation = nameof(GenerateDocumentation);
1616
private const string Build = nameof(Build);
1717
private const string RunTests = nameof(RunTests);
@@ -21,40 +21,26 @@ static class Program
2121

2222
public static void Main(string[] args)
2323
{
24-
var buildNumber = GetBuildNumber();
25-
var branch = GetBranch();
26-
var commitHash = GetCommitHash();
27-
var buildMetadata = $"{branch}.{commitHash}";
2824
var apiKey = Environment.GetEnvironmentVariable("MYGET_API_KEY");
25+
var srcDirectory = new DirectoryInfo("./src");
2926

3027
Target(Clean, () =>
3128
{
3229
if (Directory.Exists(ArtifactsDir))
3330
{
3431
Directory.Delete(ArtifactsDir, true);
3532
}
33+
3634
if (Directory.Exists(PublishDir))
3735
{
3836
Directory.Delete(PublishDir, true);
3937
}
40-
4138
});
4239

4340
Target(
44-
GenerateDocumentation,
41+
Init,
4542
() =>
4643
{
47-
var srcDirectory = new DirectoryInfo("./src");
48-
49-
var schemaFiles = srcDirectory.GetFiles("*.schema.json", SearchOption.AllDirectories);
50-
51-
var schemaDirectories = schemaFiles
52-
.Select(schemaFile => schemaFile.DirectoryName)
53-
.Distinct()
54-
.Select(schemaDirectory =>
55-
schemaDirectory.Replace(Path.DirectorySeparatorChar,
56-
'/')); // normalize paths; yarn/node can handle forward slashes
57-
5844
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
5945
{
6046
Run("cmd", "/c yarn", "docs");
@@ -63,22 +49,24 @@ public static void Main(string[] args)
6349
{
6450
Run("yarn", string.Empty, "docs");
6551
}
66-
67-
foreach (var schemaDirectory in schemaDirectories)
68-
{
69-
Run(
70-
"node",
71-
$"node_modules/@adobe/jsonschema2md/cli.js -n --input {schemaDirectory} --out {schemaDirectory} --schema-out=-",
72-
"docs");
73-
}
7452
});
7553

54+
Target(
55+
GenerateDocumentation,
56+
DependsOn(Init),
57+
ForEach(SchemaDirectories(srcDirectory)),
58+
schemaDirectory =>
59+
RunAsync(
60+
"node",
61+
$"node_modules/@adobe/jsonschema2md/cli.js -n --input {schemaDirectory} --out {schemaDirectory} --schema-out=-",
62+
"docs"));
63+
7664
Target(
7765
Build,
7866
DependsOn(GenerateDocumentation),
7967
() => Run(
8068
"dotnet",
81-
$"build src/SqlStreamStore.HAL.sln -c Release /p:BuildNumber={buildNumber} /p:BuildMetadata={buildMetadata}"));
69+
"build src/SqlStreamStore.HAL.sln -c Release"));
8270

8371
Target(
8472
RunTests,
@@ -92,14 +80,14 @@ public static void Main(string[] args)
9280
DependsOn(Build),
9381
() => Run(
9482
"dotnet",
95-
$"publish --configuration=Release --output=../../{PublishDir} --runtime=alpine.3.7-x64 /p:ShowLinkerSizeComparison=true /p:BuildNumber={buildNumber} /p:BuildMetadata={buildMetadata} src/SqlStreamStore.HAL.DevServer "));
96-
83+
$"publish --configuration=Release --output=../../{PublishDir} --runtime=alpine.3.7-x64 /p:ShowLinkerSizeComparison=true src/SqlStreamStore.HAL.DevServer"));
84+
9785
Target(
9886
Pack,
9987
DependsOn(Publish),
10088
() => Run(
10189
"dotnet",
102-
$"pack src/SqlStreamStore.HAL -c Release -o ../../{ArtifactsDir} /p:BuildNumber={buildNumber} /p:BuildMetadata={buildMetadata} --no-build"));
90+
$"pack src/SqlStreamStore.HAL -c Release -o ../../{ArtifactsDir} --no-build"));
10391

10492
Target(
10593
Push,
@@ -125,21 +113,13 @@ public static void Main(string[] args)
125113

126114
Target("default", DependsOn(Clean, RunTests, Push));
127115

128-
RunTargets(args);
116+
RunTargets(args.Concat(new[] {"--parallel"}));
129117
}
130118

131-
private static string GetBranch()
132-
=> (Environment.GetEnvironmentVariable("TRAVIS_PULL_REQUEST")?.ToLower() == "false"
133-
? null
134-
: $"pr-{Environment.GetEnvironmentVariable("TRAVIS_PULL_REQUEST")}")
135-
?? Environment.GetEnvironmentVariable("TRAVIS_BRANCH")
136-
?? "none";
137-
138-
private static string GetCommitHash()
139-
=> Environment.GetEnvironmentVariable("TRAVIS_PULL_REQUEST_SHA")
140-
?? Environment.GetEnvironmentVariable("TRAVIS_COMMIT")
141-
?? "none";
142-
143-
private static string GetBuildNumber()
144-
=> (Environment.GetEnvironmentVariable("TRAVIS_BUILD_NUMBER") ?? "0");
119+
private static string[] SchemaDirectories(DirectoryInfo srcDirectory)
120+
=> srcDirectory.GetFiles("*.schema.json", SearchOption.AllDirectories)
121+
.Select(schemaFile => schemaFile.DirectoryName)
122+
.Distinct()
123+
.Select(schemaDirectory => schemaDirectory.Replace(Path.DirectorySeparatorChar, '/'))
124+
.ToArray();
145125
}

build/build.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Bullseye" Version="1.2.0-rc.2" />
10-
<PackageReference Include="SimpleExec" Version="2.3.0" />
9+
<PackageReference Include="Bullseye" Version="2.2.0" />
10+
<PackageReference Include="SimpleExec" Version="3.0.0" />
1111
</ItemGroup>
1212

1313
</Project>

src/Directory.Build.props

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,13 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project>
33
<PropertyGroup>
4-
<BuildNumber Condition="'$(BuildNumber)' == ''">0</BuildNumber>
5-
<BuildMetadata Condition="'$(BuildMetadata)' == ''">local</BuildMetadata>
6-
<VersionPrefix>1.0.0</VersionPrefix>
7-
<VersionSuffix>rc3.$(BuildNumber)</VersionSuffix>
8-
<InformationalVersion>$(VersionPrefix)-$(VersionSuffix)+$(BuildMetadata)</InformationalVersion>
94
<Authors>João P. Bragança</Authors>
105
<PackageProjectUrl>https://github.com/SqlStreamStore/SqlStreamStore.HAL</PackageProjectUrl>
116
<PackageLicenseUrl>https://github.com/SqlStreamStore/SqlStreamStore.HAL/blob/master/LICENSE</PackageLicenseUrl>
127
<GenerateDocumentationFile>true</GenerateDocumentationFile>
138
<PackageTags>cqrs;event-sourcing;event-store;stream-store</PackageTags>
149
</PropertyGroup>
10+
<ItemGroup>
11+
<PackageReference Include="MinVer" Version="1.0.0-alpha.*" />
12+
</ItemGroup>
1513
</Project>

src/SqlStreamStore.HAL.Tests/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 37 deletions
This file was deleted.

src/SqlStreamStore.HAL.Tests/SqlStreamStore.HAL.Tests.csproj

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,6 @@
33
<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
44
<AssemblyName>SqlStreamStore.HAL.Tests</AssemblyName>
55
<PackageId>SqlStreamStore.HAL.Tests</PackageId>
6-
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
7-
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
8-
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
9-
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
10-
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
11-
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
12-
<GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
136
<DebugType>portable</DebugType>
147
<DebugSymbols>true</DebugSymbols>
158
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>

0 commit comments

Comments
 (0)