Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
* text=auto eol=lf

# Windows specific stuff
*.sln text eol=crlf
*.vcxproj text eol=crlf
*.vcxproj.filters text eol=crlf
*.props text eol=crlf
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf
*.rc text eol=crlf
# Keep it CRLF for the windows installer
LICENSE.txt text eol=crlf

loader/include/Geode/cocos/** linguist-vendored
loader/include/Geode/external/** linguist-vendored
loader/include/Geode/fmod/** linguist-vendored
Expand Down
66 changes: 33 additions & 33 deletions .github/actions/build-debug-info-post/action.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,33 @@
name: Prepare for Build Debug Info
description: Provides debug info for the build process
inputs:
target:
description: 'Target platform: win, mac, android32 or android64'
required: true
runs:
using: "composite"
steps:
- name: Preprocess
shell: bash
run: |
mkdir build-debug-info-preprocessed
cd build
sed 's/\\\\/\//g' compile_commands.json | sed 's/D:\//\/d\//' > uni_compile_commands.json
pip install compile-commands --break-system-packages
compile-commands --file=uni_compile_commands.json --filter_files='.*info\.rc.*' --filter='(.*) -o (.*)((?:/|\\).*)\.(?:obj|o) -c (.*)' --replacement="$BASH"' --noprofile --norc -c "mkdir -p ../build-debug-info-preprocessed/\g<2> && \g<1> -o ../build-debug-info-preprocessed/\g<2>\g<3>.i -E \g<4>"' -o ../build-debug-info/preprocess_commands.json --run --verbose
- name: Upload Build Debug Info
uses: actions/upload-artifact@v4
with:
name: geode-build-debug-info-${{ inputs.target }}
path: ./build-debug-info/*
if: success() || failure()
- name: Upload Preprocessed Files
uses: actions/upload-artifact@v4
with:
name: geode-build-debug-info-preprocessed-${{ inputs.target }}
path: ./build-debug-info-preprocessed/*
if: success() || failure()
name: Prepare for Build Debug Info
description: Provides debug info for the build process

inputs:
target:
description: 'Target platform: win, mac, android32 or android64'
required: true

runs:
using: "composite"
steps:
- name: Preprocess
shell: bash
run: |
mkdir build-debug-info-preprocessed
cd build
sed 's/\\\\/\//g' compile_commands.json | sed 's/D:\//\/d\//' > uni_compile_commands.json
pip install compile-commands --break-system-packages
compile-commands --file=uni_compile_commands.json --filter_files='.*info\.rc.*' --filter='(.*) -o (.*)((?:/|\\).*)\.(?:obj|o) -c (.*)' --replacement="$BASH"' --noprofile --norc -c "mkdir -p ../build-debug-info-preprocessed/\g<2> && \g<1> -o ../build-debug-info-preprocessed/\g<2>\g<3>.i -E \g<4>"' -o ../build-debug-info/preprocess_commands.json --run --verbose

- name: Upload Build Debug Info
uses: actions/upload-artifact@v4
with:
name: geode-build-debug-info-${{ inputs.target }}
path: ./build-debug-info/*
if: success() || failure()

- name: Upload Preprocessed Files
uses: actions/upload-artifact@v4
with:
name: geode-build-debug-info-preprocessed-${{ inputs.target }}
path: ./build-debug-info-preprocessed/*
if: success() || failure()
72 changes: 36 additions & 36 deletions .github/actions/build-debug-info/action.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
name: Prepare for Build Debug Info
description: Provides debug info for the build process
inputs:
has-sccache:
description: 'Whether the build action has sccache'
required: true
outputs:
extra-configure:
description: 'Extra stuff for CMake configure step'
value: |
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cp ./build/compile_commands.json ./build-debug-info/
extra-build:
description: 'Extra stuff for CMake build step'
value: |
python3 ./ninjatracing/ninjatracing ./build/.ninja_log > ./build-debug-info/ninja-trace.json
${{ inputs.has-sccache && 'sccache --show-adv-stats' || '' }}
runs:
using: "composite"
steps:
- name: Prepare
shell: bash
run: |
mkdir ./build-debug-info
echo "SCCACHE_ERROR_LOG=$GITHUB_WORKSPACE/build-debug-info/sccache-log.txt" >> $GITHUB_ENV
echo "SCCACHE_LOG=debug" >> $GITHUB_ENV
echo "RUST_BACKTRACE=1" >> $GITHUB_ENV
- name: Checkout ninjatracing
uses: actions/checkout@v4
with:
repository: 'nico/ninjatracing'
path: ninjatracing
submodules: recursive
name: Prepare for Build Debug Info
description: Provides debug info for the build process

inputs:
has-sccache:
description: 'Whether the build action has sccache'
required: true
outputs:
extra-configure:
description: 'Extra stuff for CMake configure step'
value: |
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON
cp ./build/compile_commands.json ./build-debug-info/
extra-build:
description: 'Extra stuff for CMake build step'
value: |
python3 ./ninjatracing/ninjatracing ./build/.ninja_log > ./build-debug-info/ninja-trace.json
${{ inputs.has-sccache && 'sccache --show-adv-stats' || '' }}

runs:
using: "composite"
steps:
- name: Prepare
shell: bash
run: |
mkdir ./build-debug-info
echo "SCCACHE_ERROR_LOG=$GITHUB_WORKSPACE/build-debug-info/sccache-log.txt" >> $GITHUB_ENV
echo "SCCACHE_LOG=debug" >> $GITHUB_ENV
echo "RUST_BACKTRACE=1" >> $GITHUB_ENV

- name: Checkout ninjatracing
uses: actions/checkout@v4
with:
repository: 'nico/ninjatracing'
path: ninjatracing
submodules: recursive
116 changes: 58 additions & 58 deletions .github/actions/setup-cache/action.yml
Original file line number Diff line number Diff line change
@@ -1,58 +1,58 @@
name: Setup cache
description: Sets up sccache, CPM cache, etc.
inputs:
host:
description: 'Host platform: win, mac or linux'
required: true
target:
description: 'Target platform: win, mac, android32 or android64'
required: true
use-ccache:
description: 'Whether to use ccache/sccache'
required: true
runs:
using: "composite"
steps:
# https://github.com/mozilla/sccache/issues/2090
- name: Download custom sccache
uses: robinraju/release-downloader@v1.10
with:
repository: cgytrus/sccache
latest: true
fileName: 'sccache-*-x86_64-apple-darwin.zip'
tarBall: false
zipBall: false
out-file-path: "epic-sccache"
if: inputs.host == 'mac' && inputs.use-ccache
- name: Setup custom sccache
shell: bash
run: |
7z x "epic-sccache/sccache-*-x86_64-apple-darwin.zip" -o"epic-sccache"
echo "$GITHUB_WORKSPACE/epic-sccache" >> $GITHUB_PATH
chmod +x "epic-sccache/sccache"
if: inputs.host == 'mac' && inputs.use-ccache
- name: Setup sccache
uses: hendrikmuhs/ccache-action@v1.2.22
with:
variant: sccache
key: ${{ inputs.target }}-v1
if: inputs.use-ccache
- name: Setup CPM Cache
uses: actions/cache@v5.0.4
with:
path: cpm-cache
key: cpm-${{ inputs.target }}-v1-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
cpm-${{ inputs.target }}-v1-
- name: Setup info.rc Cache
uses: actions/cache@v5.0.4
with:
path: build/**/info.rc*
key: rc-${{ inputs.target }}-v1-${{ hashFiles('VERSION', 'loader/CMakeLists.txt', 'loader/src/platform/windows/info.rc.in') }}
if: inputs.target == 'win'
name: Setup cache
description: Sets up sccache, CPM cache, etc.

