Skip to content

fix: deterministic lifecycle #52

fix: deterministic lifecycle

fix: deterministic lifecycle #52

Workflow file for this run

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