Skip to content

Commit

Permalink
feat: initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
jolexxa committed Dec 30, 2024
0 parents commit d81a437
Show file tree
Hide file tree
Showing 58 changed files with 136,171 additions and 0 deletions.
467 changes: 467 additions & 0 deletions .editorconfig

Large diffs are not rendered by default.

43 changes: 43 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Normalize EOL for all files that Git considers text files.
* text=auto eol=lf

# Image formats
*.bmp filter=lfs diff=lfs merge=lfs -text
*.dds filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text
*.webp filter=lfs diff=lfs merge=lfs -text

# Audio and Video formats
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.ogx filter=lfs diff=lfs merge=lfs -text
*.ogv filter=lfs diff=lfs merge=lfs -text

# 3D formats
*.gltf filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.blend1 filter=lfs diff=lfs merge=lfs -text
*.glb filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text

# Build
*.dll filter=lfs diff=lfs merge=lfs -text
*.dylib filter=lfs diff=lfs merge=lfs -text
*.so filter=lfs diff=lfs merge=lfs -text

# Packaging
*.zip filter=lfs diff=lfs merge=lfs -text
*.7z filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.file filter=lfs diff=lfs merge=lfs -text
*.dylib filter=lfs diff=lfs merge=lfs -text
197 changes: 197 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,197 @@
name: "📦 Release"
on:
# Make a release whenever the developer wants.
workflow_dispatch:
inputs:
bump:
type: choice
description: "version bump method: major, minor, or patch"
required: true
default: "patch"
options:
- major
- minor
- patch

jobs:
build-macos:
runs-on: macos-latest
steps:
- name: 🧾 Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_BASIC }}
lfs: true
submodules: "recursive"
fetch-depth: 0 # So we can get all tags.

- uses: actions/setup-dotnet@v4
name: 💽 Setup .NET SDK
with:
# Use the .NET SDK from global.json in the root of the repository.
global-json-file: global.json

- name: 🌍 Install dependencies
run: dotnet restore

- name: 📦 Build for macOS
run: |
chmod +x ./build.sh
./build.sh macos
- name: ⬆️ Upload macOS artifacts
uses: actions/upload-artifact@v4
with:
name: macos-artifacts
path: ./addons/platform/builds/macos

build-windows:
runs-on: windows-latest
steps:
- name: 🧾 Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_BASIC }}
lfs: true
submodules: "recursive"
fetch-depth: 0 # So we can get all tags.

- uses: actions/setup-dotnet@v4
name: 💽 Setup .NET SDK
with:
# Use the .NET SDK from global.json in the root of the repository.
global-json-file: global.json

- name: 🌍 Install dependencies
run: dotnet restore

- name: 📦 Build for Windows
run: |
chmod +x ./build.sh
./build.sh windows
- name: ⬆️ Upload Windows artifacts
uses: actions/upload-artifact@v4
with:
name: windows-artifacts
path: ./addons/platform/builds/windows

build-linux:
runs-on: ubuntu-latest
steps:
- name: 🧾 Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_BASIC }}
lfs: true
submodules: "recursive"
fetch-depth: 0 # So we can get all tags.

- uses: actions/setup-dotnet@v4
name: 💽 Setup .NET SDK
with:
# Use the .NET SDK from global.json in the root of the repository.
global-json-file: global.json

- name: 🌍 Install dependencies
run: dotnet restore

- name: 📦 Build for Linux
run: |
chmod +x ./build.sh
./build.sh linux
- name: ⬆️ Upload Linux artifacts
uses: actions/upload-artifact@v4
with:
name: linux-artifacts
path: ./addons/platform/builds/linux

consolidate-artifacts:
runs-on: ubuntu-latest
needs:
- build-macos
- build-windows
- build-linux
steps:
- name: 🧾 Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_BASIC }}
lfs: true
submodules: "recursive"
fetch-depth: 0 # So we can get all tags.

- name: Download macOS artifacts
uses: actions/download-artifact@v4
with:
name: macos-artifacts
path: ./addons/platform/builds/macos

- name: Download Windows artifacts
uses: actions/download-artifact@v4
with:
name: windows-artifacts
path: ./addons/platform/builds/windows

- name: Download Linux artifacts
uses: actions/download-artifact@v4
with:
name: linux-artifacts
path: ./addons/platform/builds/linux

- name: Upload consolidated artifact
uses: actions/upload-artifact@v4
with:
name: platform
path: ./addons/platform

create-release:
runs-on: ubuntu-latest
needs: consolidate-artifacts
steps:
- name: 🧾 Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.GH_BASIC }}
lfs: true
submodules: "recursive"
fetch-depth: 0 # So we can get all tags.

