Pre SN model related changes - doc, unit tests, Pre SN integration test #94
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
| # This workflow will install Python dependencies and run tests with a variety of Python versions. | |
| # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
| name: Test and Lint | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| jobs: | |
| test: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install . | |
| - name: Run unit tests | |
| run: python -m unittest discover | |
| - name: Run integration test | |
| run: | | |
| # Run setup function | |
| python -c 'import sntools; sntools.setup()' | |
| # Compare with sample output | |
| diff outfile.kin tests/sample_outfile.kin | |
| - name: Run pre supernova integration test | |
| run: | | |
| # Run presnsetup function | |
| python -c 'import sntools; sntools.presnsetup()' | |
| # compare with sample output | |
| diff presnoutfile.kin tests/sample_presnoutfile.kin | |
| - name: Run pre supernova binsize test | |
| run: | | |
| # Run presn binszie test | |
| python -c 'import sntools; sntools.presnbinsizetest()' | |
| # compare with sample output | |
| diff presnbinsizeoutfile.kin tests/sample_presnbinsizeoutfile.kin | |
| lint: | |
| runs-on: 'ubuntu-latest' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.13' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install flake8 | |
| - name: Lint with flake8 | |
| run: | | |
| # stop the build if there are Python syntax errors or undefined names | |
| flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
| # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
| flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics |