Skip to content

Commit 124dbc9

Browse files
committed
Merge branch 'release/v8.0.0'
2 parents 8289a01 + 5f4391e commit 124dbc9

8 files changed

Lines changed: 137 additions & 37 deletions

File tree

.github/workflows/deploy.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
name: Build and Push to Nuget
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
strategy:
9+
matrix:
10+
dotnet-version: [8.x]
11+
services:
12+
mssql:
13+
image: mcr.microsoft.com/mssql/server:2019-latest
14+
env:
15+
SA_PASSWORD: trackable_core!@44
16+
ACCEPT_EULA: 'Y'
17+
ports:
18+
- 1433:1433
19+
steps:
20+
- name: Checkout
21+
uses: actions/checkout@v2
22+
with:
23+
fetch-depth: 0
24+
25+
- name: Setup Dotnet
26+
uses: actions/setup-dotnet@v1
27+
with:
28+
dotnet-version: ${{ matrix.dotnet-version }}
29+
30+
- name: Install GitVersion
31+
uses: gittools/actions/gitversion/setup@v0.9.7
32+
with:
33+
versionSpec: '5.x'
34+
35+
- name: GitVersion
36+
id: gitversion
37+
uses: gittools/actions/gitversion/execute@v0.9.7
38+
with:
39+
useConfigFile: true
40+
41+
- name: Run Tests
42+
run: dotnet test
43+
env:
44+
ConnectionString: Data Source=localhost;User ID=sa;Password=trackable_core!@44;MultipleActiveResultSets=True;Encrypt=False;
45+
46+
- name: Pack
47+
run: dotnet build -c Release -p:PackageVersion=${{ steps.gitversion.outputs.nuGetVersion }} -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg
48+
49+
- name: Publish
50+
if: github.event_name != 'pull_request' && (github.ref_name == 'master')
51+
run: |
52+
dotnet nuget push **/*.nupkg --source 'https://api.nuget.org/v3/index.json' -k ${{ secrets.NUGETKEY }} --skip-duplicate
53+
dotnet nuget push **/*.snupkg --source 'https://api.nuget.org/v3/index.json' -k ${{ secrets.NUGETKEY }} --skip-duplicate

Directory.Build.props

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<Project>
2+
<PropertyGroup>
3+
<TargetFramework>net8.0</TargetFramework>
4+
<PackageVersion>8.0.0</PackageVersion>
5+
<Authors>Tony Sneed</Authors>
6+
<Company>Tony Sneed</Company>
7+
<NoWarn>$(NoWarn);CS1591</NoWarn>
8+
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
9+
<PackageLicenseExpression>MIT</PackageLicenseExpression>
10+
<PackageProjectUrl>https://github.com/TrackableEntities/TrackableEntities.Core</PackageProjectUrl>
11+
<PackageIcon>icon.png</PackageIcon>
12+
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
13+
<GenerateDocumentationFile>True</GenerateDocumentationFile>
14+
<PackageReadmeFile>README.md</PackageReadmeFile>
15+
<PackageReleaseNotes>
16+
https://github.com/TrackableEntities/TrackableEntities.Core/releases/tag/v8.0.0
17+
</PackageReleaseNotes>
18+
</PropertyGroup>
19+
20+
<PropertyGroup>
21+
<RepositoryUrl>https://github.com/TrackableEntities/TrackableEntities.Core.git</RepositoryUrl>
22+
<RepositoryType>git</RepositoryType>
23+
<PublishRepositoryUrl>true</PublishRepositoryUrl>
24+
<EmbedUntrackedSources>true</EmbedUntrackedSources>
25+
<IncludeSymbols>true</IncludeSymbols>
26+
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
27+
</PropertyGroup>
28+
29+
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
30+
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
31+
</PropertyGroup>
32+
33+
<ItemGroup>
34+
<None Include="icon.png" Pack="true" Visible="false" PackagePath="" />
35+
</ItemGroup>
36+
37+
<ItemGroup>
38+
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" PrivateAssets="All" />
39+
</ItemGroup>
40+
41+
<ItemGroup>
42+
<None Include="..\README.md" Pack="true" PackagePath="\" />
43+
</ItemGroup>
44+
</Project>
45+

