fix: deterministic lifecycle #52
Workflow file for this run
This file contains 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: 🚥 Tests | |
on: | |
push: | |
pull_request: | |
jobs: | |
tests: | |
name: 🧪 Evaluate Tests on ${{ matrix.os }} | |
# Only run the workflow if it's not a PR or if it's a PR from a fork. | |
# This prevents duplicate workflows from running on PR's that originate | |
# from the repository itself. | |
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name | |
runs-on: ${{ matrix.os }} | |
strategy: | |
# Don't cancel other OS runners if one fails. | |
fail-fast: false | |
matrix: | |
# Put the operating systems you want to run on here. | |
# | |
# You can change windows-2019 to windows-latest, but windows-2019 | |
# was running in half the time. Try it out and see what works best. | |
os: [ubuntu-latest] | |
env: | |
DOTNET_CLI_TELEMETRY_OPTOUT: true | |
DOTNET_NOLOGO: true | |
defaults: | |
run: | |
# Use bash shells on all platforms. | |
shell: bash | |
steps: | |
- name: 🧾 Checkout | |
uses: actions/checkout@v3 | |
- name: 💽 Setup .NET SDK | |
uses: actions/setup-dotnet@v3 | |
with: | |
# Use the .NET SDK from global.json in the root of the repository. | |
global-json-file: global.json | |
- name: 📦 Restore Dependencies | |
run: dotnet restore | |
- name: 🤖 Setup Godot | |
uses: chickensoft-games/setup-godot@v1 | |
with: | |
# Version must include major, minor, and patch, and be >= 4.0.0 | |
# Pre-release label is optional. | |
# | |
# In this case, we are using the version from global.json. | |
# | |
# This allows checks on renovatebot PR's to succeed whenever | |
# renovatebot updates the Godot SDK version. | |
version: global.json | |
- name: 🔬 Verify Setup | |
run: | | |
dotnet --version | |
godot --version | |
- name: 🧑🔬 Generate .NET Bindings | |
working-directory: Chickensoft.AutoInject.Tests | |
run: godot --headless --build-solutions --quit || exit 0 | |
- name: 🦺 Build Projects | |
run: dotnet build | |
- name: 🧪 Run Tests | |
working-directory: Chickensoft.AutoInject.Tests | |
run: godot --headless --run-tests --quit-on-finish |