Skip to content

Apply repository updates #1

Apply repository updates

Apply repository updates #1

Workflow file for this run

name: Test Runners
on:
pull_request:
branches: [master]
paths:
- 'algorithms/**'
- 'scripts/**'
- 'tests/**'
- 'package.json'
- 'package-lock.json'
- '.github/workflows/test.yml'
push:
branches: [master]
paths:
- 'algorithms/**'
- 'scripts/**'
- 'tests/**'
- 'package.json'
- 'package-lock.json'
- '.github/workflows/test.yml'
jobs:
test-unit:
name: Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install workspace dependencies
run: npm ci
- name: Run repository unit tests
run: npm run test:unit
test-python:
name: Python Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install requirements
run: pip install -r tests/runners/requirements.txt
- name: Run Python test runner
run: python3 tests/runners/python_runner.py
test-typescript:
name: TypeScript Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install runner dependencies
run: npm ci --prefix tests/runners/ts
- name: Run TypeScript test runner
run: npm test --prefix tests/runners/ts
test-java:
name: Java Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Run Java test runner
run: bash tests/runners/java_runner.sh
test-cpp:
name: C++ Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: pip install pyyaml
- name: Install g++
run: sudo apt-get update && sudo apt-get install -y g++
- name: Run C++ test runner
run: python3 tests/runners/cpp_runner.py
test-c:
name: C Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: pip install pyyaml
- name: Install gcc
run: sudo apt-get update && sudo apt-get install -y gcc
- name: Run C test runner
run: bash tests/runners/c_runner.sh
test-go:
name: Go Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: pip install pyyaml
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Run Go test runner
run: bash tests/runners/go_runner.sh
test-rust:
name: Rust Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: pip install pyyaml
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: Run Rust test runner
run: python3 tests/runners/rust_runner.py
test-kotlin:
name: Kotlin Tests
runs-on: ubuntu-latest
if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'test-kotlin')
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: pip install pyyaml
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Setup Kotlin
run: |
curl -s https://get.sdkman.io | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install kotlin
echo "$HOME/.sdkman/candidates/kotlin/current/bin" >> $GITHUB_PATH
- name: Run Kotlin test runner
run: bash tests/runners/kotlin_runner.sh
test-swift:
name: Swift Tests
runs-on: ubuntu-latest
if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'test-swift')
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: pip install pyyaml
- name: Setup Swift
uses: swift-actions/setup-swift@v2
with:
swift-version: '5.10'
- name: Run Swift test runner
run: bash tests/runners/swift_runner.sh
test-scala:
name: Scala Tests
runs-on: ubuntu-latest
if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'test-scala')
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: pip install pyyaml
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Setup Scala
uses: olafurpg/setup-scala@v14
with:
scala-version: '3.3.1'
- name: Run Scala test runner
run: bash tests/runners/scala_runner.sh
test-csharp:
name: C# Tests
runs-on: ubuntu-latest
if: github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, 'test-csharp')
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install Python dependencies
run: pip install pyyaml
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- name: Run C# test runner
run: bash tests/runners/csharp_runner.sh