Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ script: ./build.sh
env:
global:
secure: pnK+4X/2WLLMqEv0A2GAXHYkjjRKT+HeIOkSWLYvQc/2H8lPjg0JmQvq7MQIZJxetGv+gxSJtX2cbG55j6mj+inlHHWm87wHPh8zljJztRpH9Fz0IR5GXADuUjCRuvoHq+PJI5MZlcFPYbcaAKVOsyYlejy5Ok5wlYD2WUMMw4NH+iFmffbAuycVynZrzeEGzfx33nocUObamrMOru8UTcHEmR041mwOwjjkzzQmNSLaSt/sQvSrnR8jte3zfrCUT5H7uczs0lkO3OzhJAwqA7vULyRH9iugkauv0HzAorKXOMLKey6E/GZElHviU8E1NnbAOyoBKcITe4EDI1HSbWNQ8C7nFP6w8Rv/O1lRXWL8SHucNXbmETgJ8zlrVWlRMBmnjnjbr0uF7cK4lIaJG3B/ZsY6pMn/93pPLTLrlsl7ZCjxuplU5pfNq/ORnZnAhlKe5W2uxvNdK1C6soFaGvcvyMlcAcjx8Jhjq3Yh8sHknAl70ga/AhvjAzWaTKe5zXTxfXcRXQp5mF9k707qTDkDIeGwXxY92QeiRmFfOuH56UI4CsLgpPgk3yyaHTYZsVuJRHRSqHcNo6ivgF/vYRzSXreEWfd89d8E750SMf90ON8GiCu0cfgBbUUFtsZ8AJdwmp9F7JB23sEB9Gj1OTLgRT247hOmP0b4tinZz5M=
git:
depth: false
21 changes: 10 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
FROM microsoft/dotnet:2.1.403-sdk-alpine3.7 AS build
ARG TRAVIS_BUILD_NUMBER
ARG TRAVIS_PULL_REQUEST_SHA
ARG TRAVIS_COMMIT
ARG TRAVIS_PULL_REQUEST
ARG TRAVIS_BRANCH
ARG MYGET_API_KEY
ARG MINVER_BUILD_METADATA

RUN apk add nodejs yarn --no-cache
RUN apk add --no-cache \
nodejs \
yarn \
libcurl

WORKDIR /src

Expand All @@ -24,6 +23,10 @@ WORKDIR /docs

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

WORKDIR /.git

COPY ./.git .

WORKDIR /build

COPY ./build/build.csproj .
Expand All @@ -34,12 +37,8 @@ COPY ./build .

WORKDIR /

RUN TRAVIS_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER \
RUN MINVER_BUILD_METADATA=$MINVER_BUILD_METADATA \
MYGET_API_KEY=$MYGET_API_KEY \
TRAVIS_PULL_REQUEST_SHA=$TRAVIS_PULL_REQUEST_SHA \
TRAVIS_COMMIT=$TRAVIS_COMMIT \
TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST \
TRAVIS_BRANCH=$TRAVIS_BRANCH \
dotnet run --project build/build.csproj

FROM microsoft/dotnet:2.1.5-runtime-deps-alpine3.7 AS runtime
Expand Down
16 changes: 9 additions & 7 deletions build.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
#!/usr/bin/env bash
set -e

DOCKERTAG=${TRAVIS_TAG:-latest}
BUILD_NUMBER=${TRAVIS_BUILD_NUMBER:-0}
COMMIT=${TRAVIS_PULL_REQUEST_SHA:-${TRAVIS_COMMIT:-unknown}}
MINVER_BUILD_METADATA="build.${BUILD_NUMBER}.${COMMIT}"

docker build \
--build-arg TRAVIS_BUILD_NUMBER=$TRAVIS_BUILD_NUMBER \
--build-arg MINVER_BUILD_METADATA=$MINVER_BUILD_METADATA \
--build-arg MYGET_API_KEY=$MYGET_API_KEY \
--build-arg TRAVIS_PULL_REQUEST_SHA=$TRAVIS_PULL_REQUEST_SHA \
--build-arg TRAVIS_COMMIT=$TRAVIS_COMMIT \
--build-arg TRAVIS_PULL_REQUEST=$TRAVIS_PULL_REQUEST \
--build-arg TRAVIS_BRANCH=$TRAVIS_BRANCH \
--tag sql-stream-store-server:${DOCKERTAG} \
. && \
docker images --filter=reference="sql-stream-store-server:${DOCKERTAG}"
.

docker images --filter=reference="sql-stream-store-server:${DOCKERTAG}"
70 changes: 25 additions & 45 deletions build/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using static Bullseye.Targets;
using static SimpleExec.Command;

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

private const string Clean = nameof(Clean);
private const string Init = nameof(Init);
private const string GenerateDocumentation = nameof(GenerateDocumentation);
private const string Build = nameof(Build);
private const string RunTests = nameof(RunTests);
Expand All @@ -21,40 +21,26 @@ static class Program

