Skip to content

Commit be37983

Browse files
committed
Initial commit
0 parents  commit be37983

95 files changed

Lines changed: 7591 additions & 0 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.

.editorconfig

Lines changed: 463 additions & 0 deletions
Large diffs are not rendered by default.

.gitattributes

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
################################################################################
2+
### Default behavior
3+
### - Treat as text
4+
### - Normalize to Unix-style line endings
5+
################################################################################
6+
* text eol=lf
7+
8+
################################################################################
9+
### C# source file behavior
10+
### - Treat as text
11+
### - Normalize to Unix-style line endings
12+
### - Diff as csharp
13+
################################################################################
14+
*.cs text eol=lf diff=csharp
15+
16+
################################################################################
17+
### csproj file behavior
18+
### - Treat as text
19+
### - Normalize to Unix-style line endings
20+
### - Use a union merge when resolving conflicts
21+
################################################################################
22+
.csproj text eol=lf merge=union
23+
24+
################################################################################
25+
### sln file behavior
26+
### - Treat as text
27+
### - Normalize to Windows-style line endings
28+
### - Use a union merge when resolving conflicts
29+
################################################################################
30+
*.sln text eol=crlf merge=union
31+
32+
################################################################################
33+
### image file behavior
34+
### - Treat as binary
35+
################################################################################
36+
*.bmp binary
37+
*.gif binary
38+
*.ico binary
39+
*.jpg binary
40+
*.jpeg binary
41+
*.png binary
42+
*.webp binary
43+
44+
################################################################################
45+
### MGFXO file behavior
46+
### - Treat as binary
47+
################################################################################
48+
*.mgfxo binary
49+
50+
################################################################################
51+
### Font file behavior
52+
### - Treat as binary
53+
################################################################################
54+
*.ttf binary

.github/workflows/release.yml

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
################################################################################
2+
### Build Forme (Release)
3+
### Builds, tests, and packs the Forme source libraries.
4+
### Once the build job finishes, the deploy job uploads the nupkg files to NuGet.
5+
###
6+
### - Can be triggered manually with workflow_dispatch
7+
### - Allows specifying a branch (defaults to main)
8+
### - Version numbers are determined by the project properties on the branch
9+
################################################################################
10+
name: "Create Release"
11+
12+
on:
13+
workflow_dispatch:
14+
inputs:
15+
branch:
16+
description: 'Branch to build from (e.g., main, develop)'
17+
required: true
18+
type: string
19+
default: 'develop'
20+
21+
jobs:
22+
build:
23+
name: "Build Forme"
24+
runs-on: ubuntu-latest
25+
26+
steps:
27+
- name: Clone Repository
28+
uses: actions/checkout@v4
29+
with:
30+
ref: ${{ inputs.branch }}
31+
32+
- name: Setup Dotnet
33+
uses: actions/setup-dotnet@v4
34+
with:
35+
dotnet-version: 9.0.x
36+
37+
- name: Build Forme
38+
run: dotnet build src/Forme/Forme.csproj --nologo --verbosity minimal --configuration Release
39+
40+
- name: Build Forme.MonoGame
41+
run: dotnet build src/Forme.MonoGame/Forme.MonoGame.csproj --nologo --verbosity minimal --configuration Release
42+
43+
- name: Build Forme.MonoGame.Content.Pipeline
44+
run: dotnet build src/Forme.MonoGame.Content.Pipeline/Forme.MonoGame.Content.Pipeline.csproj --nologo --verbosity minimal --configuration Release
45+
46+
- name: Test Forme
47+
run: dotnet test tests/Forme.Tests/Forme.Tests.csproj --nologo --verbosity minimal --configuration Release
48+
49+
- name: Test Forme.Content.Pipeline
50+
run: dotnet test tests/Forme.Content.Pipeline.Tests/Forme.Content.Pipeline.Tests.csproj --nologo --verbosity minimal --configuration Release
51+
52+
- name: Pack Forme
53+
run: dotnet pack src/Forme/Forme.csproj --nologo --verbosity minimal --configuration Release
54+
55+
- name: Pack Forme.MonoGame
56+
run: dotnet pack src/Forme.MonoGame/Forme.MonoGame.csproj --nologo --verbosity minimal --configuration Release
57+
58+
- name: Pack Forme.MonoGame.Content.Pipeline
59+
run: dotnet pack src/Forme.MonoGame.Content.Pipeline/Forme.MonoGame.Content.Pipeline.csproj --nologo --verbosity minimal --configuration Release
60+
61+
- name: Upload Artifacts
62+
uses: actions/upload-artifact@v4
63+
with:
64+
name: build-artifacts
65+
path: ./.artifacts/src/**/*.nupkg
66+
67+
deploy:
68+
name: "Deploy NuGets"
69+
runs-on: ubuntu-latest
70+
needs: [ build ]
71+
permissions:
72+
contents: write
73+
74+
steps:
75+
- name: Download Artifacts
76+
uses: actions/download-artifact@v4
77+
with:
78+
name: build-artifacts
79+
path: ./.artifacts
80+
81+
- name: Push Packages to NuGet
82+
env:
83+
NUGET_API_KEY: ${{ secrets.NUGET_ACCESS_TOKEN }}
84+
run: |
85+
for PACKAGE in .artifacts/**/*.nupkg; do
86+
dotnet nuget push "$PACKAGE" --source https://api.nuget.org/v3/index.json --skip-duplicate --api-key "$NUGET_API_KEY"
87+
done

.gitignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
################################################################################
2+
### IDE Generated directories
3+
################################################################################
4+
.vs/
5+
.vscode/
6+
.idea/
7+
8+
################################################################################
9+
### User specific files that can be generated by Visual Studio
10+
################################################################################
11+
*.suo
12+
*.user
13+
14+
################################################################################
15+
### Build and Intermediate directories
16+
################################################################################
17+
[Bb]in/
18+
[Oo]bj/
19+
20+
################################################################################
21+
### Build artifacts
22+
################################################################################
23+
.artifacts/
24+
25+
################################################################################
26+
### OS specific auto generated files
27+
################################################################################
28+
.DS_Store
29+
[Tt]humbs.db

0 commit comments

Comments
 (0)