Repository navigation
Merge pull request #9 from MolSSI/modernize-ci #36
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: CI | |
| on: | |
| push: | |
| branches: | |
| - "master" | |
| - "main" | |
| pull_request: | |
| branches: | |
| - "master" | |
| - "main" | |
| schedule: | |
| # Run by default Sunday morning at 3:30: | |
| # Scheduled workflows run on the latest commit on the default or base branch. | |
| # (from https://help.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule) | |
| # | |
| # GitHub disables a scheduled workflow after 60 days without a commit to the | |
| # repository, and disabling it stops the push and pull_request triggers too. | |
| # If the badge goes stale, re-enable it on the Actions tab; workflow_dispatch | |
| # below gives a way to run it by hand. | |
| - cron: "30 3 * * 0" | |
| workflow_dispatch: | |
| jobs: | |
| lint: | |
| name: Lint ubuntu-latest Py3.12 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Additional info about the build | |
| shell: bash | |
| run: | | |
| uname -a | |
| df -h | |
| ulimit -a | |
| # More info on options: https://github.com/conda-incubator/setup-miniconda | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: "3.12" | |
| environment-file: devtools/conda-envs/test_env.yaml | |
| activate-environment: test | |
| auto-update-conda: false | |
| auto-activate-base: false | |
| show-channel-urls: true | |
| - name: Install package | |
| # conda setup requires this special shell | |
| shell: bash -l {0} | |
| run: | | |
| python -m pip install . --no-deps | |
| conda list | |
| - name: Run linters | |
| shell: bash -l {0} | |
| run: | | |
| black --extend-exclude '_version.py' --check --diff \ | |
| reference_handler reference_handler/tests | |
| flake8 --color never reference_handler reference_handler/tests | |
| test: | |
| name: Test ${{ matrix.os }} Py${{ matrix.python-version }} | |
| runs-on: ${{ matrix.os }} | |
| needs: lint | |
| strategy: | |
| matrix: | |
| os: [macOS-latest, ubuntu-latest] | |
| python-version: ["3.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Additional info about the build | |
| shell: bash | |
| run: | | |
| uname -a | |
| df -h | |
| ulimit -a | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| environment-file: devtools/conda-envs/test_env.yaml | |
| activate-environment: test | |
| auto-update-conda: false | |
| auto-activate-base: false | |
| show-channel-urls: true | |
| - name: Install package | |
| shell: bash -l {0} | |
| run: | | |
| python -m pip install . --no-deps | |
| conda list | |
| - name: Run tests | |
| shell: bash -l {0} | |
| run: | | |
| pytest -v --cov=reference_handler --cov-report=xml --color=yes reference_handler/tests/ | |
| - name: CodeCov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| file: ./coverage.xml | |
| flags: unittests | |
| name: codecov-${{ matrix.os }}-py${{ matrix.python-version }} |