- name: 🔎 Read Current Project Version
id: current-version
uses: WyriHaximus/github-action-get-previous-tag@v1
with:
fallback: "0.0.0-devbuild"

- name: 🖨 Print Current Version
run: |
echo "Current Version: ${{ steps.current-version.outputs.tag }}"
- name: 🧮 Compute Next Version
uses: chickensoft-games/next-godot-csproj-version@v1
id: next-version
with:
project-version: ${{ steps.current-version.outputs.tag }}
# This action was designed to pin versions to Godot versions, but
# if you pass a stable version in it just bumps the project version
# that you give it.
godot-version: 1.0.0
bump: ${{ inputs.bump }}

- name: Download consolidated artifact
uses: actions/download-artifact@v4
with:
name: platform
path: ./platform

- name: ✨ Create Release
env:
GITHUB_TOKEN: ${{ secrets.GH_BASIC }}
run: |
zip -r ./platform.zip ./platform
version="${{ steps.next-version.outputs.version }}"
gh release create --title "v$version" --generate-notes "$version" \
./platform.zip
26 changes: 26 additions & 0 deletions .github/workflows/spellcheck.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: '🧑‍🏫 Spellcheck'
on:
push:
pull_request:

jobs:
spellcheck:
name: '🧑‍🏫 Spellcheck'
# Only run the workflow if it's not a PR or if it's a PR from a fork.
# This prevents duplicate workflows from running on PR's that originate
# from the repository itself.
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
runs-on: ubuntu-latest
defaults:
run:
working-directory: '.'
steps:
- uses: actions/checkout@v4
name: 🧾 Checkout

- uses: streetsidesoftware/cspell-action@v6
name: 📝 Check Spelling
with:
config: './cspell.json'
incremental_files_only: false
root: '.'
15 changes: 15 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
nupkg/
/build/

coverage/*
!coverage/.gdignore

.godot/
bin/
obj/
.generated/
.vs/
.DS_Store

*.translation
~*.*
15 changes: 15 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"recommendations": [
"alfish.godot-files",
"christian-kohler.path-intellisense",
"DavidAnson.vscode-markdownlint",
"EditorConfig.EditorConfig",
"gurumukhi.selected-lines-count",
"jjkim.gdscript",
"josefpihrt-vscode.roslynator",
"ms-dotnettools.csharp",
"selcukermaya.se-csproj-extensions",
"streetsidesoftware.code-spell-checker",
"VisualStudioExptTeam.vscodeintellicode"
]
}
62 changes: 62 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{
"version": "0.2.0",
"configurations": [
// For these launch configurations to work, you need to setup a GODOT
// environment variable. On mac or linux, this can be done by adding
// the following to your .zshrc, .bashrc, or .bash_profile file:
// export GODOT="/Applications/Godot.app/Contents/MacOS/Godot"
{
"name": "🕹 Debug Game",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${env:GODOT}",
"args": [],
"cwd": "${workspaceFolder}/sandbox/Chickensoft.Platform.Sandbox",
"stopAtEntry": false,
"console": "integratedTerminal"
},
{
"name": "🕹 Debug Game (VSCodium)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "",
"internalConsoleOptions": "openOnSessionStart",
"pipeTransport": {
"debuggerPath": "${extensionInstallFolder:muhammad-sammy.csharp}/.debugger/netcoredbg/netcoredbg",
"pipeCwd": "${workspaceFolder}/sandbox/Chickensoft.Platform.Sandbox",
"pipeProgram": "${env:GODOT}",
"pipeArgs": [
"--debug"
]
},
"osx": {
"pipeTransport": {
// netcoredbg for Apple Silicon isn't included with the VSCodium C#
// extension. You must clone it, build it, and setup the path to it.
// You'll need homebrew, cmake, and clang installed.
//
// --------------------------------------------------------------- //
//
// git clone https://github.com/Samsung/netcoredbg.git
// cd netcoredbg
// mkdir build
// cd build
// CC=clang CXX=clang++ cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../bin
//
// In your ~/.zshrc file, add the following line and adjust the path:
//
// export NETCOREDBG="/path/to/netcoredbg/bin/netcoredbg"
//
"debuggerPath": "${env:NETCOREDBG}",
"pipeCwd": "${workspaceFolder}/sandbox/Chickensoft.Platform.Sandbox",
"pipeProgram": "${env:GODOT}",
"pipeArgs": [
"--debug"
]
}
},
}
]
}
Loading

0 comments on commit d81a437

Please sign in to comment.