Skip to content

Commit a50d3ef

Browse files
authored
Release v2.0.0 with AWS cloud support.
1 parent 18aa173 commit a50d3ef

226 files changed

Lines changed: 48165 additions & 309 deletions

File tree

Some content is hidden

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

.claude/settings.local.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"permissions": {
3+
"allow": [
4+
"Bash(find \"C:\\\\Work\\\\Projects\\\\Published\\\\SourceFlow\\\\SourceFlow.Net/src/SourceFlow.Cloud.AWS/Attributes\" -type f -name \"*.cs\" 2>/dev/null | head -10)",
5+
"Bash(find /c/Work/Projects/Published/SourceFlow/SourceFlow.Net/src -name \"*Cloud*\" -o -name \"*cloud*\" 2>/dev/null | head -50)",
6+
"Bash(find /c/Work/Projects/Published/SourceFlow/SourceFlow.Net/tests/SourceFlow.Cloud.AWS.Tests/Unit -type f -name \"*.cs\" 2>/dev/null | grep -v obj | sort)",
7+
"Bash(find /c/Work/Projects/Published/SourceFlow/SourceFlow.Net/tests -type f -name \"*.cs\" | xargs grep -l \"Idempotency\\\\|DeadLetter\\\\|Masker\\\\|CloudTelemetry\\\\|PolymorphicJson\\\\|Encryption\" | grep -v obj | head -20)",
8+
"Bash(find \"C:/Work/Projects/Published/SourceFlow/SourceFlow.Net/tests/SourceFlow.Cloud.AWS.Tests\" -name \"*.csproj\" | xargs cat)",
9+
"Bash(find \"C:/Work/Projects/Published/SourceFlow/SourceFlow.Net/tests/SourceFlow.Core.Tests\" -name \"*.csproj\" | xargs cat)",
10+
"Bash(ls \"C:\\\\Work\\\\Projects\\\\Published\\\\SourceFlow\\\\SourceFlow.Net\\\\src\\\\SourceFlow.Cloud.AWS\\\\Attributes\\\\\" 2>/dev/null && echo \"EXISTS\" || echo \"EMPTY_OR_MISSING\"\nls \"C:\\\\Work\\\\Projects\\\\Published\\\\SourceFlow\\\\SourceFlow.Net\\\\src\\\\SourceFlow.Cloud.AWS\\\\Management\\\\\" 2>/dev/null && echo \"EXISTS\" || echo \"EMPTY_OR_MISSING\")",
11+
"Bash(ls \"C:\\\\Work\\\\Projects\\\\Published\\\\SourceFlow\\\\SourceFlow.Net\\\\src\\\\SourceFlow\\\\\" 2>/dev/null || echo \"NOT_FOUND\"\nls \"C:\\\\Work\\\\Projects\\\\Published\\\\SourceFlow\\\\SourceFlow.Net\\\\src\\\\\" 2>/dev/null)"
12+
]
13+
}
14+
}

.github/workflows/Master-Build.yml

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,82 @@ name: master-build
66
on:
77
push:
88
branches: [ "master" ]
9+
paths-ignore:
10+
- "**/*.md"
11+
- "**/*.gitignore"
12+
- "**/*.gitattributes"
913
jobs:
1014
build:
1115
runs-on: ubuntu-latest
16+
17+
services:
18+
localstack:
19+
image: localstack/localstack:latest
20+
ports:
21+
- 4566:4566
22+
env:
23+
SERVICES: sqs,sns,kms
24+
DEBUG: 1
25+
EAGER_SERVICE_LOADING: 1
26+
SKIP_SSL_CERT_DOWNLOAD: 1
27+
DOCKER_HOST: unix:///var/run/docker.sock
28+
options: >-
29+
--health-cmd "curl -f http://localhost:4566/_localstack/health || exit 1"
30+
--health-interval 10s
31+
--health-timeout 5s
32+
--health-retries 30
33+
--health-start-period 30s
34+
1235
steps:
1336
- uses: actions/checkout@v3
1437
- name: Setup .NET
1538
uses: actions/setup-dotnet@v3
1639
with:
1740
dotnet-version: 9.0.x
41+
42+
- name: Verify LocalStack is Ready
43+
run: |
44+
echo "Waiting for LocalStack to be fully ready..."
45+
echo "Testing connection to localhost:4566..."
46+
47+
max_attempts=30
48+
attempt=0
49+
while [ $attempt -lt $max_attempts ]; do
50+
if curl -f http://localhost:4566/_localstack/health 2>/dev/null; then
51+
echo ""
52+
echo "LocalStack is ready!"
53+
echo "Health endpoint response:"
54+
curl -s http://localhost:4566/_localstack/health | jq '.'
55+
break
56+
fi
57+
attempt=$((attempt + 1))
58+
echo "Attempt $attempt/$max_attempts - LocalStack not ready yet, waiting..."
59+
sleep 3
60+
done
61+
if [ $attempt -eq $max_attempts ]; then
62+
echo "ERROR: LocalStack did not become ready in time"
63+
docker logs $(docker ps -q --filter ancestor=localstack/localstack:latest) 2>/dev/null || echo "Could not get container logs"
64+
exit 1
65+
fi
66+
1867
- name: Restore dependencies
1968
run: dotnet restore
2069
- name: Build
2170
run: dotnet build --no-restore
22-
- name: Test
23-
run: dotnet test --no-build --verbosity normal
71+
72+
# Run unit tests first (no external dependencies)
73+
- name: Run Unit Tests
74+
run: dotnet test --no-build --verbosity normal --filter "Category=Unit"
75+
76+
# Run integration tests against LocalStack
77+
- name: Run Integration Tests with LocalStack
78+
run: dotnet test --no-build --verbosity normal --filter "Category=Integration&Category=RequiresLocalStack" -- RunConfiguration.TestSessionTimeout=600000
79+
env:
80+
AWS_ACCESS_KEY_ID: test
81+
AWS_SECRET_ACCESS_KEY: test
82+
AWS_DEFAULT_REGION: us-east-1
83+
AWS_ENDPOINT_URL: http://localhost:4566
84+
GITHUB_ACTIONS: true
2485

2586
run-Lint:
2687
runs-on: ubuntu-latest

.github/workflows/PR-CI.yml

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

.github/workflows/Pre-release-CI.yml

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

0 commit comments

Comments
 (0)