Skip to content

Commit

Permalink
Try #910:
Browse files Browse the repository at this point in the history
  • Loading branch information
bors[bot] committed Sep 7, 2022
2 parents 6eae3f5 + e154c82 commit c0ab7d1
Show file tree
Hide file tree
Showing 624 changed files with 22,360 additions and 3,874 deletions.
8 changes: 5 additions & 3 deletions .github/composite/godot/action.yml
Expand Up @@ -33,13 +33,15 @@ runs:
key: godot-${{ runner.os }}-v${{ inputs.godot_ver }}
- name: "Install Godot"
if: steps.cache-godot.outputs.cache-hit != 'true'
# filePath: transforms '3.5.1-rc1' into '3.5.1/rc1' and '3.5.1-stable' into '3.5.1'
run: |
wget --no-verbose "https://downloads.tuxfamily.org/godotengine/${{ inputs.godot_ver }}/Godot_v${{ inputs.godot_ver }}-stable_linux_headless.64.zip" -O /tmp/godot.zip
filePath=$(echo "${{ inputs.godot_ver }}" | sed "s!-stable!!" | sed "s!-!/!")
wget --no-verbose "https://downloads.tuxfamily.org/godotengine/$filePath/Godot_v${{ inputs.godot_ver }}_linux_headless.64.zip" -O /tmp/godot.zip
unzip -o /tmp/godot.zip -d ${{ runner.temp }}/godot_bin
shell: bash
- name: "Set environment variable"
run: |
echo "GODOT_BIN=${{ runner.temp }}/godot_bin/Godot_v${{ inputs.godot_ver }}-stable_linux_headless.64" >> $GITHUB_ENV
echo "GODOT_BIN=${{ runner.temp }}/godot_bin/Godot_v${{ inputs.godot_ver }}_linux_headless.64" >> $GITHUB_ENV
shell: bash
- name: "Build godot-rust"
run: |
Expand Down Expand Up @@ -68,7 +70,7 @@ runs:
if grep -q "Leaked instance" "${{ runner.temp }}/stdout.log"; then
exit 1;
fi;
cargo build --features type-tag-fallback;
cargo build --features type-tag-fallback ${{ inputs.rust_extra_args }}
mkdir -p ./project/lib;
cp ../target/debug/libgdnative_test.so ./project/lib/;
${GODOT_BIN} --path ./project/ > >(tee "${{ runner.temp }}/stdout.log");
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/full-ci.yml
Expand Up @@ -135,7 +135,7 @@ jobs:
- rust: { toolchain: 'nightly' }
testflags: '-- --skip ui_tests'
- os: { id: ubuntu-latest, name: linux }
rust: { toolchain: '1.56', postfix: ' (msrv 1.56)' }
rust: { toolchain: '1.63', postfix: ' (msrv 1.63)' }
testflags: '-- --skip ui_tests'
- os: { id: ubuntu-latest, name: linux }
rust: { toolchain: 'stable', postfix: ' (minimal-deps)', special: 'minimal-deps' }
Expand Down Expand Up @@ -276,18 +276,18 @@ jobs:
include:
# Latest Godot with different Rust versions
- rust: stable
godot: "3.4.3"
godot: "3.5.1-rc1"
postfix: ''
- rust: nightly
godot: "3.4.3"
godot: "3.5.1-rc1"
postfix: ' (nightly)'
- rust: '1.56'
godot: "3.4.3"
postfix: ' (msrv 1.56)'
- rust: '1.63'
godot: "3.5.1-rc1"
postfix: ' (msrv 1.63)'

# Test with oldest supported engine version
- rust: stable
godot: "3.2"
godot: "3.2-stable"
postfix: ''
build_args: '--features custom-godot'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/minimal-ci.yml
Expand Up @@ -12,7 +12,7 @@ env:

# Local variables
# Note: using variables is limited at the moment, see https://github.com/actions/runner/issues/480
GODOT_VER: "3.4.1"
GODOT_VER: "3.5.1-rc1"

# Don't use more features like "gdnative_bindings_generator/debug" to keep CI truly minimal
GDRUST_FEATURES: "gdnative/async,gdnative/serde"
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.11.0] - unreleased

### Changed

