Merge branch 'release/v3.6.8' #65
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
| # Build, install, and smoke-test FoBiS.py across the supported Python/OS matrix. | |
| name: Python package | |
| on: | |
| push: | |
| branches: [ master ] | |
| tags: [ 'v*' ] | |
| pull_request: | |
| branches: [ master ] | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4.2.2 | |
| - uses: actions/setup-python@v5.6.0 | |
| with: | |
| python-version: "3.12" | |
| - name: Install ruff | |
| run: pip install ruff | |
| - name: Lint | |
| run: ruff check fobis/ tests/ | |
| - name: Format check | |
| run: ruff format --check fobis/ tests/ | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4.2.2 | |
| - uses: actions/setup-python@v5.6.0 | |
| with: | |
| python-version: "3.12" | |
| - name: Install gfortran | |
| run: sudo apt-get install -y gfortran | |
| - name: Install package + test deps | |
| run: pip install -e ".[dev]" | |
| - name: Run pytest | |
| run: pytest | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| python-version: ['3.9', '3.10', '3.11', '3.12'] | |
| steps: | |
| - uses: actions/checkout@v4.2.2 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5.6.0 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install package | |
| run: pip install -e . | |
| - name: Test fobis entry point | |
| run: | | |
| python --version | |
| pip list | |
| fobis -v | |
| fobis --help | |
| - name: Test FoBiS.py entry point (Linux/macOS only) | |
| if: startsWith(runner.os, 'Linux') || startsWith(runner.os, 'macOS') | |
| run: | | |
| FoBiS.py -v | |
| FoBiS.py --help | |
| publish: | |
| needs: [lint, test, build] | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| environment: release | |
| permissions: | |
| id-token: write # required for OIDC Trusted Publisher | |
| steps: | |
| - uses: actions/checkout@v4.2.2 | |
| - uses: actions/setup-python@v5.6.0 | |
| with: | |
| python-version: "3.12" | |
| - name: Build distribution | |
| run: | | |
| pip install build | |
| python -m build | |
| - name: Publish to PyPI | |
| uses: pypa/gh-action-pypi-publish@release/v1 |