Skip to content

Commit d244bea

Browse files
committed
Initial commit
0 parents  commit d244bea

Some content is hidden

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

50 files changed

+4407
-0
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
---
2+
name: "Bug report \U0001F41E"
3+
about: Create a bug report
4+
labels: bug
5+
6+
---
7+
8+
## Describe the bug
9+
A clear and concise description of what the bug is.
10+
11+
### Steps to reproduce
12+
Steps to reproduce the behavior.
13+
14+
### Expected behavior
15+
A clear and concise description of what you expected to happen.
16+
17+
### Environment
18+
- OS: [e.g. Arch Linux]
19+
- Other details that you think may affect.
20+
21+
### Additional context
22+
Add any other context about the problem here.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
name: "Feature request \U0001F680"
3+
about: Suggest an idea
4+
labels: enhancement
5+
6+
---
7+
8+
## Summary
9+
Brief explanation of the feature.
10+
11+
### Basic example
12+
Include a basic example or links here.
13+
14+
### Motivation
15+
Why are we doing this? What use cases does it support? What is the expected outcome?

.github/version.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
mode: ContinuousDeployment
2+
branches:
3+
master:
4+
tag: beta
5+
hotfix:
6+
tag: useBranchName

.github/workflows/cd.yml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: Continuous Deployment
2+
3+
on:
4+
push:
5+
tags:
6+
- "*"
7+
8+
jobs:
9+
calculate-version:
10+
name: Calculate Version
11+
runs-on: ubuntu-latest
12+
outputs:
13+
semVer: ${{ steps.gitversion.outputs.semVer }}
14+
assemblySemVer: ${{ steps.gitversion.outputs.assemblySemVer }}
15+
16+
steps:
17+
- uses: actions/checkout@v4.1.7
18+
with:
19+
fetch-depth: 0
20+
21+
- name: Install GitVersion
22+
uses: gittools/actions/gitversion/setup@v1.2.0
23+
with:
24+
versionSpec: "5.x"
25+
26+
- name: Determine Version
27+
id: gitversion
28+
uses: gittools/actions/gitversion/execute@v1.2.0
29+
with:
30+
useConfigFile: true
31+
configFilePath: ./.github/version.yml
32+
33+
build:
34+
name: Build and Release
35+
runs-on: ubuntu-latest
36+
needs: calculate-version
37+
env:
38+
SEMVER: ${{ needs.calculate-version.outputs.semVer }}
39+
ZipName: SimpleLiveMap-${{ needs.calculate-version.outputs.semVer }}.zip
40+
ASSEMBLYSEMVER: ${{ needs.calculate-version.outputs.assemblySemVer }}
41+
42+
steps:
43+
- uses: actions/checkout@v4.1.7
44+
45+
- name: Restore dependencies
46+
run: dotnet restore src/LiveMap.sln
47+
48+
- name: Build the solution
49+
run: dotnet build -c Release -o build/slm/server /p:Version=${{env.ASSEMBLYSEMVER}} src/LiveMap.sln
50+
51+
- uses: pnpm/action-setup@v4
52+
name: Install pnpm
53+
with:
54+
version: 9.5.0
55+
run_install: false
56+
57+
- name: Install Node.js
58+
uses: actions/setup-node@v4
59+
with:
60+
node-version: 20
61+
cache: 'pnpm'
62+
cache-dependency-path: 'src/web/pnpm-lock.yaml'
63+
64+
- name: Install dependencies
65+
run: pnpm install
66+
working-directory: src/web
67+
68+
- name: Build web
69+
run: pnpm run build
70+
working-directory: src/web
71+
72+
- name: Copy web files to build dir
73+
run: mkdir build/slm/wwwroot && cp -a src/web/dist/. build/slm/wwwroot
74+
75+
- name: Copy config files to build dir
76+
run: cp -a config/. build/slm/
77+
78+
- name: Copy assets to build dir
79+
run: unzip -o assets/assets.zip -d build/slm/wwwroot/
80+
81+
- uses: vimtor/action-zip@v1.2
82+
with:
83+
files: build/
84+
dest: ${{ env.ZipName }}
85+
86+
- name: Create release
87+
id: create_release
88+
uses: actions/create-release@v1.1.4
89+
env:
90+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
91+
with:
92+
tag_name: ${{ env.SEMVER }}
93+
release_name: ${{ env.SEMVER }}
94+
draft: false
95+
prerelease: false
96+
97+
- name: Update release asset
98+
id: upload-release-asset
99+
uses: actions/upload-release-asset@v1.0.2
100+
env:
101+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
102+
with:
103+
upload_url: ${{ steps.create_release.outputs.upload_url }}
104+
asset_path: ${{ env.ZipName }}
105+
asset_name: ${{ env.ZipName }}
106+
asset_content_type: application/zip

