diff --git a/11_vsekai_game/.github/README.fire.md b/.github/README.fire.md similarity index 100% rename from 11_vsekai_game/.github/README.fire.md rename to .github/README.fire.md diff --git a/.github/actions/godot-build/action.yml b/.github/actions/godot-build/action.yml index 0bddf911b..8cc2fc5f8 100644 --- a/.github/actions/godot-build/action.yml +++ b/.github/actions/godot-build/action.yml @@ -48,17 +48,14 @@ runs: mkdir -p bin modules/mono/glue cd godot if [[ "${{ inputs.deploy }}" == "true" ]]; then - PLATFORM=${{ inputs.deploy-platform }} - TARGET=${{ inputs.deploy-platform-target }} - ARCH=${{ inputs.deploy-arch }} + export PLATFORM=${{ inputs.deploy-platform }} + export TARGET=${{ inputs.deploy-platform-target }} + export ARCH=${{ inputs.deploy-arch }} else - PLATFORM=${{ inputs.platform }} - TARGET=${{ inputs.target }} - ARCH=${{ inputs.build-arch }} + export PLATFORM=${{ inputs.platform }} + export TARGET=${{ inputs.target }} + export ARCH=${{ inputs.build-arch }} fi echo "Building with flags:" platform=$PLATFORM target=$TARGET tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }} if [ "$TARGET" != "editor" ]; then rm -rf editor; fi # Ensure we don't include editor code. - scons platform=$PLATFORM target=$TARGET arch=$ARCH tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }} - cp -r bin/* ../bin - cp -r modules/mono/glue/* ../modules/mono/glue - ls -l ../bin + scons platform=$PLATFORM target=$TARGET tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }} arch=$ARCH diff --git a/11_vsekai_game/.github/copyright_headers.py b/.github/copyright_headers.py similarity index 100% rename from 11_vsekai_game/.github/copyright_headers.py rename to .github/copyright_headers.py diff --git a/11_vsekai_game/.github/dependabot.yml b/.github/dependabot.yml similarity index 100% rename from 11_vsekai_game/.github/dependabot.yml rename to .github/dependabot.yml diff --git a/11_vsekai_game/.github/format.sh b/.github/format.sh similarity index 100% rename from 11_vsekai_game/.github/format.sh rename to .github/format.sh diff --git a/11_vsekai_game/.github/gd_format.bat b/.github/gd_format.bat similarity index 100% rename from 11_vsekai_game/.github/gd_format.bat rename to .github/gd_format.bat diff --git a/11_vsekai_game/.github/gd_format.sh b/.github/gd_format.sh similarity index 100% rename from 11_vsekai_game/.github/gd_format.sh rename to .github/gd_format.sh diff --git a/11_vsekai_game/.github/release_update.sh b/.github/release_update.sh similarity index 100% rename from 11_vsekai_game/.github/release_update.sh rename to .github/release_update.sh diff --git a/11_vsekai_game/.github/staging_update.sh b/.github/staging_update.sh similarity index 100% rename from 11_vsekai_game/.github/staging_update.sh rename to .github/staging_update.sh diff --git a/.github/workflows/build.yml b/.github/workflows/builds.yml similarity index 91% rename from .github/workflows/build.yml rename to .github/workflows/builds.yml index b535cfe18..d872bc0b6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/builds.yml @@ -7,6 +7,8 @@ on: pull_request: branches: - "**" + tags: + - "*" concurrency: group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-deploy @@ -15,7 +17,7 @@ concurrency: env: GAME_NAME: vsekai_game_ GODOT_REF: groups-4.3.2024-06-19T122756Z - VSK_GAME_BRANCH: 7ebac31f495b952d659bff42dcbea7234e27fc1d + VSK_GAME_BRANCH: eb6d5cdb2f2196abed5aebbfbf936dbbe1a97a72 GODOT_REPOSITORY: v-sekai/godot SCONSFLAGS: verbose=yes warnings=extra werror=no module_text_server_fb_enabled=yes use_thinlto=yes DOTNET_NOLOGO: true @@ -95,49 +97,21 @@ jobs: arch: _arm64 deploy-platform-target: editor - # - name: linux_editor_android_arm32_deploy - # runs-on: ubuntu-22.04 - # cache-name: linux-editor-deploy-android-editor - # target: editor - # tests: false - # sconsflags: linker=gold precision=double - # doc-test: false - # bin: ./godot/bin/godot.linuxbsd.editor.double.arm64 - # deploy-bin: ./godot/bin/libgodot.android.editor.double.arm64.so - # editor-bin-name: godot.linuxbsd.editor.double.arm64 - # proj-conv: false - # artifact: true - # platform: linuxbsd - # deploy: false - # deploy-pdb: true - # deploy-platform: android - # export-platform: Android - # build-arch: arm64 - # deploy-arch: arm32 - # arch: _arm32 - # deploy-platform-target: editor - - # - name: linux_editor_android_arm64_deploy - # runs-on: ubuntu-22.04 - # cache-name: linux-editor-deploy-android-editor - # target: editor - # tests: false - # sconsflags: linker=gold precision=double - # doc-test: false - # bin: ./godot/bin/godot.linuxbsd.editor.double.arm64 - # deploy-bin: ./godot/bin/libgodot.android.editor.double.arm32.so - # editor-bin-name: godot.linuxbsd.editor.double.arm64 - # proj-conv: false - # artifact: true - # platform: linuxbsd - # deploy: true - # deploy-pdb: true - # deploy-platform: android - # export-platform: Android - # build-arch: arm32 - # deploy-arch: arm64 - # arch: _arm64 - # deploy-platform-target: editor + - name: linux_editor_android_arm64_deploy + runs-on: ubuntu-22.04 + cache-name: linux-editor-deploy-android-editor + target: editor + tests: false + sconsflags: linker=gold precision=double + doc-test: false + bin: ./godot/bin/libgodot.android.editor.double.arm32.so + editor-bin-name: libgodot.android.editor.double.arm32.so + proj-conv: false + artifact: true + platform: android + deploy: false + build-arch: arm64 + arch: _arm64 - name: linux_editor_web_deploy runs-on: ubuntu-22.04 @@ -165,11 +139,15 @@ jobs: with: egress-policy: audit + - name: Checkout code + uses: actions/checkout@v2 + - name: Checkout code uses: actions/checkout@v2 with: repository: V-Sekai/v-sekai-game ref: ${{ env.VSK_GAME_BRANCH }} + path: game - name: Linux dependencies for gold linker if: ${{ matrix.platform == 'linux' }} @@ -211,7 +189,7 @@ jobs: emcc -v shell: bash - - name: Setup python, scons and golang + - name: Setup godot, python, scons and golang uses: ./.github/actions/godot-deps with: godot-ref: ${{ env.GODOT_REF }} @@ -233,7 +211,9 @@ jobs: platform: ${{ matrix.platform }} target: ${{ matrix.target }} tests: ${{ matrix.tests }} + build-arch: ${{ matrix.build-arch }} deploy: ${{ matrix.deploy }} + deploy-arch: ${{ matrix.deploy-arch }} deploy-platform: ${{ matrix.deploy-platform }} deploy-platform-target: ${{ matrix.deploy-platform-target }} @@ -244,11 +224,42 @@ jobs: sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }} platform: ${{ matrix.platform }} target: ${{ matrix.target }} + build-arch: ${{ matrix.build-arch }} tests: false deploy: false + deploy-arch: ${{ matrix.deploy-arch }} deploy-platform: ${{ matrix.platform }} deploy-platform-target: ${{ matrix.target }} + - name: Compilation + if: ${{ matrix.deploy-platform == 'android' && matrix.build-arch == 'arm64' }} + uses: ./.github/actions/godot-build + with: + sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }} + platform: ${{ matrix.platform }} + target: ${{ matrix.target }} + build-arch: ${{ matrix.build-arch }} + tests: false + deploy: false + + - name: Generate APK + if: ${{ matrix.deploy-platform == 'android' && matrix.build-arch == 'arm64' }} + run: | + cd godot/platform/android/java + ./gradlew generateGodotTemplates + + - name: Upload APK + uses: actions/upload-artifact@v2 + if: ${{ matrix.deploy-platform == 'android' && matrix.build-arch == 'arm64' }} + with: + name: android_release_apk + path: godot/bin/android_release.apk + + - name: Remove godot engine directory + shell: bash + run: | + rm -rf godot + - name: Generate build constants uses: ./.github/actions/vsk-generate-constants @@ -257,7 +268,7 @@ jobs: run: | mkdir -p .godot/editor .godot/imported export_${{ matrix.deploy-platform }} chmod +x ${{ matrix.bin }} - ${{ matrix.bin }} --headless --xr-mode off --export-pack ${{ matrix.export-platform }} `pwd`/${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck --path . || true + ${{ matrix.bin }} --headless --xr-mode off --export-pack ${{ matrix.export-platform }} `pwd`/${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck --path game || true timeout-minutes: 20 shell: bash diff --git a/11_vsekai_game/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml similarity index 100% rename from 11_vsekai_game/.github/workflows/dependency-review.yml rename to .github/workflows/dependency-review.yml diff --git a/11_vsekai_game/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml similarity index 100% rename from 11_vsekai_game/.github/workflows/scorecards.yml rename to .github/workflows/scorecards.yml diff --git a/11_vsekai_game/.github/ISSUE_TEMPLATE/bug_report.yml b/11_vsekai_game/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index dc6fc5af8..000000000 --- a/11_vsekai_game/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,57 +0,0 @@ -name: Bug report -description: Report a bug in V-Sekai -labels: [bug] -body: -- type: markdown - attributes: - value: | - - Write a descriptive issue title above. - -- type: textarea - attributes: - label: Issue description - description: | - You can include images or videos with drag and drop, and format code blocks or logs with ``` tags. - validations: - required: true - -- type: textarea - attributes: - label: Steps to reproduce - description: | - List of steps or sample code that reproduces the issue. Having reproducible issues is a prerequisite for contributors to be able to solve them. - If you include a minimal reproduction project below, you can detail how to use it here. - validations: - required: true - -- type: textarea - attributes: - label: Minimal reproduction project (For SDK or engine issues) - description: | - A small V-Sekai project which reproduces the issue. Highly recommended to speed up troubleshooting. - Drag and drop a ZIP archive to upload it. - validations: - required: false - -- type: input - attributes: - label: Using a released version? - description: | - "Yes" if you have downloaded an official build, or if you exported the project yourself. - "No" if you are running the project folder or running directly from the editor. - "Both" if you have tested and it happens both when export and when run from project. - This is important because some bugs only happen on released builds, and cannot be reproduced from the editor. - validations: - required: true - -- type: input - attributes: - label: What OS? Any other relevant information? (V-Sekai version, Godot revision, System information) - description: > - At a minimum, specify the OS and/or headset (Windows, Linux, Quest). - Please make sure you are reasonably up to date before reporting issues. - If you are not on the latest, include the last set of numbers on the bottom corner of the main screen. (or git commit hash) - For graphics-related issues, specify the GPU model, driver version, and the rendering backend (GLES2, GLES3, Vulkan). - placeholder: Windows, 65.78, NVidia - validations: - required: true diff --git a/11_vsekai_game/.github/ISSUE_TEMPLATE/config.yml b/11_vsekai_game/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index be39f4b14..000000000 --- a/11_vsekai_game/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,6 +0,0 @@ -blank_issues_enabled: false - -contact_links: - - name: Formal proposal - url: https://github.com/V-Sekai/V-Sekai.github.io - about: Formal V-Sekai proposals are in the V-Sekai.github.io repository. diff --git a/11_vsekai_game/.github/ISSUE_TEMPLATE/feature_proposal.yml b/11_vsekai_game/.github/ISSUE_TEMPLATE/feature_proposal.yml deleted file mode 100644 index 879c5cbf6..000000000 --- a/11_vsekai_game/.github/ISSUE_TEMPLATE/feature_proposal.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Feature request or design proposal -description: Add anything here you would like to see added or addressed in V-Sekai, that isn't necessarily a bug or fault. -labels: [enhancement] -body: - -- type: textarea - attributes: - label: Describe the proposed feature and how it helps to overcome a problem or limitation - placeholder: Example - "The 3D selection tools are cumbersome to use." - validations: - required: true - -- type: textarea - attributes: - label: Other information about your context or usecase. - description: Describe the problem or limitation you have encountered, e.g., in free form using two to three sentences. You may want to articulate the problem in the form of a question. - placeholder: Example - "Playing a 3D space game with heavy use of cut-out animation" - validations: - required: false - -- type: textarea - attributes: - label: If known, describe how your proposal will work, with code, pseudo-code, mock-ups, or diagrams - placeholder: Example - "When the user presses Ctrl + Shift + G, select all nodes that have the group..." - validations: - required: false - -- type: textarea - attributes: - label: Anything else - placeholder: Other information - validations: - required: false diff --git a/11_vsekai_game/.github/actions/godot-build/action.yml b/11_vsekai_game/.github/actions/godot-build/action.yml deleted file mode 100644 index 45c289b4c..000000000 --- a/11_vsekai_game/.github/actions/godot-build/action.yml +++ /dev/null @@ -1,56 +0,0 @@ -name: Build Godot -description: Build Godot with the provided options. -inputs: - target: - description: Build target (editor, template_release, template_debug). - default: "editor" - tests: - description: Unit tests. - default: false - deploy: - description: Deploy game. - default: false - deploy-platform: - description: Deploy game platform. - required: false - deploy-platform-target: - description: Deploy game target. - required: false - platform: - description: Target platform. - required: false - sconsflags: - default: "" - scons-cache: - description: The scons cache path. - default: "${{ github.workspace }}/.scons-cache/" - scons-cache-limit: - description: The scons cache size limit. - # actions/cache has 10 GiB limit, and GitHub runners have a 14 GiB disk. - # Limit to 7 GiB to avoid having the extracted cache fill the disk. - default: 7168 -runs: - using: "composite" - steps: - - name: Scons Build - shell: bash - env: - SCONSFLAGS: ${{ inputs.sconsflags }} - SCONS_CACHE: ${{ inputs.scons-cache }} - SCONS_CACHE_LIMIT: ${{ inputs.scons-cache-limit }} - run: | - mkdir -p bin modules/mono/glue - cd godot - if [[ "${{ inputs.deploy }}" == "true" ]]; then - PLATFORM=${{ inputs.deploy-platform }} - TARGET=${{ inputs.deploy-platform-target }} - else - PLATFORM=${{ inputs.platform }} - TARGET=${{ inputs.target }} - fi - echo "Building with flags:" platform=$PLATFORM target=$TARGET tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }} - if [ "$TARGET" != "editor" ]; then rm -rf editor; fi # Ensure we don't include editor code. - scons platform=$PLATFORM target=$TARGET tests=${{ inputs.tests }} ${{ env.SCONSFLAGS }} - cp -r bin/* ../bin - cp -r modules/mono/glue/* ../modules/mono/glue - ls -l ../bin diff --git a/11_vsekai_game/.github/actions/godot-cache/action.yml b/11_vsekai_game/.github/actions/godot-cache/action.yml deleted file mode 100644 index ffee32dd2..000000000 --- a/11_vsekai_game/.github/actions/godot-cache/action.yml +++ /dev/null @@ -1,22 +0,0 @@ -name: Setup Godot build cache -description: Setup Godot build cache. -inputs: - cache-name: - description: The cache base name (job name by default). - default: "${{github.job}}" - scons-cache: - description: The scons cache path. - default: "${{github.workspace}}/.scons-cache/" -runs: - using: "composite" - steps: - # Upload cache on completion and check it out now - - name: Always upload .scons_cache directory - uses: pat-s/always-upload-cache@v3.0.11 - with: - path: ${{inputs.scons-cache}} - key: ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - restore-keys: | - ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}}-${{github.sha}} - ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}}-${{github.ref}} - ${{inputs.cache-name}}-${{env.GODOT_BASE_BRANCH}} diff --git a/11_vsekai_game/.github/actions/godot-deps/action.yml b/11_vsekai_game/.github/actions/godot-deps/action.yml deleted file mode 100644 index c7e2cb66e..000000000 --- a/11_vsekai_game/.github/actions/godot-deps/action.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Setup python, scons and golang -description: Setup python, install the pip version of scons and setup golang. -inputs: - python-version: - description: The python version to use. - default: "3.x" - python-arch: - description: The python architecture. - default: "x64" - godot-ref: - description: The reference for the Godot engine repository. - default: master - godot-repository: - description: The Godot engine repository. - default: godotengine/godot - go-version: - description: The Go version to use. - default: "1.21" -runs: - using: "composite" - steps: - # Use python 3.x release (works cross platform) - - name: Set up Python 3.x - uses: actions/setup-python@v4 - with: - # Semantic version range syntax or exact version of a Python version - python-version: ${{ inputs.python-version }} - # Optional - x64 or x86 architecture, defaults to x64 - architecture: ${{ inputs.python-arch }} - - - name: Setup scons - shell: bash - run: | - python -c "import sys; print(sys.version)" - python -m pip install scons==4.4.0 - scons --version - - - name: Checkout godot engine repo - uses: actions/checkout@v3 - with: - repository: ${{ inputs.godot-repository }} - path: godot - ref: ${{ inputs.godot-ref }} - - - name: Set up Go - uses: actions/setup-go@v2 - with: - go-version: ${{ inputs.go-version }} - - - name: Check Go version - shell: bash - run: go version diff --git a/11_vsekai_game/.github/actions/upload-artifact/action.yml b/11_vsekai_game/.github/actions/upload-artifact/action.yml deleted file mode 100644 index 5caff6bcb..000000000 --- a/11_vsekai_game/.github/actions/upload-artifact/action.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Upload Godot artifact -description: Upload the Godot artifact. -inputs: - name: - description: The artifact name. - default: "${{ github.job }}" - path: - description: The path to upload. - required: true - default: "godot/bin/*" -runs: - using: "composite" - steps: - - name: Upload Godot Artifact - uses: actions/upload-artifact@v3 - with: - name: ${{ inputs.name }} - path: ${{ inputs.path }} - retention-days: 14 diff --git a/11_vsekai_game/.github/actions/vsk-generate-constants/action.yml b/11_vsekai_game/.github/actions/vsk-generate-constants/action.yml deleted file mode 100644 index 19eae08f0..000000000 --- a/11_vsekai_game/.github/actions/vsk-generate-constants/action.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Generate build constants -description: Generate build constants -runs: - using: "composite" - steps: - - name: Generate build constants - shell: bash - run: | - export BUILD_LABEL="${{ github.repository }}/${{ github.sha }}" - export BUILD_DATE_STR="$(date --utc --iso=seconds)" - export BUILD_UNIX_TIME="$(date +%s)" - export BUILD_URL="${{ github.server_url }}/${{ github.repository }}/commit/${{ github.sha }}" - cat << EOF > addons/vsk_version/build_constants.gd - ## AUTOGENERATED BY BUILD - const BUILD_LABEL = "$BUILD_LABEL" - const BUILD_DATE_STR = "$BUILD_DATE_STR" - const BUILD_UNIX_TIME = "$BUILD_UNIX_TIME" - const BUILD_URL = "$BUILD_URL" - EOF - cat addons/vsk_version/build_constants.gd diff --git a/11_vsekai_game/.github/install_vulkan_sdk_macos.sh b/11_vsekai_game/.github/install_vulkan_sdk_macos.sh deleted file mode 100755 index 17d567f20..000000000 --- a/11_vsekai_game/.github/install_vulkan_sdk_macos.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env sh - -set -euo pipefail -IFS=$'\n\t' - -# Download and install the Vulkan SDK. -curl -L "https://sdk.lunarg.com/sdk/download/latest/mac/vulkan-sdk.dmg" -o /tmp/vulkan-sdk.dmg -hdiutil attach /tmp/vulkan-sdk.dmg -mountpoint /Volumes/vulkan-sdk -/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan \ - --accept-licenses --default-answer --confirm-command install - -cnt=5 -until hdiutil detach -force /Volumes/vulkan-sdk -do - [[ cnt -eq "0" ]] && break - sleep 1 - ((cnt--)) -done - -rm -f /tmp/vulkan-sdk.dmg - -echo 'Vulkan SDK installed successfully! You can now build Godot by running "scons".' diff --git a/11_vsekai_game/.github/workflows/builds.yml b/11_vsekai_game/.github/workflows/builds.yml deleted file mode 100644 index 8dd4f936c..000000000 --- a/11_vsekai_game/.github/workflows/builds.yml +++ /dev/null @@ -1,323 +0,0 @@ -name: V-Sekai Builds - -on: - push: - branches: - - main - tags: - - "*" - pull_request: - -env: - GAME_NAME: vsekai_game_ - GODOT_REF: groups-4.3.2024-06-19T122756Z - GODOT_REPOSITORY: v-sekai/godot - SCONSFLAGS: verbose=yes warnings=extra werror=no module_text_server_fb_enabled=yes use_thinlto=yes - DOTNET_NOLOGO: true - DOTNET_CLI_TELEMETRY_OPTOUT: true - EM_VERSION: 3.1.18 - EM_CACHE_FOLDER: "emsdk-cache" - -concurrency: - group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-deploy - cancel-in-progress: true - -jobs: - build: - runs-on: ${{ matrix.runs-on }} - name: ${{ matrix.name }} - strategy: - fail-fast: false - matrix: - include: - - name: linux_editor_win_deploy - runs-on: ubuntu-22.04 - cache-name: linux-editor-deploy-windows-editor - target: editor - tests: false - sconsflags: linker=gold precision=double use_mingw=yes - doc-test: false - bin: ./godot/bin/godot.linuxbsd.editor.double.x86_64 - deploy-bin: ./godot/bin/godot.windows.editor.double.x86_64.exe - editor-bin-name: godot.windows.editor.double.x86_64.exe - proj-conv: false - artifact: true - platform: linuxbsd - deploy: true - deploy-pdb: true - deploy-platform: windows - export-platform: Windows - arch: _x86_64 - deploy-platform-target: editor - - - name: linux_editor_linux_deploy - runs-on: ubuntu-22.04 - cache-name: linux-editor-deploy-linux-editor - target: editor - tests: false - sconsflags: linker=gold precision=double use_llvm=yes - doc-test: false - bin: ./godot/bin/godot.linuxbsd.editor.double.x86_64.llvm - deploy-bin: ./godot/bin/godot.linuxbsd.editor.double.x86_64.llvm - editor-bin-name: godot.linuxbsd.editor.double.x86_64.llvm - proj-conv: false - artifact: true - platform: linuxbsd - deploy: true - deploy-platform: linux - export-platform: Linux - arch: _x86_64 - deploy-platform-target: editor - - - name: macos_editor_macos_deploy - runs-on: "macos-latest" - cache-name: macos-editor-deploy-macos-editor - target: editor - tests: false - sconsflags: linker=gold precision=double - doc-test: false - bin: ./godot/bin/godot.macos.editor.double.arm64 - deploy-bin: ./godot/bin/godot.macos.editor.double.arm64 - editor-bin-name: godot.macos.editor.double.arm64 - proj-conv: false - artifact: true - platform: macos - deploy: true - deploy-platform: macos - export-platform: Mac - arch: _arm64 - deploy-platform-target: editor - steps: - - name: Harden Runner - uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1 - with: - egress-policy: audit - - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v3.5.2 - - - name: Linux dependencies for gold linker - if: ${{ matrix.platform == 'linux' }} - run: | - sudo apt-get install -qq binutils - shell: bash - - - name: Install MinGW - if: ${{ matrix.deploy-platform == 'windows' }} - run: | - sudo add-apt-repository ppa:savoury1/build-tools - sudo apt-get update - sudo apt-get install mingw-w64 - sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix - sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix - shell: bash - - - name: Setup Godot build cache - uses: ./.github/actions/godot-cache - with: - cache-name: ${{ matrix.cache-name }} - continue-on-error: true - - - name: Setup Vulkan SDK - if: ${{ matrix.platform == 'macos' }} - run: | - sh ./.github/install_vulkan_sdk_macos.sh - - - name: Set up Emscripten latest - if: ${{ matrix.platform == 'web' || matrix.deploy-platform == 'web'}} - uses: mymindstorm/setup-emsdk@6ab9eb1bda2574c4ddb79809fc9247783eaf9021 # v14 - with: - version: ${{env.EM_VERSION}} - actions-cache-folder: ${{env.EM_CACHE_FOLDER}} - - - name: Verify Emscripten setup - if: ${{ matrix.platform == 'web' || matrix.deploy-platform == 'web'}} - run: | - emcc -v - shell: bash - - - name: Setup python, scons and golang - uses: ./.github/actions/godot-deps - with: - godot-ref: ${{ env.GODOT_REF }} - godot-repository: ${{ env.GODOT_REPOSITORY }} - - - name: Set up .NET Sdk - uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0 - if: ${{ matrix.build-mono }} - with: - dotnet-version: "6.0.x" - - - name: Setup GCC problem matcher - uses: ammaraskar/gcc-problem-matcher@0f9c86f9e693db67dacf53986e1674de5f2e5f28 # master - - - name: Compilation - uses: ./.github/actions/godot-build - with: - sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }} - platform: ${{ matrix.platform }} - target: ${{ matrix.target }} - tests: ${{ matrix.tests }} - deploy: ${{ matrix.deploy }} - deploy-platform: ${{ matrix.deploy-platform }} - deploy-platform-target: ${{ matrix.deploy-platform-target }} - - - name: Compilation - if: ${{ matrix.deploy-platform == 'windows' || matrix.deploy-platform == 'web' }} - uses: ./.github/actions/godot-build - with: - sconsflags: ${{ env.SCONSFLAGS }} ${{ matrix.sconsflags }} - platform: ${{ matrix.platform }} - target: ${{ matrix.target }} - tests: false - deploy: false - deploy-platform: ${{ matrix.platform }} - deploy-platform-target: ${{ matrix.target }} - - - name: Generate build constants - uses: ./.github/actions/vsk-generate-constants - - - name: Export Game - if: ${{ matrix.deploy }} - run: | - mkdir -p .godot/editor .godot/imported export_${{ matrix.deploy-platform }} - chmod +x ${{ matrix.bin }} - ${{ matrix.bin }} --headless --xr-mode off --export-pack ${{ matrix.export-platform }} `pwd`/${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck --path . || true - timeout-minutes: 10 - shell: bash - - - name: Prepare artifacts - if: ${{ matrix.deploy }} - run: | - ls - # Check if the .pck file exists - if [ ! -f ./${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck ]; then - echo "Error: ${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck does not exist." - exit 1 - fi - - # Check if the path to the .pck file is correct - if [ ! -f `pwd`/${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck ]; then - echo "Error: The path to ${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck is incorrect." - exit 1 - fi - - rm -rf ${{ env.GAME_NAME }}${{ matrix.deploy-platform }} - export TARGET=${{ env.GAME_NAME }}${{ matrix.deploy-platform }} - mkdir -p $TARGET - - # If deploy platform is windows, append .exe to the binary - if [ "${{ matrix.deploy-platform }}" == "windows" ]; then - cp -rf ${{ matrix.deploy-bin }} $TARGET/${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.exe - else - cp -rf ${{ matrix.deploy-bin }} $TARGET/${{ env.GAME_NAME }}${{ matrix.deploy-platform }} - fi - - cp -rf `pwd`/${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck $TARGET/${{ env.GAME_NAME }}${{ matrix.deploy-platform }}.pck - 7z a -r $TARGET.zip $TARGET - shell: bash - - - name: Upload Godot Artifact Export - if: ${{ matrix.deploy }} - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 - with: - name: ${{ env.GAME_NAME }}${{ matrix.deploy-platform }} - path: | - ${{ env.GAME_NAME }}${{ matrix.deploy-platform }} - - - name: Generate C# glue - if: ${{ matrix.build-mono }} - run: | - ${{ matrix.bin }} --headless --generate-mono-glue ./modules/mono/glue || true - shell: bash - - - name: Build .NET solutions - if: ${{ matrix.build-mono }} - run: | - ./modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin --godot-platform=linuxbsd - shell: bash - - - name: Unit tests - if: ${{ matrix.tests }} - run: | - ${{ matrix.bin }} --version - ${{ matrix.bin }} --help - ${{ matrix.bin }} --test --headless - shell: bash - - - name: Check for class reference updates - if: ${{ matrix.doc-test }} - run: | - echo "Running --doctool to see if this changes the public API without updating the documentation." - echo -e "If a diff is shown, it means that your code/doc changes are incomplete and you should update the class reference with --doctool.\n\n" - ${{ matrix.bin }} --doctool --headless 2>&1 > /dev/null || true - git diff --color --exit-code && ! git ls-files --others --exclude-standard | sed -e 's/^/New doc file missing in PR: /' | grep 'xml$' - shell: bash - - - name: Test project converter - if: ${{ matrix.proj-conv }} - run: | - mkdir -p converter_test - cd converter_test - touch project.godot - ${{ matrix.bin }} --headless --validate-conversion-3to4 - cd .. - rm converter_test -rf - shell: bash - - - name: Prepare artifact - if: ${{ matrix.artifact }} - run: | - chmod +x godot/bin/godot.* || true - shell: bash - - - name: Upload artifact - uses: ./.github/actions/upload-artifact - if: ${{ matrix.artifact }} - with: - name: ${{ matrix.cache-name }} - - release: - needs: [build] - if: startsWith(github.ref, 'refs/tags/') - runs-on: ubuntu-latest - steps: - - name: Harden Runner - uses: step-security/harden-runner@17d0e2bd7d51742c71671bd19fa12bdc9d40a3d6 # v2.8.1 - with: - egress-policy: audit - - - name: Download Artifacts - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 - - - name: List files - run: | - ls -R ${{ env.GAME_NAME }}windows${{ matrix.arch }} - ls -R ${{ env.GAME_NAME }}linux${{ matrix.arch }} - ls -R linux-editor-deploy-windows-editor - ls -R linux-editor-deploy-linux-editor - ls -R macos-editor-deploy-macos-editor - shell: bash - - - name: Archive files - run: | - zip -r ${{ env.GAME_NAME }}windows${{ matrix.arch }}.zip ${{ env.GAME_NAME }}windows${{ matrix.arch }} - zip -r ${{ env.GAME_NAME }}linux${{ matrix.arch }}.zip ${{ env.GAME_NAME }}linux${{ matrix.arch }} - zip -r linux-editor-deploy-windows-editor.zip linux-editor-deploy-windows-editor - zip -r linux-editor-deploy-linux-editor.zip linux-editor-deploy-linux-editor - zip -r macos-editor-deploy-macos-editor.zip macos-editor-deploy-macos-editor - - - name: Create and Upload Release - uses: softprops/action-gh-release@a74c6b72af54cfa997e81df42d94703d6313a2d0 # v2.0.6 - with: - files: | - ${{ env.GAME_NAME }}windows${{ matrix.arch }}.zip - ${{ env.GAME_NAME }}linux${{ matrix.arch }}.zip - linux-editor-deploy-windows-editor.zip - linux-editor-deploy-linux-editor.zip - macos-editor-deploy-macos-editor.zip - generate_release_notes: true - draft: true - prerelease: true - append_body: true - env: - GITHUB_TOKEN: ${{ secrets.VSEKAI_GITHUB_TOKEN }} diff --git a/11_vsekai_game/.gitrepo b/11_vsekai_game/.gitrepo index 8538509a3..543c6812c 100644 --- a/11_vsekai_game/.gitrepo +++ b/11_vsekai_game/.gitrepo @@ -5,8 +5,8 @@ ; [subrepo] remote = https://github.com/V-Sekai/v-sekai-game.git - branch = merge - commit = 2336fbeed0bfb97348222852425aebd01666a852 - parent = d649938b72cc6486e288cafbd65ac5daa61e37a3 + branch = main + commit = ed0b7d5c4f84aef3dd1bfcee594eb51d581b5774 + parent = 479e3f872300f2681cfe4b29621fe77e641d08f2 method = merge cmdver = 0.4.6 diff --git a/11_vsekai_game/addons/sar1_vr_manager/localisation/vr_manager_strings.en.translation b/11_vsekai_game/addons/sar1_vr_manager/localisation/vr_manager_strings.en.translation index 9eada3e08..e16feb625 100644 Binary files a/11_vsekai_game/addons/sar1_vr_manager/localisation/vr_manager_strings.en.translation and b/11_vsekai_game/addons/sar1_vr_manager/localisation/vr_manager_strings.en.translation differ diff --git a/11_vsekai_game/addons/vsk_menu/localisation/menu_strings.en.translation b/11_vsekai_game/addons/vsk_menu/localisation/menu_strings.en.translation index 8ea308604..4627a98c6 100644 Binary files a/11_vsekai_game/addons/vsk_menu/localisation/menu_strings.en.translation and b/11_vsekai_game/addons/vsk_menu/localisation/menu_strings.en.translation differ diff --git a/11_vsekai_game/addons/vsk_menu/localisation/menu_strings.es.translation b/11_vsekai_game/addons/vsk_menu/localisation/menu_strings.es.translation index 46909fc04..0da53949b 100644 Binary files a/11_vsekai_game/addons/vsk_menu/localisation/menu_strings.es.translation and b/11_vsekai_game/addons/vsk_menu/localisation/menu_strings.es.translation differ