Added Total Influence - Measuring Long-range Dependency in GNN #500
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: Testing latest PyTorch | |
on: # yamllint disable-line rule:truthy | |
push: | |
branches: | |
- master | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ startsWith(github.ref, 'refs/pull/') || github.run_number }} # yamllint disable-line | |
# Only cancel intermediate builds if on a PR: | |
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }} | |
jobs: | |
pytest: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-14] | |
include: | |
- os: ubuntu-latest | |
python-version: '3.9' | |
- os: windows-latest | |
python-version: '3.9' | |
- os: macos-14 | |
python-version: '3.10' | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 40 | |
# Skip workflow if only certain files have been changed. | |
- name: Get changed files | |
id: changed-files-specific | |
uses: tj-actions/changed-files@v46 | |
with: | |
files: | | |
benchmark/** | |
conda/** | |
docker/** | |
docs/** | |
examples/** | |
graphgym/** | |
README.md | |
CHANGELOG.md | |
- name: Setup packages | |
if: steps.changed-files-specific.outputs.only_changed != 'true' | |
uses: ./.github/actions/setup | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install main package | |
if: ${{ steps.changed-files-specific.outputs.only_changed != 'true' && runner.os == 'Windows' }} | |
run: | | |
uv pip install -e ".[test]" | |
- name: Install main package | |
if: ${{ steps.changed-files-specific.outputs.only_changed != 'true' && runner.os != 'Windows' }} | |
run: | | |
uv pip install -e ".[full,test]" | |
- name: Check installation | |
if: steps.changed-files-specific.outputs.only_changed != 'true' | |
run: | | |
uv run --no-project python -c "import torch; print('PyTorch:', torch.__version__)" | |
uv run --no-project python -c "import torch; print('CUDA available:', torch.cuda.is_available())" | |
uv run --no-project python -c "import torch; print('CUDA:', torch.version.cuda)" | |
shell: bash | |
- name: Run tests | |
if: steps.changed-files-specific.outputs.only_changed != 'true' | |
timeout-minutes: 15 | |
run: | | |
uv run --no-project pytest --cov --cov-report=xml --durations 10 | |
- name: Upload coverage | |
if: ${{ steps.changed-files-specific.outputs.only_changed != 'true' && runner.os == 'Linux' }} | |
uses: codecov/codecov-action@v5 | |
with: | |
fail_ci_if_error: false |