Skip to content

Commit 84ef66d

Browse files
Merge pull request #74 from akkadotnet/dev
v.1.3.13 Release
2 parents b128c2b + 7ec9cec commit 84ef66d

19 files changed

+449
-224
lines changed

Akka.Persistence.MongoDb.sln

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio 15
4-
VisualStudioVersion = 15.0.27130.2027
3+
# Visual Studio Version 16
4+
VisualStudioVersion = 16.0.29306.81
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Akka.Persistence.MongoDb", "src\Akka.Persistence.MongoDb\Akka.Persistence.MongoDb.csproj", "{E945AABA-2779-41E8-9B43-8898FFD64F22}"
77
EndProject
88
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Akka.Persistence.MongoDb.Tests", "src\Akka.Persistence.MongoDb.Tests\Akka.Persistence.MongoDb.Tests.csproj", "{0F9B9BC6-9F86-40E8-BA9B-D27BF3AC7970}"
99
EndProject
10-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Akka.Persistence.MongoDb.Tests.Performance", "src\Akka.Persistence.MongoDb.Tests.Performance\Akka.Persistence.MongoDb.Tests.Performance.csproj", "{CAE7CA7C-0D0C-4FDA-BDE9-BE16A27343EF}"
11-
EndProject
1210
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{BE1178E1-2069-4762-82E5-43805913DCB8}"
1311
ProjectSection(SolutionItems) = preProject
1412
build.cmd = build.cmd
@@ -31,10 +29,6 @@ Global
3129
{0F9B9BC6-9F86-40E8-BA9B-D27BF3AC7970}.Debug|Any CPU.Build.0 = Debug|Any CPU
3230
{0F9B9BC6-9F86-40E8-BA9B-D27BF3AC7970}.Release|Any CPU.ActiveCfg = Release|Any CPU
3331
{0F9B9BC6-9F86-40E8-BA9B-D27BF3AC7970}.Release|Any CPU.Build.0 = Release|Any CPU
34-
{CAE7CA7C-0D0C-4FDA-BDE9-BE16A27343EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
35-
{CAE7CA7C-0D0C-4FDA-BDE9-BE16A27343EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
36-
{CAE7CA7C-0D0C-4FDA-BDE9-BE16A27343EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
37-
{CAE7CA7C-0D0C-4FDA-BDE9-BE16A27343EF}.Release|Any CPU.Build.0 = Release|Any CPU
3832
EndGlobalSection
3933
GlobalSection(SolutionProperties) = preSolution
4034
HideSolutionNode = FALSE

README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@
22

33
Akka Persistence journal and snapshot store backed by MongoDB database.
44

5-
**WARNING: Akka.Persistence.MongoDB plugin is still in beta and it's mechanics described bellow may be still subject to change**.
6-
75
### Setup
86

97
To activate the journal plugin, add the following lines to actor system configuration file:

RELEASE_NOTES.md

Lines changed: 4 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,5 @@
1-
#### 1.3.12 April 05 2019 ####
2-
Support for Akka.Persistence 1.3.12.
3-
Added support for Akka.Persistence.Query.
4-
Upgraded to MongoDb v2.7.0 driver (2.8.0 doesn't support .NET 4.5)
5-
Added support for configurable, binary serialization via Akka.NET.
1+
#### 1.3.13 September 24 2019 ####
2+
* Support for Akka.Persistence 1.3.13.
3+
* Fixed [serializer regression for Akka.Persistence.MongoDb v1.3.12](https://github.com/akkadotnet/Akka.Persistence.MongoDB/pull/59)
64

7-
8-
#### 1.3.5 March 23 2018 ####
9-
Support for Akka.Persistence 1.3.5.
10-
Support for .NET Standard 1.6
11-
Supports latest version of .NET MongoDB Driver.
12-
You don't neeed to register/map your classes for serialization/deserialization anymore!
13-
14-
#### 1.1.0 July 30 2016 ####
15-
Updated to Akka.Persistence 1.1.1
16-
17-
**Migration from 1.0.5 Up**
18-
As of 1.1.0, the highest SequenceNr for each PersistenceId in the EventJournal collection is kept in a separate collection, Metadata.
19-
This script creates the Metadata collection, then finds the highest SequenceNr for each persistence id from the EventJournal and adds it to the Metadata collection.
20-
21-
To run, save this to a JavaScript file, update {your_database_address} e.g. 127.0.0.1:27017/events. Run: mongo {file_name}.js
22-
```javascript
23-
try {
24-
var db = connect('{your_database_address}');
25-
26-
var persistenceIds = db.EventJournal.distinct('PersistenceId');
27-
28-
persistenceIds.forEach(persistenceId => {
29-
print('Finding highest SequenceNr for PersistenceId: ' + persistenceId);
30-
var highestSequenceNr = db.EventJournal
31-
.find({ PersistenceId: persistenceId }, { SequenceNr: true })
32-
.sort({ SequenceNr: -1 })
33-
.limit(1)
34-
.next()
35-
.SequenceNr;
36-
37-
print('Highest SequenceNr found ' + highestSequenceNr + ', inserting into Metadata table...');
38-
db.Metadata.insertOne(
39-
{
40-
_id: persistenceId,
41-
PersistenceId: persistenceId,
42-
SequenceNr: highestSequenceNr
43-
}
44-
);
45-
46-
print('Inserted successfully');
47-
});
48-
} catch(e) {
49-
print(e);
50-
}
51-
```
52-
53-
#### 1.0.5 August 08 2015 ####
54-
55-
#### 1.0.4 August 07 2015 ####
56-
Initial release of Akka.Persistence.MongoDb
5+
**Note: we're working on [adding support for future versions of Akka.Persistence.MongoDB and you should read them here if you plan on continuing to use the plugin](https://github.com/akkadotnet/Akka.Persistence.MongoDB/issues/72).**

build-system/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Azure Pipelines Build Files
2+
These `.yaml` files are used by Windows Azure DevOps Pipelines to help execute the following types of builds:
3+
4+
- Pull request validation on Linux (Mono / .NET Core)
5+
- Pull request validation on Windows (.NET Framework / .NET Core)
6+
- NuGet releases with automatic release notes posted to a Github Release repository.
7+
8+
**NOTE**: you will need to change some of the pipeline variables inside the `windows-release.yaml` for your specific project and you will also want to create variable groups with your signing and NuGet push information.
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
parameters:
2+
name: ''
3+
vmImage: ''
4+
scriptFileName: ''
5+
scriptArgs: 'all'
6+
timeoutInMinutes: 120
7+
8+
jobs:
9+
- job: ${{ parameters.name }}
10+
timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
11+
pool:
12+
vmImage: ${{ parameters.vmImage }}
13+
steps:
14+
- checkout: self # self represents the repo where the initial Pipelines YAML file was found
15+
clean: false # whether to fetch clean each time
16+
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules
17+
persistCredentials: true
18+
# Linux or macOS
19+
- task: Bash@3
20+
displayName: Linux / OSX Build
21+
inputs:
22+
filePath: ${{ parameters.scriptFileName }}
23+
arguments: ${{ parameters.scriptArgs }}
24+
continueOnError: true
25+
condition: in( variables['Agent.OS'], 'Linux', 'Darwin' )
26+
# Windows
27+
- task: BatchScript@1
28+
displayName: Windows Build
29+
inputs:
30+
filename: ${{ parameters.scriptFileName }}
31+
arguments: ${{ parameters.scriptArgs }}
32+
continueOnError: true
33+
condition: eq( variables['Agent.OS'], 'Windows_NT' )
34+
- task: PublishTestResults@2
35+
inputs:
36+
testRunner: VSTest
37+
testResultsFiles: '**/*.trx' #TestResults folder usually
38+
testRunTitle: ${{ parameters.name }}
39+
mergeTestResults: true
40+
- script: 'echo 1>&2'
41+
failOnStderr: true
42+
displayName: 'If above is partially succeeded, then fail'
43+
condition: eq(variables['Agent.JobStatus'], 'SucceededWithIssues')
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Pull request validation for Linux against the `dev` and `master` branches
2+
# See https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for reference
3+
trigger:
4+
branches:
5+
include:
6+
- dev
7+
- master
8+
9+
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
10+
11+
pr:
12+
autoCancel: true # indicates whether additional pushes to a PR should cancel in-progress runs for the same PR. Defaults to true
13+
branches:
14+
include: [ dev, master ] # branch names which will trigger a build
15+
16+
jobs:
17+
- template: azure-pipeline.template.yaml
18+
parameters:
19+
name: Ubuntu
20+
vmImage: 'ubuntu-16.04'
21+
scriptFileName: ./build.sh
22+
scriptArgs: all
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Pull request validation for Windows against the `dev` and `master` branches
2+
# See https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for reference
3+
trigger:
4+
branches:
5+
include:
6+
- dev
7+
- master
8+
9+
pr:
10+
autoCancel: true # indicates whether additional pushes to a PR should cancel in-progress runs for the same PR. Defaults to true
11+
branches:
12+
include: [ dev, master ] # branch names which will trigger a build
13+
14+
name: $(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
15+
16+
jobs:
17+
- template: azure-pipeline.template.yaml
18+
parameters:
19+
name: Windows
20+
vmImage: 'vs2017-win2016'
21+
scriptFileName: build.cmd
22+
scriptArgs: all

build-system/windows-release.yaml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Release task for PbLib projects
2+
# See https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema for reference
3+
4+
pool:
5+
vmImage: vs2017-win2016
6+
demands: Cmd
7+
8+
trigger:
9+
branches:
10+
include:
11+
- refs/tags/*
12+
13+
pr: none
14+
15+
variables:
16+
- group: signingSecrets #create this group with SECRET variables `signingUsername` and `signingPassword`
17+
- group: nugetKeys #create this group with SECRET variables `nugetKey`
18+
- name: githubConnectionName
19+
value: AkkaDotNet_Releases
20+
- name: projectName
21+
value: Akka.Persistence.MongoDB
22+
- name: githubRepositoryName
23+
value: akkadotnet/Akka.Persistence.MongoDB
24+
steps:
25+
- task: BatchScript@1
26+
displayName: 'FAKE Build'
27+
inputs:
28+
filename: build.cmd
29+
arguments: 'nuget nugetpublishurl=https://www.nuget.org/api/v2/package nugetkey=$(nugetKey)'
30+
31+
- task: GitHubRelease@0
32+
displayName: 'GitHub release (create)'
33+
inputs:
34+
gitHubConnection: $(githubConnectionName)
35+
repositoryName: $(githubRepositoryName)
36+
title: '$(projectName) v$(Build.SourceBranchName)'
37+
releaseNotesFile: 'RELEASE_NOTES.md'
38+
assets: |
39+
bin\nuget\*.nupkg

0 commit comments

Comments
 (0)