.github/workflows/ci.yml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: Continuous Integration
2+
3+
on:
4+
push:
5+
branches:
6+
- "**"
7+
tags:
8+
- "v*.*.*"
9+
pull_request:
10+
branches:
11+
- "**"
12+
13+
jobs:
14+
calculate-version:
15+
name: Calculate Version
16+
runs-on: ubuntu-latest
17+
outputs:
18+
semVer: ${{ steps.gitversion.outputs.semVer }}
19+
assemblySemVer: ${{ steps.gitversion.outputs.assemblySemVer }}
20+
21+
steps:
22+
- uses: actions/checkout@v4.1.7
23+
with:
24+
fetch-depth: 0
25+
26+
- name: Install GitVersion
27+
uses: gittools/actions/gitversion/setup@v1.2.0
28+
with:
29+
versionSpec: "5.x"
30+
31+
- name: Determine Version
32+
id: gitversion
33+
uses: gittools/actions/gitversion/execute@v1.2.0
34+
with:
35+
useConfigFile: true
36+
configFilePath: ./.github/version.yml
37+
38+
build:
39+
runs-on: ubuntu-latest
40+
needs: calculate-version
41+
env:
42+
SEMVER: ${{ needs.calculate-version.outputs.semVer }}
43+
ASSEMBLYSEMVER: ${{ needs.calculate-version.outputs.assemblySemVer }}
44+
45+
steps:
46+
- uses: actions/checkout@v4.1.7
47+
48+
- name: Restore dependencies
49+
run: dotnet restore src/LiveMap.sln
50+
51+
- name: Build the solution
52+
run: dotnet build -c Release -o build/slm/server /p:Version=${{env.ASSEMBLYSEMVER}} src/LiveMap.sln
53+
54+
- uses: pnpm/action-setup@v4
55+
name: Install pnpm
56+
with:
57+
version: 9.5.0
58+
run_install: false
59+
60+
- name: Install Node.js
61+
uses: actions/setup-node@v4
62+
with:
63+
node-version: 20
64+
cache: 'pnpm'
65+
cache-dependency-path: 'src/web/pnpm-lock.yaml'
66+
67+
68+
- name: Install dependencies
69+
run: pnpm install
70+
working-directory: src/web
71+
72+
- name: Build web
73+
run: pnpm run build
74+
working-directory: src/web
75+
76+
- name: Copy web files to build dir
77+
run: mkdir build/slm/wwwroot && cp -a src/web/dist/. build/slm/wwwroot
78+
79+
- name: Copy assets to build dir
80+
run: unzip -o assets/assets.zip -d build/slm/wwwroot/
81+
82+
- name: Copy config files to build dir
83+
run: cp -a config/. build/slm/
84+
85+
- name: Attach Zip as build artifact
86+
uses: actions/upload-artifact@v4
87+
with:
88+
name: SimpleLiveMap-${{ env.SEMVER }}
89+
path: build

0 commit comments

Comments
 (0)