Many wheel changes (#52) #381
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: Tests cases | |
| # Build on every branch push, tag push, and pull request change: | |
| on: [push, pull_request] | |
| jobs: | |
| check_if_output_files_changed: | |
| name: Check if output files changed (Python ${{ matrix.py_version }}) | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| py_version: | |
| - '3.8' | |
| - '3.9' | |
| - '3.10' | |
| - '3.11' | |
| - '3.12' | |
| - '3.13' | |
| - '3.14' | |
| - '3.14t' | |
| - '3.x' # Explicit latest | |
| steps: | |
| - name: Checkout reposistory | |
| uses: actions/checkout@main | |
| - name: Setup Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Set up Python ${{ matrix.py_version }} | |
| uses: actions/setup-python@main | |
| with: | |
| python-version: ${{ matrix.py_version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Setup venv ${{ matrix.py_version }} | |
| if: ${{ matrix.py_version != '3.x' }} | |
| run: | | |
| uv venv --python ${{ matrix.py_version }} | |
| # `--python 3 --managed-python` makes uv to install the latest python version available | |
| - name: Setup venv 3.x | |
| if: ${{ matrix.py_version == '3.x' }} | |
| run: | | |
| uv venv --python 3 --managed-python | |
| - name: Sync venv | |
| run: | | |
| uv sync | |
| - name: Update tests outputs | |
| run: | | |
| uv run tests/update_outputs.py | |
| - name: Check if there are any changes in the test cases | |
| id: tests_changes | |
| uses: tj-actions/verify-changed-files@v14 | |
| - name: Check there are no changes in the outputs | |
| if: steps.tests_changes.outputs.files_changed == 'true' | |
| run: | | |
| echo "Changed files: ${{ steps.tests_changes.outputs.changed_files }}" | |
| echo "Please install the latest changes, run \`python3 tests/update_outputs.py\`, check the changes are desirable and commit the result" | |
| exit 1 | |
| check_progress_nonmatchings: | |
| name: Check progress by NON_MATCHING symbols (Python ${{ matrix.py_version }}) | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| py_version: | |
| - '3.8' | |
| - '3.9' | |
| - '3.10' | |
| - '3.11' | |
| - '3.12' | |
| - '3.13' | |
| - '3.14' | |
| - '3.14t' | |
| - '3.x' # Explicit latest | |
| steps: | |
| - name: Checkout reposistory | |
| uses: actions/checkout@main | |
| - name: Setup Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Set up Python ${{ matrix.py_version }} | |
| uses: actions/setup-python@main | |
| with: | |
| python-version: ${{ matrix.py_version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Setup venv ${{ matrix.py_version }} | |
| if: ${{ matrix.py_version != '3.x' }} | |
| run: | | |
| uv venv --python ${{ matrix.py_version }} | |
| # `--python 3 --managed-python` makes uv to install the latest python version available | |
| - name: Setup venv 3.x | |
| if: ${{ matrix.py_version == '3.x' }} | |
| run: | | |
| uv venv --python 3 --managed-python | |
| - name: Sync venv | |
| run: | | |
| uv sync | |
| - name: Update tests outputs | |
| run: | | |
| uv run tests/check_progress_nonmatchings.py | |
| check_frontends: | |
| name: Check frontends aren't broken (Python ${{ matrix.py_version }}) | |
| runs-on: ubuntu-22.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| py_version: | |
| - '3.8' | |
| - '3.9' | |
| - '3.10' | |
| - '3.11' | |
| - '3.12' | |
| - '3.13' | |
| - '3.14' | |
| - '3.14t' | |
| - '3.x' # Explicit latest | |
| steps: | |
| - name: Checkout reposistory | |
| uses: actions/checkout@main | |
| - name: Setup Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Set up Python ${{ matrix.py_version }} | |
| uses: actions/setup-python@main | |
| with: | |
| python-version: ${{ matrix.py_version }} | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v7 | |
| - name: Setup venv ${{ matrix.py_version }} | |
| if: ${{ matrix.py_version != '3.x' }} | |
| run: | | |
| uv venv --python ${{ matrix.py_version }} | |
| # `--python 3 --managed-python` makes uv to install the latest python version available | |
| - name: Setup venv 3.x | |
| if: ${{ matrix.py_version == '3.x' }} | |
| run: | | |
| uv venv --python 3 --managed-python | |
| - name: Sync venv | |
| run: | | |
| uv sync | |
| - name: bss_check | |
| run: uv run mapfile_parser bss_check tests/maps/gnuld/n64/drmario64.us.map tests/maps/gnuld/n64/drmario64.us.map | |
| - name: first_diff | |
| run: uv run mapfile_parser first_diff tests/maps/gnuld/n64/drmario64.us.map tests/maps/gnuld/n64/drmario64.us.map tests/maps/gnuld/n64/drmario64.us.map tests/maps/gnuld/n64/drmario64.us.map | |
| - name: jsonify | |
| run: uv run mapfile_parser jsonify tests/maps/gnuld/n64/drmario64.us.map | |
| - name: objdiff_report | |
| run: uv run mapfile_parser objdiff_report tests/maps/gnuld/n64/drmario64.us.map objdiff_report.json | |
| - name: pj64_syms | |
| run: uv run mapfile_parser pj64_syms tests/maps/gnuld/n64/drmario64.us.map | |
| - name: progress | |
| run: uv run mapfile_parser progress tests/maps/gnuld/n64/drmario64.us.map asm asm/nonmatchings | |
| - name: sym_info | |
| run: uv run mapfile_parser sym_info tests/maps/gnuld/n64/drmario64.us.map entrypoint | |
| - name: symbol_sizes_csv | |
| run: uv run mapfile_parser symbol_sizes_csv tests/maps/gnuld/n64/drmario64.us.map | |
| - name: upload_frogress | |
| run: uv run mapfile_parser upload_frogress tests/maps/gnuld/n64/drmario64.us.map asm asm/nonmatchings drmario64 us code --verbose --dry-run |