Skip to content

Commit 6c0a20f

Browse files
author
Joanna May
authored
Merge pull request #34 from chickensoft-games/refactor/simplify
feat: logic blocks v5 (serialization, optional diagram generation, boxless input queing, allocation-free hot path, type registry, etc)
2 parents c8b79a5 + ebac6d8 commit 6c0a20f

File tree

180 files changed

+6455
-3473
lines changed

Some content is hidden

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

180 files changed

+6455
-3473
lines changed

.editorconfig

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -483,3 +483,10 @@ dotnet_diagnostic.RCS1158.severity = none
483483
dotnet_diagnostic.IDE0028.severity = none
484484
# You're wrong about redundant constructors.
485485
dotnet_diagnostic.RCS1074.severity = none
486+
# Allow me to nest ternary operators
487+
dotnet_diagnostic.RCS1238.severity = none
488+
# Leave me alone about equality comparers
489+
dotnet_diagnostic.RCS1241.severity = none
490+
# Leave me alone about "useless" overrides.
491+
dotnet_diagnostic.RCS1132.severity = none
492+

.github/workflows/publish.yaml

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

.github/workflows/release.yaml

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
name: "📦 Release"
2+
on:
3+
# Make a release whenever the developer wants.
4+
workflow_dispatch:
5+
inputs:
6+
bump:
7+
type: choice
8+
description: "version bump method: major, minor, or patch"
9+
required: true
10+
default: "patch"
11+
options:
12+
- major
13+
- minor
14+
- patch
15+
jobs:
16+
release:
17+
name: "📦 Release"
18+
runs-on: ubuntu-latest
19+
env:
20+
DOTNET_CLI_TELEMETRY_OPTOUT: true
21+
DOTNET_NOLOGO: true
22+
steps:
23+
- name: 🧾 Checkout
24+
uses: actions/checkout@v4
25+
with:
26+
token: ${{ secrets.GH_BASIC }}
27+
lfs: true
28+
submodules: "recursive"
29+
fetch-depth: 0 # So we can get all tags.
30+
31+
- name: 🔎 Read Current Project Version
32+
id: current-version
33+
uses: WyriHaximus/github-action-get-previous-tag@v1
34+
with:
35+
fallback: "0.0.0-devbuild"
36+
37+
- name: 🖨 Print Current Version
38+
run: |
39+
echo "Current Version: ${{ steps.current-version.outputs.tag }}"
40+
41+
- name: 🧮 Compute Next Version
42+
uses: chickensoft-games/next-godot-csproj-version@v1
43+
id: next-version
44+
with:
45+
project-version: ${{ steps.current-version.outputs.tag }}
46+
# This action was designed to pin versions to Godot versions, but
47+
# if you pass a stable version in it just bumps the project version
48+
# that you give it.
49+
godot-version: 1.0.0
50+
bump: ${{ inputs.bump }}
51+
52+
- uses: actions/setup-dotnet@v4
53+
name: 💽 Setup .NET SDK
54+
with:
55+
# Use the .NET SDK from global.json in the root of the repository.
56+
global-json-file: global.json
57+
58+
# Write version to file so .NET will build correct version.
59+
- name: 📝 Write Version to File
60+
uses: jacobtomlinson/gha-find-replace@v3
61+
with:
62+
find: "0.0.0-devbuild"
63+
replace: ${{ steps.next-version.outputs.version }}
64+
regex: false
65+
include: Chickensoft.LogicBlocks/Chickensoft.LogicBlocks.csproj
66+
67+
- name: 📝 Write Diagram Generator Version to File
68+
uses: jacobtomlinson/gha-find-replace@v3
69+
with:
70+
find: "0.0.0-devbuild"
71+
replace: ${{ steps.next-version.outputs.version }}
72+
regex: false
73+
include: Chickensoft.LogicBlocks.DiagramGenerator/Chickensoft.LogicBlocks.DiagramGenerator.csproj
74+
75+
- name: 📦 Build
76+
run: |
77+
dotnet build \
78+
Chickensoft.LogicBlocks/Chickensoft.LogicBlocks.csproj -c Release
79+
dotnet build \
80+
Chickensoft.LogicBlocks.DiagramGenerator/Chickensoft.LogicBlocks.DiagramGenerator.csproj -c Release
81+
82+
- name: 🔎 Get Package Path
83+
id: package-path
84+
run: |
85+
package=$(find Chickensoft.LogicBlocks/nupkg -type f -name "*.nupkg")
86+
echo "package=$package" >> "$GITHUB_OUTPUT"
87+
echo "📦 Found package: $package"
88+
89+
- name: 🔎 Get Generator Package Path
90+
id: gen-package-path
91+
run: |
92+
package=$(find Chickensoft.LogicBlocks.DiagramGenerator/nupkg -type f -name "*.nupkg")
93+
echo "package=$package" >> "$GITHUB_OUTPUT"
94+
echo "📦 Found generator package: $package"
95+
96+
# - name: ✨ Create Release
97+
# env:
98+
# GITHUB_TOKEN: ${{ secrets.GH_BASIC }}
99+
# run: |
100+
# version="${{ steps.next-version.outputs.version }}"
101+
# gh release create --title "v$version" --generate-notes "$version" \
102+
# "${{ steps.package-path.outputs.package }}" "${{ steps.gen-package-path.outputs.package }}"
103+
104+
# - name: 🛜 Publish to Nuget
105+
# run: |
106+
# dotnet nuget push "${{ steps.package-path.outputs.package }}" \
107+
# --api-key "${{ secrets.NUGET_API_KEY }}" \
108+
# --source "https://api.nuget.org/v3/index.json" --skip-duplicate
109+
110+
# dotnet nuget push "${{ steps.gen-package-path.outputs.package }}" \
111+
# --api-key "${{ secrets.NUGET_API_KEY }}" \
112+
# --source "https://api.nuget.org/v3/index.json" --skip-duplicate

.gitignore

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,17 @@ Chickensoft.LogicBlocks/nupkg/
22
Chickensoft.LogicBlocks.Generator/nupkg/
33

44
Chickensoft.LogicBlocks.Tests/coverage/*
5-
!Chickensoft.LogicBlocks.Tests/coverage/.gdignore
5+
Chickensoft.LogicBlocks.DiagramGenerator.Tests/coverage/*
6+
Chickensoft.Introspection.Generator.Tests/coverage/*
67

8+
nupkg/
79
.godot/
810
bin/
911
obj/
12+
coverage/
13+
nupkg/
1014
.generated/
1115
.vs/
1216
.DS_Store
1317
*.DotSettings.user
18+
*.binlog

.vscode/extensions.json

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
{
22
"recommendations": [
33
"ms-dotnettools.csharp",
4-
"selcukermaya.se-csproj-extensions",
54
"josefpihrt-vscode.roslynator",
65
"streetsidesoftware.code-spell-checker",
7-
"VisualStudioExptTeam.vscodeintellicode",
8-
"DavidAnson.vscode-markdownlint"
6+
"DavidAnson.vscode-markdownlint",
7+
"jebbs.plantuml"
8+
// Someday, when we switch to mermaid:
9+
// "bierner.markdown-mermaid",
10+
// "tomoyukim.vscode-mermaid-editor",
11+
// "bpruitt-goddard.mermaid-markdown-syntax-highlighting"
912
]
10-
}
13+
}

0 commit comments

Comments
 (0)