Skip to content

Commit 99803e9

Browse files
authored
MVP (#2)
* feature(#1): mvp code ready * feature(#1): Bypass non-determinism, and redundant Memo * chore(#1): github continuous integration workflows and dependabot * chore(#1): allow versions after 8.0.200 * chore(#1): dotnet workloads, more specific commands * chore(#1): bump aspire version to latest release * chore(#1): aspire for github actions * chore(#1): added github actions test logger to the tests project * chore(#1): env change * chore(#1): test timeout to 1minute only * chore(#1): try from aspire-samples * chore(#1): bump test packages * chore(#1): disable parallelization * chore(#1): blame * chore(#1): increase verbosity * chore(#1): increase test timeout to 5minutes * chore(#1): publish env refactor, with addons * chore(#1): added waitfor pattern from Aspire * chore(#1): log lines * chore(#1): check on temporal authority * chore(#1): added logger factory other than NullLoggerFactory * chore(#1): make static temporal environment * chore(#1): after options? * chore(#1): what if * chore(#1): add newly added temporal github service * chore(#1): bump temporal service * chore(#1): switch to localhost * chore(#1): remove temporarily temporal server in aspire * chore(#1): containerize steps * chore(#1): install curl first * chore(#1): fix curl install * chore(#1): added libicu67 to dependencies * chore(#1): revert to jammy container * chore(#1): reintroduced libicu67 * chore(#1): install icu * chore(#1): added libicu70 (22.04) * chore(#1): find out the mounts * chore(#1): revert all gha services and containers * fix(#1): refactor to use sdk-dotnet instead of aspire * fix(#1): switch app domain for DependencyContext * chore(#1): fixed tests * fix(#1): fixed typos & params * feature(#1): added public api and hid some surfaces not needed in public api * chore(#1): include prerelease changelogs from previous releases * fix(#1): removed a migration activity from "AddActivity" delegate * chore(#1): skip nuget publish if no apikey is present * feature(#1): added migrations setup flow scenarios * chore(#1): add readme * chore(#1): added performance logging example
1 parent 5c0b646 commit 99803e9

File tree

67 files changed

+3215
-6
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+3215
-6
lines changed

.editorconfig

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# EditorConfig
2+
3+
[*]
4+
charset = utf-8
5+
trim_trailing_whitespace = true
6+
tab_width = 2
7+
indent_size = 2
8+
indent_style = space
9+
insert_final_newline = true
10+
11+
[*.cs]
12+
charset = utf-8-bom
13+
tab_width = 4
14+
indent_size = 4

.gitattributes

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
###############################################################################
2+
# Set default behavior to automatically normalize line endings.
3+
###############################################################################
4+
* text=auto
5+
6+
###############################################################################
7+
# Set default behavior for command prompt diff.
8+
#
9+
# This is need for earlier builds of msysgit that does not have it on by
10+
# default for csharp files.
11+
# Note: This is only used by command line
12+
###############################################################################
13+
#*.cs diff=csharp
14+
15+
###############################################################################
16+
# Set the merge driver for project and solution files
17+
#
18+
# Merging from the command prompt will add diff markers to the files if there
19+
# are conflicts (Merging from VS is not affected by the settings below, in VS
20+
# the diff markers are never inserted). Diff markers may cause the following
21+
# file extensions to fail to load in VS. An alternative would be to treat
22+
# these files as binary and thus will always conflict and require user
23+
# intervention with every merge. To do so, just uncomment the entries below
24+
###############################################################################
25+
#*.sln merge=binary
26+
#*.csproj merge=binary
27+
#*.vbproj merge=binary
28+
#*.vcxproj merge=binary
29+
#*.vcproj merge=binary
30+
#*.dbproj merge=binary
31+
#*.fsproj merge=binary
32+
#*.lsproj merge=binary
33+
#*.wixproj merge=binary
34+
#*.modelproj merge=binary
35+
#*.sqlproj merge=binary
36+
#*.wwaproj merge=binary
37+
38+
###############################################################################
39+
# behavior for image files
40+
#
41+
# image files are treated as binary by default.
42+
###############################################################################
43+
#*.jpg binary
44+
#*.png binary
45+
#*.gif binary
46+
47+
###############################################################################
48+
# diff behavior for common document formats
49+
#
50+
# Convert binary document formats to text before diffing them. This feature
51+
# is only available from the command line. Turn it on by uncommenting the
52+
# entries below.
53+
###############################################################################
54+
#*.doc diff=astextplain
55+
#*.DOC diff=astextplain
56+
#*.docx diff=astextplain
57+
#*.DOCX diff=astextplain
58+
#*.dot diff=astextplain
59+
#*.DOT diff=astextplain
60+
#*.pdf diff=astextplain
61+
#*.PDF diff=astextplain
62+
#*.rtf diff=astextplain
63+
#*.RTF diff=astextplain

.github/dependabot.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"
7+
- package-ecosystem: "nuget"
8+
directory: "/"
9+
schedule:
10+
interval: "daily"

.github/release-drafter.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name-template: "v$RESOLVED_VERSION"
2+
tag-template: "v$RESOLVED_VERSION"
3+
change-template: "- $TITLE by @$AUTHOR (#$NUMBER)"
4+
no-changes-template: "- No changes"
5+
6+
prerelease: true
7+
prerelease-identifier: rc
8+
include-pre-releases: true
9+
10+
categories:
11+
- title: "📚 Documentation"
12+
labels:
13+
- "documentation"
14+
- title: "🚀 New Features"
15+
labels:
16+
- "enhancement"
17+
- title: "🐛 Bug Fixes"
18+
labels:
19+
- "bug"
20+
- title: "🧰 Maintenance"
21+
labels:
22+
- "maintenance"
23+
- title: "🚨 Security Updates"
24+
labels:
25+
- "security"
26+
- title: "🔄 Dependency Updates"
27+
collapse-after: 3
28+
labels:
29+
- "dependencies"
30+
31+
version-resolver:
32+
major:
33+
labels:
34+
- "major"
35+
minor:
36+
labels:
37+
- "minor"
38+
patch:
39+
labels:
40+
- "patch"
41+
default: patch
42+
template: |
43+
$CHANGES
44+
45+
## 👨🏼‍💻 Contributors
46+
47+
$CONTRIBUTORS
48+
autolabeler:
49+
- label: "documentation"
50+
files:
51+
- "docs/**/*"
52+
- label: "maintenance"
53+
files:
54+
- ".github/**/*"
55+
- ".devcontainer/**/*"
56+
- "test/**/*"
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Release Drafter
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request_target:
8+
types:
9+
- edited
10+
- opened
11+
- reopened
12+
- synchronize
13+
workflow_dispatch:
14+
inputs:
15+
release-type:
16+
type: choice
17+
default: prerelease
18+
description: Release Type
19+
options:
20+
- release
21+
- prerelease
22+
23+
concurrency:
24+
group: ${{ github.event_name == 'pull_request' && format('pr-{0}', github.event.number) || github.ref }}
25+
cancel-in-progress: ${{ github.ref != 'refs/heads/main' && github.ref_type != 'tag' }}
26+
27+
jobs:
28+
update_release_draft:
29+
permissions:
30+
contents: write
31+
pull-requests: write
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: "Draft Release"
35+
uses: release-drafter/[email protected]
36+
with:
37+
prerelease: ${{ github.event.inputs.release-type != 'release' }}
38+
env:
39+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Release Test Report
2+
on:
3+
workflow_run:
4+
workflows:
5+
- Release
6+
types:
7+
- completed
8+
permissions:
9+
contents: read
10+
actions: read
11+
checks: write
12+
jobs:
13+
report:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: dorny/test-reporter@v1
17+
with:
18+
artifact: test-results
19+
name: dotnet tests
20+
path: '**/test-results*.trx'
21+
reporter: dotnet-trx

.github/workflows/release.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Release
2+
3+
on:
4+
pull_request: {}
5+
push:
6+
branches:
7+
- main
8+
release:
9+
types:
10+
- published
11+
workflow_dispatch: {}
12+
13+
jobs:
14+
publish:
15+
env:
16+
ASPIRE_ALLOW_UNSECURED_TRANSPORT: true
17+
DOTNET_CLI_TELEMETRY_OPTOUT: true
18+
DOTNET_MULTILEVEL_LOOKUP: false
19+
DOTNET_NOLOGO: true
20+
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
21+
runs-on: ubuntu-latest
22+
permissions:
23+
contents: read
24+
packages: write
25+
steps:
26+
- name: Checkout
27+
uses: actions/checkout@v4
28+
with:
29+
fetch-depth: 0
30+
31+
- name: Setup .NET Core SDK 8
32+
uses: actions/setup-dotnet@v4
33+
with:
34+
dotnet-version: |
35+
8.0.x
36+
37+
- name: Restore .NET Packages
38+
run: |
39+
dotnet workload restore "./Migrator.sln"
40+
dotnet restore "./Migrator.sln" --locked-mode
41+
42+
- name: Build .NET Solution
43+
run: dotnet build "./Migrator.sln" --configuration Release --no-restore
44+
45+
- name: Test .NET Solution
46+
run: >
47+
dotnet test "./Migrator.sln"
48+
--collect:"XPlat Code Coverage" --no-build --verbosity normal --configuration Release
49+
--logger console --logger GitHubActions --logger "trx;LogFilePrefix=test-results"
50+
-property:DeterministicSourcePaths=true -property:IncludeTestAssembly=true
51+
--results-directory '${{ github.workspace }}/reports/coverage/' --blame
52+
--
53+
RunConfiguration.CollectSourceInformation=true
54+
timeout-minutes: 5
55+
56+
- name: Upload Test Artifacts
57+
uses: actions/upload-artifact@v4
58+
if: success() || failure()
59+
with:
60+
name: test-results
61+
path: "**/test-results*.trx"
62+
63+
- name: Pack .NET Solution
64+
run: dotnet pack "./Migrator.sln" --configuration Release --no-build --output pack/
65+
if: ${{ github.event_name == 'release' && github.ref_type == 'tag' || github.event.release.tag_name }}
66+
67+
- name: Publish .NET Solution to GitHub Packages
68+
continue-on-error: true
69+
run: dotnet nuget push pack/*.nupkg --api-key ${{ secrets.GITHUB_TOKEN }} --source "https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json"
70+
if: ${{ github.event_name == 'release' && github.ref_type == 'tag' || github.event.release.tag_name }}
71+
72+
- name: Store .NET Package
73+
uses: actions/upload-artifact@v4
74+
with:
75+
name: nuget
76+
if-no-files-found: error
77+
retention-days: 7
78+
path: pack/*.nupkg
79+
if: ${{ github.event_name == 'release' && github.ref_type == 'tag' || github.event.release.tag_name }}
80+
81+
- name: Publish .NET Solution to NuGet.org
82+
env:
83+
apikey: ${{ secrets.NUGET_ORG_KEY }}
84+
continue-on-error: true
85+
run: dotnet nuget push pack/*.nupkg --api-key ${{ secrets.NUGET_ORG_KEY }} --source nuget
86+
if: ${{ env.apikey != '' && github.event_name == 'release' && github.ref_type == 'tag' || github.event.release.tag_name }}

.gitignore

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -301,10 +301,6 @@ node_modules/
301301
*.dsw
302302
*.dsp
303303

304-
# Visual Studio 6 technical files
305-
*.ncb
306-
*.aps
307-
308304
# Visual Studio LightSwitch build output
309305
**/*.HTMLClient/GeneratedArtifacts
310306
**/*.DesktopClient/GeneratedArtifacts
@@ -396,3 +392,4 @@ FodyWeavers.xsd
396392

397393
# JetBrains Rider
398394
*.sln.iml
395+
.idea/

0 commit comments

Comments
 (0)