inputs:
host:
description: 'Host platform: win, mac or linux'
required: true
target:
description: 'Target platform: win, mac, android32 or android64'
required: true
use-ccache:
description: 'Whether to use ccache/sccache'
required: true

runs:
using: "composite"
steps:
# https://github.com/mozilla/sccache/issues/2090
- name: Download custom sccache
uses: robinraju/release-downloader@v1.10
with:
repository: cgytrus/sccache
latest: true
fileName: 'sccache-*-x86_64-apple-darwin.zip'
tarBall: false
zipBall: false
out-file-path: "epic-sccache"
if: inputs.host == 'mac' && inputs.use-ccache

- name: Setup custom sccache
shell: bash
run: |
7z x "epic-sccache/sccache-*-x86_64-apple-darwin.zip" -o"epic-sccache"
echo "$GITHUB_WORKSPACE/epic-sccache" >> $GITHUB_PATH
chmod +x "epic-sccache/sccache"
if: inputs.host == 'mac' && inputs.use-ccache

- name: Setup sccache
uses: hendrikmuhs/ccache-action@v1.2.22
with:
variant: sccache
key: ${{ inputs.target }}-v1
if: inputs.use-ccache

- name: Setup CPM Cache
uses: actions/cache@v5.0.4
with:
path: cpm-cache
key: cpm-${{ inputs.target }}-v1-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
cpm-${{ inputs.target }}-v1-

- name: Setup info.rc Cache
uses: actions/cache@v5.0.4
with:
path: build/**/info.rc*
key: rc-${{ inputs.target }}-v1-${{ hashFiles('VERSION', 'loader/CMakeLists.txt', 'loader/src/platform/windows/info.rc.in') }}
if: inputs.target == 'win'
34 changes: 17 additions & 17 deletions .github/actions/setup-ninja/action.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
name: Setup Ninja
description: Sets up Ninja
inputs:
host:
description: 'Host platform: win, mac or linux'
required: true
runs:
using: "composite"
steps:
- name: Setup
shell: bash
run: |
curl -L https://github.com/ninja-build/ninja/releases/latest/download/ninja-${{ inputs.host }}.zip -o ninja.zip
7z x ninja.zip -o"$GITHUB_WORKSPACE/ninja"
echo "$GITHUB_WORKSPACE/ninja" >> $GITHUB_PATH
name: Setup Ninja
description: Sets up Ninja

inputs:
host:
description: 'Host platform: win, mac or linux'
required: true

runs:
using: "composite"
steps:
- name: Setup
shell: bash
run: |
curl -L https://github.com/ninja-build/ninja/releases/latest/download/ninja-${{ inputs.host }}.zip -o ninja.zip
7z x ninja.zip -o"$GITHUB_WORKSPACE/ninja"
echo "$GITHUB_WORKSPACE/ninja" >> $GITHUB_PATH
52 changes: 26 additions & 26 deletions .github/workflows/check-changelog.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
# check the changelog for non ascii characters
name: Check CHANGELOG.md
on:
push:
paths:
- 'CHANGELOG.md'
pull_request:
paths:
- 'CHANGELOG.md'
jobs:
check:
name: Check CHANGELOG.md
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- run: |
if grep -q -P -n "[\x80-\xFF]" CHANGELOG.md
then
exit 1;
fi
# check the changelog for non ascii characters
name: Check CHANGELOG.md

on:
push:
paths:
- 'CHANGELOG.md'
pull_request:
paths:
- 'CHANGELOG.md'

jobs:
check:
name: Check CHANGELOG.md
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive

- run: |
if grep -q -P -n "[\x80-\xFF]" CHANGELOG.md
then
exit 1;
fi
Loading
Loading