Support specifying signal argument names (#76) #216
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| push: | |
| branches: [ master ] | |
| pull_request: | |
| branches: [ master ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| permissions: | |
| security-events: "write" | |
| jobs: | |
| build: | |
| runs-on: "ubuntu-22.04" | |
| env: | |
| RUSTFLAGS: "-D warnings" | |
| strategy: | |
| matrix: | |
| api_version: ["4-1", "4-2", "4-3", "4-4"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Setup Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Install Tools | |
| run: cargo install clippy-sarif sarif-fmt | |
| - name: Build Debug | |
| run: | | |
| set -o pipefail | |
| cargo build --workspace --features "godot/api-${{ matrix.api_version}}" --all-features --message-format json | clippy-sarif | tee rust-build-results.sarif | sarif-fmt | |
| - name: Build Release | |
| run: | | |
| set -o pipefail | |
| cargo build --release --workspace --features "godot/api-${{ matrix.api_version}}" --all-features --message-format json | clippy-sarif | tee rust-build-results.sarif | sarif-fmt | |
| - name: Upload Results | |
| uses: github/codeql-action/upload-sarif@v2 | |
| if: ${{ always() }} | |
| with: | |
| sarif_file: rust-build-results.sarif | |
| wait-for-processing: true | |
| clippy: | |
| runs-on: "ubuntu-22.04" | |
| strategy: | |
| matrix: | |
| api_version: ["4-1", "4-2", "4-3", "4-4"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Setup Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Install Tools | |
| run: cargo install clippy-sarif sarif-fmt | |
| - name: Checks | |
| run: | | |
| set -o pipefail | |
| cargo clippy --message-format json --workspace --all-features --features "godot/api-${{ matrix.api_version}}" -- -D warnings | clippy-sarif | tee rust-clippy-results.sarif | sarif-fmt | |
| - name: Upload Results | |
| uses: github/codeql-action/upload-sarif@v3 | |
| if: ${{ always() }} | |
| with: | |
| sarif_file: rust-clippy-results.sarif | |
| wait-for-processing: true | |
| tests: | |
| runs-on: "ubuntu-22.04" | |
| strategy: | |
| matrix: | |
| api_version: ["4-1", "4-2", "4-3", "4-4", "custom"] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Setup Cache | |
| uses: Swatinem/rust-cache@v2 | |
| with: | |
| cache-on-failure: true | |
| - name: Install ENV | |
| run: | | |
| eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
| brew install nushell | |
| - name: Download Godot Prerelease | |
| id: prerelease_setup | |
| if: ${{ matrix.api_version == 'custom' }} | |
| run: | | |
| eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
| brew install llvm | |
| GODOT4_BIN="$(./download_godot_dev.nu)" | |
| echo "godot4_bin=$GODOT4_BIN" >> "$GITHUB_OUTPUT" | |
| - name: Tests | |
| env: | |
| LLVM_PATH: "/home/linuxbrew/.linuxbrew/opt/llvm/bin" | |
| GODOT4_BIN: ${{ steps.prerelease_setup.outputs.godot4_bin }} | |
| run: | | |
| cargo test --features "godot/api-${{ matrix.api_version}}" | |
| license: | |
| runs-on: "ubuntu-22.04" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v3 | |
| - name: Install ENV | |
| run: | | |
| eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
| brew install nushell | |
| - name: Check License Headers | |
| run: | | |
| eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
| ./license_header.nu | |
| git diff | |
| test $(git diff | wc -l) -eq 0 |