diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/ISSUE_TEMPLATE/bug_report.yml | 16 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/config.yml | 16 | ||||
-rw-r--r-- | .github/PULL_REQUEST_TEMPLATE.md | 2 | ||||
-rw-r--r-- | .github/workflows/linux_builds.yml | 16 | ||||
-rw-r--r-- | .github/workflows/macos_builds.yml | 12 | ||||
-rw-r--r-- | .github/workflows/release.yml | 337 | ||||
-rw-r--r-- | .github/workflows/windows_builds.yml | 16 |
7 files changed, 380 insertions, 35 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 6803d9afd5..bb9d2ce66b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,5 +1,5 @@ name: Bug report -description: Report a bug in Godot +description: Report a bug in Redot body: - type: markdown @@ -8,8 +8,8 @@ body: When reporting bugs, please follow the guidelines in this template. This helps identify the problem precisely and thus enables contributors to fix it faster. - Write a descriptive issue title above. - The golden rule is to **always open *one* issue for *one* bug**. If you notice several bugs and want to report them, make sure to create one new issue for each of them. - - Search [open](https://github.com/godotengine/godot/issues) and [closed](https://github.com/godotengine/godot/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported. If you don't find a relevant match or if you're unsure, don't hesitate to **open a new issue**. The bugsquad will handle it from there if it's a duplicate. - - Verify that you are using a [supported Godot version](https://docs.godotengine.org/en/latest/about/release_policy.html). Please always check if your issue is reproducible in the latest version – it may already have been fixed! + - Search [open](https://github.com/Redot-Engine/redot-engine/issues) and [closed](https://github.com/Redot-Engine/redot-engine/issues?q=is%3Aissue+is%3Aclosed) issues to ensure it has not already been reported. If you don't find a relevant match or if you're unsure, don't hesitate to **open a new issue**. The bugsquad will handle it from there if it's a duplicate. + - Verify that you are using a [supported Redot version](https://docs.redotengine.org/en/latest/about/release_policy.html). Please always check if your issue is reproducible in the latest version – it may already have been fixed! - If you use a custom build, please test if your issue is reproducible in official builds too. Likewise if you use any C++ modules, GDExtensions, or editor plugins, you should check if the bug is reproducible in a project without these. - type: textarea @@ -17,8 +17,8 @@ body: label: Tested versions description: | To properly fix a bug, we need to identify if the bug was recently introduced in the engine, or if it was always present. - - Please specify the Godot version you found the issue in, including the **Git commit hash** if using a development or non-official build. The exact Godot version (including the commit hash) can be copied by clicking the version shown in the editor (bottom bar) or in the project manager (top bar). - - If you can, **please test earlier Godot versions** (previous stable branch, and development snapshots of the current feature release) and, if applicable, newer versions (development snapshots for the next feature release). Mention whether the bug is reproducible or not in the versions you tested. You can find all Godot releases in our [download archive](https://godotengine.org/download/archive/). + - Please specify the Redot version you found the issue in, including the **Git commit hash** if using a development or non-official build. The exact Redot version (including the commit hash) can be copied by clicking the version shown in the editor (bottom bar) or in the project manager (top bar). + - If you can, **please test earlier Redot versions** (previous stable branch, and development snapshots of the current feature release) and, if applicable, newer versions (development snapshots for the next feature release). Mention whether the bug is reproducible or not in the versions you tested. You can find all Redot releases in our [download archive](https://redotengine.org/download/archive/). - The aim is for us to identify whether a bug is a **regression**, i.e. an issue that didn't exist in a previous version, but was introduced later on, breaking existing functionality. For example, if a bug is reproducible in 4.2.stable but not in 4.1.stable, we would like you to test intermediate 4.2 dev and beta snapshots to find which snapshot is the first one where the issue can be reproduced. placeholder: | @@ -35,8 +35,8 @@ body: - For issues that are likely OS-specific and/or graphics-related, please specify the CPU model and architecture. - For graphics-related issues, specify the GPU model, driver version, and the rendering backend (GLES2, GLES3, Vulkan). - **Bug reports not including the required information may be closed at the maintainers' discretion.** If in doubt, always include all the requested information; it's better to include too much information than not enough information. - - **Starting from Godot 4.1, you can copy this information to your clipboard by using *Help > Copy System Info* at the top of the editor window.** - placeholder: Windows 10 - Godot v4.0.3.stable - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 970 (nvidia, 510.85.02) - Intel Core i7-10700KF CPU @ 3.80GHz (16 Threads) + - **Starting from Redot 4.1, you can copy this information to your clipboard by using *Help > Copy System Info* at the top of the editor window.** + placeholder: Windows 10 - Redot v4.0.3.stable - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 970 (nvidia, 510.85.02) - Intel Core i7-10700KF CPU @ 3.80GHz (16 Threads) validations: required: true @@ -63,7 +63,7 @@ body: attributes: label: Minimal reproduction project (MRP) description: | - - A small Godot project which reproduces the issue, with no unnecessary files included. Be sure to not include the `.godot` folder in the archive (but keep `project.godot`). + - A small Redot project which reproduces the issue, with no unnecessary files included. Be sure to not include the `.godot` folder in the archive (but keep `project.godot`). - Having an MRP is very important for contributors to be able to reproduce the bug in the same way that you are experiencing it. When testing a potential fix for the issue, contributors will use the MRP to validate that the fix is working as intended. - If the reproduction steps are not project dependent (e.g. the bug is visible in a brand new project), you can write "N/A" in the field. - Drag and drop a ZIP archive to upload it (max 10 MB). **Do not select another field until the project is done uploading.** diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index f787bec00e..730f333b58 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,14 +1,14 @@ blank_issues_enabled: false contact_links: - - name: Godot proposals - url: https://github.com/godotengine/godot-proposals - about: Please submit feature proposals on the Godot proposals repository, not here. + - name: Redot proposals + url: https://github.com/Redot-Engine/redot-proposals + about: Please submit feature proposals on the Redot proposals repository, not here. - - name: Godot documentation repository - url: https://github.com/godotengine/godot-docs - about: Please report issues with documentation on the Godot documentation repository, not here. + - name: Redot documentation repository + url: https://github.com/Redot-Engine/redot-docs + about: Please report issues with documentation on the Redot documentation repository, not here. - - name: Godot community channels - url: https://godotengine.org/community + - name: Redot community channels + url: https://redotengine.org/community about: Please ask for technical support on one of the other community channels, not here. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e739982c2b..bdf4c8d57f 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,5 +4,5 @@ Please target the `master` branch in priority. Relevant fixes are cherry-picked for stable branches as needed by maintainers. To speed up the contribution process and avoid CI errors, please set up pre-commit hooks locally: -https://docs.godotengine.org/en/latest/contributing/development/code_style_guidelines.html +https://docs.redotengine.org/en/latest/contributing/development/code_style_guidelines.html --> diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml index dc3d9f3786..911c377c50 100644 --- a/.github/workflows/linux_builds.yml +++ b/.github/workflows/linux_builds.yml @@ -27,7 +27,7 @@ jobs: cache-name: linux-editor-mono target: editor sconsflags: module_mono_enabled=yes - bin: ./bin/godot.linuxbsd.editor.x86_64.mono + bin: ./bin/redot.linuxbsd.editor.x86_64.mono build-mono: true tests: false # Disabled due freeze caused by mix Mono build and CI doc-test: true @@ -40,7 +40,7 @@ jobs: target: editor # Debug symbols disabled as they're huge on this build and we hit the 14 GB limit for runners. sconsflags: dev_build=yes scu_build=yes debug_symbols=no precision=double use_asan=yes use_ubsan=yes linker=gold - bin: ./bin/godot.linuxbsd.editor.dev.double.x86_64.san + bin: ./bin/redot.linuxbsd.editor.dev.double.x86_64.san build-mono: false tests: true proj-test: true @@ -53,7 +53,7 @@ jobs: cache-name: linux-editor-llvm-sanitizers target: editor sconsflags: dev_build=yes use_asan=yes use_ubsan=yes use_llvm=yes linker=lld - bin: ./bin/godot.linuxbsd.editor.dev.x86_64.llvm.san + bin: ./bin/redot.linuxbsd.editor.dev.x86_64.llvm.san build-mono: false tests: true # Skip 2GiB artifact speeding up action. @@ -66,7 +66,7 @@ jobs: target: editor tests: true sconsflags: dev_build=yes use_tsan=yes use_llvm=yes linker=lld - bin: ./bin/godot.linuxbsd.editor.dev.x86_64.llvm.san + bin: ./bin/redot.linuxbsd.editor.dev.x86_64.llvm.san build-mono: false # Skip 2GiB artifact speeding up action. artifact: false @@ -75,7 +75,7 @@ jobs: cache-name: linux-template-mono target: template_release sconsflags: module_mono_enabled=yes - bin: ./bin/godot.linuxbsd.template_release.x86_64.mono + bin: ./bin/redot.linuxbsd.template_release.x86_64.mono build-mono: false tests: true artifact: true @@ -84,7 +84,7 @@ jobs: cache-name: linux-template-minimal target: template_release sconsflags: modules_enabled_by_default=no disable_3d=yes disable_advanced_gui=yes deprecated=no minizip=no - bin: ./bin/godot.linuxbsd.template_release.x86_64 + bin: ./bin/redot.linuxbsd.template_release.x86_64 tests: true artifact: true @@ -162,8 +162,8 @@ jobs: - name: Prepare artifact if: matrix.artifact run: | - strip bin/godot.* - chmod +x bin/godot.* + strip bin/redot.* + chmod +x bin/redot.* - name: Upload artifact uses: ./.github/actions/upload-artifact diff --git a/.github/workflows/macos_builds.yml b/.github/workflows/macos_builds.yml index fcf4b00afb..cc789d4c4a 100644 --- a/.github/workflows/macos_builds.yml +++ b/.github/workflows/macos_builds.yml @@ -24,14 +24,14 @@ jobs: cache-name: macos-editor target: editor tests: true - bin: ./bin/godot.macos.editor.universal + bin: ./bin/redot.macos.editor.universal - name: Template (target=template_release, tests=yes) cache-name: macos-template target: template_release tests: true sconsflags: debug_symbols=no - bin: ./bin/godot.macos.template_release.universal + bin: ./bin/redot.macos.template_release.universal steps: - name: Checkout @@ -76,10 +76,10 @@ jobs: - name: Prepare artifact run: | - lipo -create ./bin/godot.macos.${{ matrix.target }}.x86_64 ./bin/godot.macos.${{ matrix.target }}.arm64 -output ./bin/godot.macos.${{ matrix.target }}.universal - rm ./bin/godot.macos.${{ matrix.target }}.x86_64 ./bin/godot.macos.${{ matrix.target }}.arm64 - strip bin/godot.* - chmod +x bin/godot.* + lipo -create ./bin/redot.macos.${{ matrix.target }}.x86_64 ./bin/redot.macos.${{ matrix.target }}.arm64 -output ./bin/redot.macos.${{ matrix.target }}.universal + rm ./bin/redot.macos.${{ matrix.target }}.x86_64 ./bin/redot.macos.${{ matrix.target }}.arm64 + strip bin/redot.* + chmod +x bin/redot.* - name: Upload artifact uses: ./.github/actions/upload-artifact diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000000..12bb6abca0 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,337 @@ +name: Build Redot Project + +on: + workflow_dispatch: + +jobs: + build-linux: + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + repository: Redot-Engine/redot-engine # Adjust this to the actual repo + ref: master + + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + scons \ + pkg-config \ + libx11-dev \ + libxcursor-dev \ + libxrandr-dev \ + libxi-dev \ + libgl1-mesa-dev \ + libglu1-mesa-dev \ + build-essential \ + gcc \ + g++ \ + python3 + + - name: Build Redot Project for Linux + run: | + scons platform=linuxbsd production=yes + + - name: Upload Linux dev artifact + uses: actions/upload-artifact@v4 + with: + name: redot-linux-dev + path: bin + + build-linux-template: + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + repository: Redot-Engine/redot-engine + ref: master + + - name: Install Dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + scons \ + pkg-config \ + libx11-dev \ + libxcursor-dev \ + libxrandr-dev \ + libxi-dev \ + libgl1-mesa-dev \ + libglu1-mesa-dev \ + build-essential \ + gcc \ + g++ \ + python3 + + - name: Build Redot Templates for Linux + run: | + scons platform=linuxbsd target=template_release + + - name: Upload Linux Template Artifact + uses: actions/upload-artifact@v4 + with: + name: redot-linux-template + path: bin + + build-windows: + runs-on: windows-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + repository: Redot-Engine/redot-engine + ref: master + + - name: Setup Scoop + uses: MinoruSekine/setup-scoop@v4.0.1 + with: + buckets: extras + apps: gcc python scons make mingw + + - name: Build Redot Project for Windows + run: | + scons platform=windows production=yes + + - name: Upload Windows dev artifact + uses: actions/upload-artifact@v4 + with: + name: redot-windows-dev + path: bin + + build-windows-template: + runs-on: windows-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + repository: Redot-Engine/redot-engine + ref: master + + - name: Setup Scoop + uses: MinoruSekine/setup-scoop@v4.0.1 + with: + buckets: extras + apps: gcc python scons make mingw + + - name: Build Redot Templates for Windows + run: | + scons platform=windows target=template_release + + - name: Upload Windows Template Artifact + uses: actions/upload-artifact@v4 + with: + name: redot-windows-template + path: bin + + build-macos-x64: + runs-on: macos-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + repository: Redot-Engine/redot-engine + ref: master + - name: Setup Vulkan SDK + run: | + sh misc/scripts/install_vulkan_sdk_macos.sh + - name: Install Dependencies + run: | + brew install scons pkg-config + + - name: Build Redot Project for macOS x64 + run: | + scons platform=macos arch=x64 production=yes + + - name: Upload macOS x64 dev artifact + uses: actions/upload-artifact@v4 + with: + name: redot-macos-x64-dev + path: bin + + build-macos-arm64: + runs-on: macos-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + repository: Redot-Engine/redot-engine + ref: master + + - name: Setup Vulkan SDK + run: | + sh misc/scripts/install_vulkan_sdk_macos.sh + - name: Install Dependencies + run: | + brew install scons pkg-config + + - name: Build Redot Project for macOS arm64 + run: | + scons platform=macos arch=arm64 + + - name: Upload macOS arm64 dev artifact + uses: actions/upload-artifact@v4 + with: + name: redot-macos-arm64-dev + path: bin + + build-macos-x64-template: + runs-on: macos-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + repository: Redot-Engine/redot-engine + ref: master + - name: Setup Vulkan SDK + run: | + sh misc/scripts/install_vulkan_sdk_macos.sh + - name: Install Dependencies + run: | + brew install scons pkg-config + + - name: Build Redot Templates for macOS x64 + run: | + scons platform=macos arch=x64 target=template_release + + - name: Upload macOS x64 Template Artifact + uses: actions/upload-artifact@v4 + with: + name: redot-macos-x64-template + path: bin + + build-macos-arm64-template: + runs-on: macos-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + repository: Redot-Engine/redot-engine + ref: master + - name: Setup Vulkan SDK + run: | + sh misc/scripts/install_vulkan_sdk_macos.sh + - name: Install Dependencies + run: | + brew install scons pkg-config + + - name: Build Redot Templates for macOS arm64 + run: | + scons platform=macos arch=arm64 target=template_release + + - name: Upload macOS arm64 Template Artifact + uses: actions/upload-artifact@v4 + with: + name: redot-macos-arm64-template + path: bin + + release: + needs: [build-linux, build-windows, build-linux-template, build-windows-template, build-macos-x64, build-macos-arm64, build-macos-x64-template, build-macos-arm64-template] + runs-on: ubuntu-latest + permissions: + contents: write + + steps: + - name: Download Linux dev artifact + uses: actions/download-artifact@v4 + with: + name: redot-linux-dev + path: redot-linux-dev + + - name: Download Windows dev artifact + uses: actions/download-artifact@v4 + with: + name: redot-windows-dev + path: redot-windows-dev + + - name: Download Linux template artifact + uses: actions/download-artifact@v4 + with: + name: redot-linux-template + path: redot-linux-template + + - name: Download Windows template artifact + uses: actions/download-artifact@v4 + with: + name: redot-windows-template + path: redot-windows-template + + - name: Download macOS x64 dev artifact + uses: actions/download-artifact@v4 + with: + name: redot-macos-x64-dev + path: redot-macos-x64-dev + + - name: Download macOS arm64 dev artifact + uses: actions/download-artifact@v4 + with: + name: redot-macos-arm64-dev + path: redot-macos-arm64-dev + + - name: Download macOS x64 template artifact + uses: actions/download-artifact@v4 + with: + name: redot-macos-x64-template + path: redot-macos-x64-template + + - name: Download macOS arm64 template artifact + uses: actions/download-artifact@v4 + with: + name: redot-macos-arm64-template + path: redot-macos-arm64-template + + - name: Get the current date + id: date + run: echo "CURRENT_DATE=$(date +'%Y%m%d%H')" >> $GITHUB_ENV + + - name: Zip the dev artifact + run: | + zip -r redot-linuxbsd.zip redot-linux-dev/* + zip -r redot-windowsx64.zip redot-windows-dev/* + zip -r redot-macos-x64.zip redot-macos-x64-dev/* + zip -r redot-macos-arm64.zip redot-macos-arm64-dev/* + zip -r redot-linux-template.zip redot-linux-template/* + zip -r redot-windows-template.zip redot-windows-template/* + zip -r redot-macos-x64-template.zip redot-macos-x64-template/* + zip -r redot-macos-arm64-template.zip redot-macos-arm64-template/* + + # - name: Upload release artifacts + # uses: actions/upload-artifact@v4 + # with: + # name: redot-release-${{ env.CURRENT_DATE }} + # path: | + # redot-linuxbsd.zip + # redot-windowsx64.zip + # redot-macos-x64.zip + # redot-macos-arm64.zip + # redot-linux-template.zip + # redot-windows-template.zip + # redot-macos-x64-template.zip + # redot-macos-arm64-template.zip + + - name: Upload dev build artifacts to GitHub dev + uses: softprops/action-gh-release@v2 + with: + tag_name: ${{ env.CURRENT_DATE }} + name: Build ${{ env.CURRENT_DATE }} + draft: false + make_latest: true + files: | + redot-linuxbsd.zip + redot-windowsx64.zip + redot-macos-x64.zip + redot-macos-arm64.zip + redot-linux-template.zip + redot-windows-template.zip + redot-macos-x64-template.zip + redot-macos-arm64-template.zip diff --git a/.github/workflows/windows_builds.yml b/.github/workflows/windows_builds.yml index 384284b604..240ea6a535 100644 --- a/.github/workflows/windows_builds.yml +++ b/.github/workflows/windows_builds.yml @@ -29,7 +29,7 @@ jobs: tests: true # Skip debug symbols, they're way too big with MSVC. sconsflags: debug_symbols=no vsproj=yes vsproj_gen_only=no windows_subsystem=console - bin: ./bin/godot.windows.editor.x86_64.exe + bin: ./bin/redot.windows.editor.x86_64.exe compiler: msvc - name: Editor w/ clang-cl (target=editor, tests=yes, use_llvm=yes) @@ -37,7 +37,7 @@ jobs: target: editor tests: true sconsflags: debug_symbols=no windows_subsystem=console use_llvm=yes - bin: ./bin/godot.windows.editor.x86_64.llvm.exe + bin: ./bin/redot.windows.editor.x86_64.llvm.exe compiler: clang - name: Template (target=template_release, tests=yes) @@ -45,7 +45,7 @@ jobs: target: template_release tests: true sconsflags: debug_symbols=no - bin: ./bin/godot.windows.template_release.x86_64.console.exe + bin: ./bin/redot.windows.template_release.x86_64.console.exe compiler: msvc - name: Template w/ GCC (target=template_release, tests=yes, use_mingw=yes) @@ -54,7 +54,7 @@ jobs: target: template_release tests: true sconsflags: debug_symbols=no use_mingw=yes - bin: ./bin/godot.windows.template_release.x86_64.console.exe + bin: ./bin/redot.windows.template_release.x86_64.console.exe compiler: gcc steps: @@ -102,6 +102,14 @@ jobs: target: ${{ matrix.target }} tests: ${{ matrix.tests }} + - name: Generate Glue Code + if: ${{ matrix.cache-name == 'windows-editor-mono' }} + run: ./bin/redot.windows.editor.x86_64.mono.exe --headless --generate-mono-glue modules/mono/glue + + - name: Build GodotSharp + if: ${{ matrix.cache-name == 'windows-editor-mono' }} + run: python modules/mono/build_scripts/build_assemblies.py --godot-output-dir=./bin + - name: Save Godot build cache uses: ./.github/actions/godot-cache-save with: |