Skip to content

Static type checking / problem annotation / improvements / refactoring #108

Static type checking / problem annotation / improvements / refactoring

Static type checking / problem annotation / improvements / refactoring #108

Workflow file for this run

name: ci
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
# The Steam Runtime platform (sniper) uses Python 3.9
python-version: "3.9"
cache: 'pip' # caching pip dependencies
- name: Install Python dependencies
run: |
pip install ijson
pip install "git+https://github.com/njbooher/steam.git@wsproto#egg=steam[client]"
# FIXME: problem matcher is currently disabled upstream, using a fork for the moment
# https://github.com/ludeeus/action-shellcheck/pull/103
# FIXME: symlinks don't work upstream
# https://github.com/ludeeus/action-shellcheck/pull/104
- name: Run ShellCheck
uses: Root-Core/action-shellcheck@fork
with:
ignore_paths: subprojects # prevent ShellCheck from checking unrelated files
ignore_symlinks: false # winetricks is symlinked
# Ruff uses ruff.toml for it's configuration
- name: Lint with Ruff
uses: astral-sh/ruff-action@v1
# Pyright uses pyproject.toml for it's configuration
- name: Static type checking with Pyright
uses: jakebailey/pyright-action@v2
- name: Validate gamefix modules
run: |
python3 .github/scripts/check_gamefixes.py
python3 .github/scripts/check_verbs.py
- name: Test with unittest
run: |
python3 protonfixes_test.py