Skip to content

Commit 916bfbc

Browse files
committed
remove project generation via nuget package
1 parent 0225c9f commit 916bfbc

199 files changed

Lines changed: 533 additions & 580 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.

.github/workflows/develop.yml

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
name: Develop smoke
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
workflow_dispatch:
8+
9+
jobs:
10+
smoke-bash:
11+
name: Smoke test Linux
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v6
16+
17+
- name: Setup .NET SDK
18+
uses: actions/setup-dotnet@v5
19+
with:
20+
dotnet-version: '10.0.x'
21+
22+
- name: Setup Node
23+
uses: actions/setup-node@v6
24+
with:
25+
node-version: 'lts/*'
26+
27+
- name: Run generator.sh
28+
run: |
29+
chmod +x ./generator.sh
30+
printf '%s\n' \
31+
/tmp/msa-smoke \
32+
AwesomeApp \
33+
default \
34+
rabbitmq.rabbitmq-system.svc \
35+
ferretdb.ferretdb-system.svc \
36+
istio-ingress \
37+
gateway \
38+
kube.local \
39+
| ./generator.sh
40+
41+
- name: Placeholder check
42+
run: |
43+
set -e
44+
! grep -r 'ApplicationName' /tmp/msa-smoke/awesome-app --exclude-dir=node_modules
45+
! grep -r 'applicationname' /tmp/msa-smoke/awesome-app --exclude-dir=node_modules
46+
! grep -r 'applicationname_snake' /tmp/msa-smoke/awesome-app --exclude-dir=node_modules
47+
48+
- name: Build api
49+
run: dotnet build /tmp/msa-smoke/awesome-app/src/api/Awesome.App.Api.sln
50+
51+
- name: Build worker
52+
run: dotnet build /tmp/msa-smoke/awesome-app/src/worker/Awesome.App.Worker.sln
53+
54+
- name: Build shared
55+
run: dotnet build /tmp/msa-smoke/awesome-app/src/shared/Awesome.App.Shared.sln
56+
57+
- name: Build web
58+
run: |
59+
cd /tmp/msa-smoke/awesome-app/src/web
60+
npm ci
61+
npm run build
62+
63+
- name: Run unit tests
64+
run: |
65+
dotnet test /tmp/msa-smoke/awesome-app/src/api/Awesome.App.Api.sln
66+
dotnet test /tmp/msa-smoke/awesome-app/src/worker/Awesome.App.Worker.sln
67+
68+
smoke-pwsh:
69+
name: Smoke test Windows
70+
runs-on: windows-latest
71+
steps:
72+
- name: Checkout
73+
uses: actions/checkout@v6
74+
75+
- name: Setup .NET SDK
76+
uses: actions/setup-dotnet@v5
77+
with:
78+
dotnet-version: '10.0.x'
79+
80+
- name: Setup Node
81+
uses: actions/setup-node@v6
82+
with:
83+
node-version: 'lts/*'
84+
85+
- name: Run generator.ps1
86+
shell: pwsh
87+
run: |
88+
@(
89+
'C:\msa-smoke',
90+
'AwesomeApp',
91+
'default',
92+
'rabbitmq.rabbitmq-system.svc',
93+
'ferretdb.ferretdb-system.svc',
94+
'istio-ingress',
95+
'gateway',
96+
'kube.local'
97+
) -join "`r`n" | Set-Content -Path inputs.txt -Encoding ascii
98+
cmd /c 'pwsh -NoProfile -NonInteractive -File .\generator.ps1 < inputs.txt'
99+
100+
- name: Placeholder check
101+
shell: pwsh
102+
run: |
103+
$files = Get-ChildItem -Path C:\msa-smoke\awesome-app -Recurse -File |
104+
Where-Object { $_.FullName -notmatch 'node_modules' }
105+
$hits = $files | Select-String -Pattern 'ApplicationName', 'applicationname', 'applicationname_snake'
106+
if ($hits) {
107+
$hits | ForEach-Object { Write-Host $_ }
108+
throw "Placeholder leak detected"
109+
}
110+
111+
- name: Build api
112+
shell: pwsh
113+
run: dotnet build C:\msa-smoke\awesome-app\src\api\Awesome.App.Api.sln
114+
115+
- name: Build worker
116+
shell: pwsh
117+
run: dotnet build C:\msa-smoke\awesome-app\src\worker\Awesome.App.Worker.sln
118+
119+
- name: Build shared
120+
shell: pwsh
121+
run: dotnet build C:\msa-smoke\awesome-app\src\shared\Awesome.App.Shared.sln
122+
123+
- name: Build web
124+
shell: pwsh
125+
run: |
126+
cd C:\msa-smoke\awesome-app\src\web
127+
npm ci
128+
npm run build
129+
130+
- name: Run unit tests
131+
shell: pwsh
132+
run: |
133+
dotnet test C:\msa-smoke\awesome-app\src\api\Awesome.App.Api.sln
134+
dotnet test C:\msa-smoke\awesome-app\src\worker\Awesome.App.Worker.sln

.github/workflows/pr.yml

Lines changed: 4 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
uses: actions/checkout@v4
1818

1919
- name: Test api
20-
run: dotnet test ./src/templates/api/ApplicationName.Api.sln
20+
run: dotnet test ./templates/api/ApplicationName.Api.sln
2121

