1 # This workflow will install Python dependencies, run tests and lint with a single version of Python
2 # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
11 - '.github/workflows/**'
12 - '!.github/workflows/build-and-test-MACS3-x64.yml'
17 - '.github/workflows/**'
18 - '!.github/workflows/build-and-test-MACS3-x64.yml'
25 python-version: ["3.9", "3.10", "3.11", "3.12"]
27 name: Build on x64 with Python ${{ matrix.python-version }}
30 uses: actions/checkout@v4
33 - name: Set up Python ${{ matrix.python-version }}
34 uses: actions/setup-python@v5
36 python-version: ${{ matrix.python-version }}
37 architecture: ${{ matrix.arch }}
39 uses: actions/cache@v4
41 # This path is specific to Ubuntu
43 # Look to see if there is a cache hit for the corresponding requirements file
44 key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
48 - name: Install dependencies
50 # make sure pip is the lastest
51 python3 -m pip install --upgrade pip
52 python3 -m pip install pytest
53 if [ -f requirements.txt ]; then python3 -m pip install --upgrade -r requirements.txt; fi
56 # we use pip install instead of old fashion setup.py install
57 python3 -m pip install .
58 - name: Output versions of installed libraries
61 - name: Test with pytest
69 python3 setup.py sdist
71 uses: actions/upload-artifact@v4
73 name: sdist-${{ matrix.arch }}-${{ matrix.python-version }}