GitVersion.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
mode: Mainline
2+
branches: {}
3+
ignore:
4+
sha: []
5+
merge-message-formats: {}
Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,10 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
54
<PackageId>TrackableEntities.Common.Core</PackageId>
6-
<PackageVersion>8.0.0</PackageVersion>
7-
<Authors>Tony Sneed</Authors>
8-
<Company>Tony Sneed</Company>
95
<Title>Trackable Entities Common</Title>
106
<Description>Assembly containing TrackingState enum and ITrackable, IMergeable interfaces.</Description>
11-
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
12-
<PackageReleaseNotes>https://github.com/TrackableEntities/TrackableEntities.Core/releases/tag/v8.0.0</PackageReleaseNotes>
137
<PackageTags>change-tracking entity-framework-core n-tier</PackageTags>
14-
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
15-
<PackageLicenseExpression>MIT</PackageLicenseExpression>
16-
<PackageProjectUrl>https://github.com/TrackableEntities/TrackableEntities.Core</PackageProjectUrl>
17-
<PackageIcon>icon.png</PackageIcon>
18-
<GenerateDocumentationFile>True</GenerateDocumentationFile>
198
</PropertyGroup>
20-
21-
<ItemGroup>
22-
<None Include="icon.png" Pack="true" Visible="false" PackagePath="" />
23-
</ItemGroup>
24-
9+
2510
</Project>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using System;
2+
3+
using Microsoft.Data.SqlClient;
4+
using Microsoft.EntityFrameworkCore;
5+
6+
namespace TrackableEntities.EF.Core.Tests.Helpers
7+
{
8+
public static class DbContextOptionsHelper
9+
{
10+
public static DbContextOptions<TContext> GetContextOptions<TContext>(string initialCatalog)
11+
where TContext : DbContext
12+
{
13+
// default connection string for tests 'LocalDb'
14+
var connectionString =
15+
@"Data Source=(localdb)\MSSQLLocalDB; Initial Catalog=FamilyTest; Integrated Security=True; MultipleActiveResultSets=True";
16+
17+
if (Environment.GetEnvironmentVariable("ConnectionString") != null)
18+
{
19+
// LocalDb isn't supported in Linux. To support running tests, allow env variable for conn string
20+
connectionString = Environment.GetEnvironmentVariable("ConnectionString");
21+
}
22+
23+
var builder = new SqlConnectionStringBuilder(connectionString) { InitialCatalog = initialCatalog };
24+
25+
return new DbContextOptionsBuilder<TContext>()
26+
.UseSqlServer(builder.ConnectionString)
27+
.Options;
28+
}
29+
}
30+
}

TrackableEntities.EF.Core.Tests/Helpers/FamilyDbContextFixture.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,7 @@ public void Initialize(bool useInMemory = true, Action seedData = null)
2525
}
2626
else
2727
{
28-
_options = new DbContextOptionsBuilder<FamilyDbContext>()
29-
.UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB; Initial Catelog=FamilyTest; Integrated Security=True; MultipleActiveResultSets=True")
30-
.Options;
28+
_options = DbContextOptionsHelper.GetContextOptions<FamilyDbContext>("FamilyTest");
3129
}
3230
_context = new FamilyDbContext(_options);
3331
_context.Database.EnsureCreated();

TrackableEntities.EF.Core.Tests/Helpers/NorthwindDbContextFixture.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,7 @@ public void Initialize(bool useInMemory = true, Action seedData = null)
2626
}
2727
else
2828
{
29-
_options = new DbContextOptionsBuilder<NorthwindDbContext>()
30-
.UseSqlServer(@"Data Source=(localdb)\MSSQLLocalDB; Initial Catalog=NorthwindTest; Integrated Security=True; MultipleActiveResultSets=True")
31-
.Options;
29+
_options = DbContextOptionsHelper.GetContextOptions<NorthwindDbContext>("NorthwindTest");
3230
}
3331
_context = new NorthwindDbContext(_options);
3432
_context.Database.EnsureCreated(); // If login error, manually create NorthwindTest database

TrackableEntities.EF.Core/TrackableEntities.EF.Core.csproj

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,12 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
5-
<PackageVersion>8.0.0</PackageVersion>
6-
<Authors>Tony Sneed</Authors>
7-
<Company>Tony Sneed</Company>
4+
<PackageId>TrackableEntities.EF.Core</PackageId>
85
<Title>Trackable Entities for EF Core</Title>
96
<Description>Provides an ApplyChanges extension method for DbContext that sets EntityState on trackable entities, so they can be saved by a service in a single transaction</Description>
10-
<PackageLicenseExpression>MIT</PackageLicenseExpression>
11-
<PackageProjectUrl>https://github.com/TrackableEntities/TrackableEntities.Core</PackageProjectUrl>
12-
<PackageIcon>icon.png</PackageIcon>
137
<PackageTags>change-tracking entity-framework-core n-tier</PackageTags>
14-
<PackageReleaseNotes>https://github.com/TrackableEntities/TrackableEntities.Core/releases/tag/v7.0.0</PackageReleaseNotes>
15-
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
16-
<PackageId>TrackableEntities.EF.Core</PackageId>
17-
<GenerateDocumentationFile>True</GenerateDocumentationFile>
188
</PropertyGroup>
199

20-
<ItemGroup>
21-
<None Include="icon.png" Pack="true" Visible="false" PackagePath="" />
22-
</ItemGroup>
23-
2410
<ItemGroup>
2511
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="8.0.0" />
2612
</ItemGroup>

0 commit comments

Comments
 (0)