2222
test-worker:
2323
if: github.event.pull_request.draft == false
@@ -30,7 +30,7 @@ jobs:
3030
uses: actions/checkout@v4
3131

3232
- name: Test worker
33-
run: dotnet test ./src/templates/worker/ApplicationName.Worker.sln
33+
run: dotnet test ./templates/worker/ApplicationName.Worker.sln
3434

3535
test-web:
3636
if: github.event.pull_request.draft == false
@@ -43,40 +43,13 @@ jobs:
4343

4444
- name: Install Dependencies
4545
run: |
46-
cd ./src/templates/web
46+
cd ./templates/web
4747
npm ci
4848
4949
# - name: Run Unit Tests
5050
# run: npm run test
5151

5252
- name: Build Application
5353
run: |
54-
cd ./src/templates/web
54+
cd ./templates/web
5555
npm run build
56-
57-
test-package:
58-
if: github.event.pull_request.draft == false
59-
name: Build package
60-
runs-on: [ubuntu-latest]
61-
needs: [test-api, test-worker, test-web]
62-
container:
63-
image: mcr.microsoft.com/dotnet/sdk:10.0-alpine
64-
options: --user 1001
65-
steps:
66-
- name: Checkout
67-
uses: actions/checkout@v4
68-
with:
69-
fetch-depth: 0
70-
71-
- name: Install GitVersion
72-
uses: gittools/actions/gitversion/setup@v4.5.0
73-
with:
74-
versionSpec: '6.7.x'
75-
preferLatestVersion: true
76-
77-
- name: Determine Version
78-
id: gitversion
79-
uses: gittools/actions/gitversion/execute@v4.5.0
80-
81-
- name: Build package
82-
run: dotnet pack ./src/MSA.Templates.sln -p:PackageVersion=${{ steps.gitversion.outputs.semVer }} -c Release

.github/workflows/release.yml

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ on:
55
branches:
66
- 'main'
77
paths:
8-
- 'src/**'
8+
- 'templates/**'
99
- 'k8s/**'
1010
- 'generator.sh'
1111
- 'generator.ps1'
@@ -17,7 +17,6 @@ jobs:
1717
runs-on: [ubuntu-latest]
1818
permissions:
1919
contents: write
20-
packages: write
2120

2221
steps:
2322
- name: Checkout
@@ -42,28 +41,30 @@ jobs:
4241

4342
- name: Run dotnet tests and coverage
4443
run: |-
45-
dotnet test ./src/templates/api/ApplicationName.Api.sln /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
46-
dotnet test ./src/templates/worker/ApplicationName.Worker.sln /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
47-
48-
- name: Create package
49-
run: dotnet pack ./src/MSA.Templates.csproj -p:PackageVersion=${{ steps.gitversion.outputs.semVer }} -c Release
44+
dotnet test ./templates/api/ApplicationName.Api.sln /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
45+
dotnet test ./templates/worker/ApplicationName.Worker.sln /p:CollectCoverage=true /p:CoverletOutputFormat=opencover
5046
5147
- name: Upload coverage reports to Codecov
5248
uses: codecov/codecov-action@v6
5349
with:
5450
token: ${{ secrets.CODECOV_TOKEN }}
5551

56-
- name: Prepare generator artifacts
52+
- name: Prepare release artifacts
5753
run: |-
54+
set -euo pipefail
55+
semver="${{ steps.gitversion.outputs.semVer }}"
5856
mkdir -p dist
59-
sed -i "s/GENERATOR_VERSION=\"develop\"/GENERATOR_VERSION=\"${{ steps.gitversion.outputs.semVer }}\"/" generator.sh
60-
sed -i "s/\$GeneratorVersion = \"develop\"/\$GeneratorVersion = \"${{ steps.gitversion.outputs.semVer }}\"/" generator.ps1
57+
sed -i "s/GENERATOR_VERSION=\"develop\"/GENERATOR_VERSION=\"${semver}\"/" generator.sh
58+
sed -i "s/\$GeneratorVersion = \"develop\"/\$GeneratorVersion = \"${semver}\"/" generator.ps1
6159
chmod +x generator.sh
62-
cp generator.sh generator.ps1 dist/
6360
64-
- name: Publish package
65-
run: |-
66-
dotnet nuget push ./artifacts/*${{ steps.gitversion.outputs.semVer }}.nupkg --api-key "${{ secrets.NUGET_APIKEY }}" --source https://api.nuget.org/v3/index.json --skip-duplicate
61+
staging="$(mktemp -d)/msa-templates"
62+
mkdir -p "$staging"
63+
cp generator.sh generator.ps1 "$staging/"
64+
cp -R templates k8s "$staging/"
65+
66+
cp generator.sh generator.ps1 dist/
67+
(cd "$(dirname "$staging")" && zip -qr "$GITHUB_WORKSPACE/dist/msa-templates-v${semver}.zip" msa-templates)
6768
6869
- name: Create release
6970
uses: ncipollo/release-action@v1
@@ -73,4 +74,4 @@ jobs:
7374
name: Release ${{ steps.gitversion.outputs.semVer }}
7475
generateReleaseNotes: true
7576
token: ${{ secrets.GITHUB_TOKEN }}
76-
artifacts: 'dist/generator.sh,dist/generator.ps1'
77+
artifacts: 'dist/generator.sh,dist/generator.ps1,dist/msa-templates-v*.zip'

0 commit comments

Comments
 (0)