public static void Main(string[] args)
{
var buildNumber = GetBuildNumber();
var branch = GetBranch();
var commitHash = GetCommitHash();
var buildMetadata = $"{branch}.{commitHash}";
var apiKey = Environment.GetEnvironmentVariable("MYGET_API_KEY");
var srcDirectory = new DirectoryInfo("./src");

Target(Clean, () =>
{
if (Directory.Exists(ArtifactsDir))
{
Directory.Delete(ArtifactsDir, true);
}

if (Directory.Exists(PublishDir))
{
Directory.Delete(PublishDir, true);
}

});

Target(
GenerateDocumentation,
Init,
() =>
{
var srcDirectory = new DirectoryInfo("./src");

var schemaFiles = srcDirectory.GetFiles("*.schema.json", SearchOption.AllDirectories);

var schemaDirectories = schemaFiles
.Select(schemaFile => schemaFile.DirectoryName)
.Distinct()
.Select(schemaDirectory =>
schemaDirectory.Replace(Path.DirectorySeparatorChar,
'/')); // normalize paths; yarn/node can handle forward slashes

if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
{
Run("cmd", "/c yarn", "docs");
Expand All @@ -63,22 +49,24 @@ public static void Main(string[] args)
{
Run("yarn", string.Empty, "docs");
}

foreach (var schemaDirectory in schemaDirectories)
{
Run(
"node",
$"node_modules/@adobe/jsonschema2md/cli.js -n --input {schemaDirectory} --out {schemaDirectory} --schema-out=-",
"docs");
}
});

Target(
GenerateDocumentation,
DependsOn(Init),
ForEach(SchemaDirectories(srcDirectory)),
schemaDirectory =>
RunAsync(
"node",
$"node_modules/@adobe/jsonschema2md/cli.js -n --input {schemaDirectory} --out {schemaDirectory} --schema-out=-",
"docs"));

Target(
Build,
DependsOn(GenerateDocumentation),
() => Run(
"dotnet",
$"build src/SqlStreamStore.HAL.sln -c Release /p:BuildNumber={buildNumber} /p:BuildMetadata={buildMetadata}"));
"build src/SqlStreamStore.HAL.sln -c Release"));

Target(
RunTests,
Expand All @@ -92,14 +80,14 @@ public static void Main(string[] args)
DependsOn(Build),
() => Run(
"dotnet",
$"publish --configuration=Release --output=../../{PublishDir} --runtime=alpine.3.7-x64 /p:ShowLinkerSizeComparison=true /p:BuildNumber={buildNumber} /p:BuildMetadata={buildMetadata} src/SqlStreamStore.HAL.DevServer "));
$"publish --configuration=Release --output=../../{PublishDir} --runtime=alpine.3.7-x64 /p:ShowLinkerSizeComparison=true src/SqlStreamStore.HAL.DevServer"));

Target(
Pack,
DependsOn(Publish),
() => Run(
"dotnet",
$"pack src/SqlStreamStore.HAL -c Release -o ../../{ArtifactsDir} /p:BuildNumber={buildNumber} /p:BuildMetadata={buildMetadata} --no-build"));
$"pack src/SqlStreamStore.HAL -c Release -o ../../{ArtifactsDir} --no-build"));

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

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

RunTargets(args);
RunTargets(args.Concat(new[] {"--parallel"}));
}

private static string GetBranch()
=> (Environment.GetEnvironmentVariable("TRAVIS_PULL_REQUEST")?.ToLower() == "false"
? null
: $"pr-{Environment.GetEnvironmentVariable("TRAVIS_PULL_REQUEST")}")
?? Environment.GetEnvironmentVariable("TRAVIS_BRANCH")
?? "none";

private static string GetCommitHash()
=> Environment.GetEnvironmentVariable("TRAVIS_PULL_REQUEST_SHA")
?? Environment.GetEnvironmentVariable("TRAVIS_COMMIT")
?? "none";

private static string GetBuildNumber()
=> (Environment.GetEnvironmentVariable("TRAVIS_BUILD_NUMBER") ?? "0");
private static string[] SchemaDirectories(DirectoryInfo srcDirectory)
=> srcDirectory.GetFiles("*.schema.json", SearchOption.AllDirectories)
.Select(schemaFile => schemaFile.DirectoryName)
.Distinct()
.Select(schemaDirectory => schemaDirectory.Replace(Path.DirectorySeparatorChar, '/'))
.ToArray();
}
4 changes: 2 additions & 2 deletions build/build.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Bullseye" Version="1.2.0-rc.2" />
<PackageReference Include="SimpleExec" Version="2.3.0" />
<PackageReference Include="Bullseye" Version="2.2.0" />
<PackageReference Include="SimpleExec" Version="3.0.0" />
</ItemGroup>

</Project>
Expand Down
8 changes: 3 additions & 5 deletions src/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<BuildNumber Condition="'$(BuildNumber)' == ''">0</BuildNumber>
<BuildMetadata Condition="'$(BuildMetadata)' == ''">local</BuildMetadata>
<VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix>rc3.$(BuildNumber)</VersionSuffix>
<InformationalVersion>$(VersionPrefix)-$(VersionSuffix)+$(BuildMetadata)</InformationalVersion>
<Authors>João P. Bragança</Authors>
<PackageProjectUrl>https://github.com/SqlStreamStore/SqlStreamStore.HAL</PackageProjectUrl>
<PackageLicenseUrl>https://github.com/SqlStreamStore/SqlStreamStore.HAL/blob/master/LICENSE</PackageLicenseUrl>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<PackageTags>cqrs;event-sourcing;event-store;stream-store</PackageTags>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MinVer" Version="1.0.0-alpha.*" />
</ItemGroup>
</Project>
37 changes: 0 additions & 37 deletions src/SqlStreamStore.HAL.Tests/Properties/AssemblyInfo.cs

This file was deleted.

7 changes: 0 additions & 7 deletions src/SqlStreamStore.HAL.Tests/SqlStreamStore.HAL.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,6 @@
<TargetFrameworks>netcoreapp2.1</TargetFrameworks>
<AssemblyName>SqlStreamStore.HAL.Tests</AssemblyName>
<PackageId>SqlStreamStore.HAL.Tests</PackageId>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
<DebugType>portable</DebugType>
<DebugSymbols>true</DebugSymbols>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
Expand Down