- Changed supported Godot version to 3.5.1 ([#910](https://github.com/godot-rust/godot-rust/pull/910))
- MSRV is now 1.63 ([#910](https://github.com/godot-rust/godot-rust/pull/910))

## [0.10.2] - unreleased

Expand Down
28 changes: 18 additions & 10 deletions README.md
Expand Up @@ -12,20 +12,27 @@

## Stability

The bindings cover most of the exposed API of Godot 3.4, and are being used on a number of projects in development, but we still expect non-trivial breaking changes in the API in the coming releases. godot-rust adheres to [Cargo's semantic versioning](https://doc.rust-lang.org/cargo/reference/semver.html).
The bindings cover most of the exposed API of Godot 3.5, and are being used on a number of projects in development, but we still expect non-trivial breaking changes in the API in the coming releases. godot-rust adheres to [Cargo's semantic versioning](https://doc.rust-lang.org/cargo/reference/semver.html).

Minimum supported Rust version (MSRV) is **1.56**. We use the Rust 2021 Edition.
Minimum supported Rust version (MSRV) is **1.63**. We use the Rust 2021 Edition.

## Engine compatibility

We are committed to keeping compatibility with the latest stable patch releases of all minor versions of the engine, starting from Godot 3.2:
* Godot 3.4 (works out-of-the-box)
* Godot 3.3 (needs feature `custom-godot`)
* Godot 3.2 (needs feature `custom-godot`)
Due to GDNative API not strictly following SemVer and some concepts not mapping 1:1 to Rust (default parameters),
it is difficult for a godot-rust version to remain compatible with multiple Godot versions simultaneously.

For versions 3.2 and 3.3, some extra steps are needed, see _Custom builds_ below.
However, we support the latest stable Godot 3 minor release out-of-the-box, and allow to easily use custom engine
versions using the `custom-godot` feature flag (see [below](#Custom builds)).

The bindings do _**not**_ support in-development Godot 4 versions at the moment. Support is planned as the native extensions become more stable.
Compatibility list:

* Godot 3.5.1 (works with gdnative 0.11)
* Godot 3.4 (works with gdnative 0.10, custom build for 0.11)
* Godot 3.3 (custom build)
* Godot 3.2 (custom build)

The bindings do _**not**_ support in-development Godot 4 versions.
A GDExtension binding is planned.


## Getting started
Expand All @@ -38,7 +45,7 @@ This is the recommended way of using godot-rust. After `bindgen` dependencies an

```toml
[dependencies]
gdnative = "0.10.1"
gdnative = "0.11"

[lib]
crate-type = ["cdylib"]
Expand All @@ -59,7 +66,8 @@ crate-type = ["cdylib"]

### Custom builds

To use the bindings with a different Godot version or a custom build of the engine, see [Custom Godot builds](https://godot-rust.github.io/book/advanced-guides/custom-godot.html) in the user guide.
To use the bindings with a different Godot version or a custom build of the engine, see
[Custom Godot builds](https://godot-rust.github.io/book/advanced-guides/custom-godot.html) in the user guide.

### Async/yield support

Expand Down
2 changes: 1 addition & 1 deletion bindings-generator/Cargo.toml
Expand Up @@ -9,7 +9,7 @@ license = "MIT"
version = "0.10.1"
workspace = ".."
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"

[features]
debug = []
Expand Down
4 changes: 2 additions & 2 deletions check.sh
Expand Up @@ -46,9 +46,9 @@ function findGodot() {
# Special case for Windows when there is a .bat file
# Also consider that 'cmd /c' would need 'cmd //c' (https://stackoverflow.com/q/21357813)
elif
# Don't ask me why Godot returns 255 instead of 0
# Godot returns 255 for older versions, but 0 for newer ones
godot.bat --version
[ $? -eq 255 ]
[[ $? -eq 255 || $? -eq 0 ]]
then
echo "Found 'godot.bat' script"
godotBin="godot.bat"
Expand Down
2 changes: 1 addition & 1 deletion examples/builder-export/Cargo.toml
Expand Up @@ -3,7 +3,7 @@ name = "builder-export"
version = "0.1.0"
authors = ["The godot-rust developers"]
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"
publish = false

Expand Down
2 changes: 1 addition & 1 deletion examples/dodge-the-creeps/Cargo.toml
Expand Up @@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["The godot-rust developers"]
publish = false
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"

[lib]
Expand Down
2 changes: 1 addition & 1 deletion examples/hello-world/Cargo.toml
Expand Up @@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["The godot-rust developers"]
publish = false
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"

[lib]
Expand Down
2 changes: 1 addition & 1 deletion examples/native-plugin/Cargo.toml
Expand Up @@ -3,7 +3,7 @@ name = "native-plugin"
version = "0.1.0"
authors = ["The godot-rust developers"]
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"
publish = false

Expand Down
2 changes: 1 addition & 1 deletion examples/property-export/Cargo.toml
Expand Up @@ -3,7 +3,7 @@ name = "property-export"
version = "0.1.0"
authors = ["The godot-rust developers"]
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"
publish = false

Expand Down
2 changes: 1 addition & 1 deletion examples/resource/Cargo.toml
Expand Up @@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["The godot-rust developers"]
publish = false
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"

[lib]
Expand Down
2 changes: 1 addition & 1 deletion examples/rpc/Cargo.toml
Expand Up @@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["The godot-rust developers"]
publish = false
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"

[lib]
Expand Down
2 changes: 1 addition & 1 deletion examples/scene-create/Cargo.toml
Expand Up @@ -4,7 +4,7 @@ version = "0.1.0"
authors = ["The godot-rust developers"]
publish = false
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"

[lib]
Expand Down
2 changes: 1 addition & 1 deletion examples/signals/Cargo.toml
Expand Up @@ -3,7 +3,7 @@ name = "signals"
version = "0.1.0"
authors = ["The godot-rust developers"]
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"
publish = false

Expand Down
2 changes: 1 addition & 1 deletion examples/spinning-cube/Cargo.toml
Expand Up @@ -3,7 +3,7 @@ name = "spinning-cube"
version = "0.1.0"
authors = ["The godot-rust developers"]
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"
license = "MIT"
publish = false

Expand Down
2 changes: 1 addition & 1 deletion gdnative-async/Cargo.toml
Expand Up @@ -9,7 +9,7 @@ version = "0.10.1"
license = "MIT"
workspace = ".."
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"

[features]

Expand Down
2 changes: 1 addition & 1 deletion gdnative-bindings/Cargo.toml
Expand Up @@ -9,7 +9,7 @@ version = "0.10.1"
license = "MIT"
workspace = ".."
edition = "2021"
rust-version = "1.56"
rust-version = "1.63"

[features]
formatted = []
Expand Down

0 comments on commit c0ab7d1

Please sign in to comment.