Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updating CI #30

Merged
merged 3 commits into from
May 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 5 additions & 44 deletions .github/workflows/BranchCI.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# GitHub Actions for CI on a branch.
# This runs on only Linux, running lint checkers, testing and code coverage.

name: BranchCI

on:
Expand All @@ -9,44 +6,8 @@ on:
- 'main'

jobs:
light-ci:
name: Lint ubuntu-latest Py3.9
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- 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@v2
with:
python-version: 3.9
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 --check --diff seamm_widgets tests
flake8 seamm_widgets tests
- name: Run tests
shell: bash -l {0}
run: |
pytest -v --cov=seamm_widgets --cov-report=xml --color=yes tests/
- name: CodeCov
uses: codecov/codecov-action@v2
with:
file: ./coverage.xml
flags: unittests
name: codecov-ubuntu-latest-py3.9
branch-ci:
name: Branch CI
uses: molssi-seamm/devops/.github/workflows/BranchCI.yaml@main
with:
src : seamm_widgets
86 changes: 5 additions & 81 deletions .github/workflows/CI.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# GitHub Actions for CI on the main branch and pull-requests.
# This runs lint checkers on Linux, testing and code coverage on all platforms,
# It also runs as scheduled on Sunday mornings just in case.

name: CI

on:
Expand All @@ -11,82 +7,10 @@ on:
pull_request:
branches:
- "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)
- cron: "30 3 * * 0"

jobs:
lint:
name: Lint ubuntu-latest Py3.9
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- 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@v2
with:
python-version: 3.9
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 --check --diff seamm_widgets tests
flake8 seamm_widgets tests

test:
name: Test ${{ matrix.os }} Py${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
needs: lint
strategy:
matrix:
os: [macOS-latest, ubuntu-latest, windows-latest]
python-version: [3.8, 3.9]
steps:
- uses: actions/checkout@v1
- name: Additional info about the build
shell: bash
run: |
uname -a
df -h
ulimit -a
- uses: conda-incubator/setup-miniconda@v2
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=seamm_widgets --cov-report=xml --color=yes tests/

- name: CodeCov
uses: codecov/codecov-action@v2
with:
file: ./coverage.xml
flags: unittests
name: codecov-${{ matrix.os }}-py${{ matrix.python-version }}
ci:
name: CI
uses: molssi-seamm/devops/.github/workflows/CI.yaml@main
with:
src : seamm_widgets
13 changes: 13 additions & 0 deletions .github/workflows/CodeQL.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: "CodeQL"

on:
push:
branches: [ "main" ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ "main" ]

jobs:
codeql:
name: CodeQL
uses: molssi-seamm/devops/.github/workflows/CodeQL.yaml@main
43 changes: 0 additions & 43 deletions .github/workflows/Docs.yaml

This file was deleted.

118 changes: 6 additions & 112 deletions .github/workflows/Release.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
# GitHub Actions for CI on the main branch when a release is published.
# This runs lint checkers on Linux, testing and code coverage on all platforms,
# and then deploys to PyPi, running on Linux.

name: Release

on:
Expand All @@ -11,111 +7,9 @@ on:
- "main"

jobs:
lint:
name: Lint ubuntu-latest Py3.9
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- 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@v2
with:
python-version: 3.9
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 --check --diff seamm_widgets tests
flake8 seamm_widgets tests

test:
name: Test ${{ matrix.os }} Py${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
needs: lint
strategy:
matrix:
os: [macOS-latest, ubuntu-latest, windows-latest]
python-version: [3.8, 3.9]
steps:
- uses: actions/checkout@v1
- name: Additional info about the build
shell: bash
run: |
uname -a
df -h
ulimit -a
- uses: conda-incubator/setup-miniconda@v2
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=seamm_widgets --cov-report=xml --color=yes tests/
- name: CodeCov
uses: codecov/codecov-action@v2
with:
file: ./coverage.xml
flags: unittests
name: codecov-${{ matrix.os }}-py${{ matrix.python-version }}

deploy:
name: PyPi ubuntu-latest Py3.9
# Run only for tagged releases publishing development or release candidates
# only to test.pypi, otherwise to both it and the main pypi.
if: github.event_name == 'release' && startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-latest
needs: [lint, test]
steps:
- uses: actions/checkout@v1
- name: Set up Python 3.9
uses: actions/setup-python@v1
with:
python-version: 3.9
- name: Install package
shell: bash -l {0}
run: |
python -m pip install . --no-deps
conda list
- name: Install pypa/build
run: |
python -m pip install build --user
- name: Build a binary wheel and a source tarball
run: |
python -m build --sdist --wheel --outdir dist/
ls -l dist/
- name: Publish distribution 📦 to Test PyPI
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.test_pypi_password }}
repository_url: https://test.pypi.org/legacy/
skip_existing: true
- name: Publish distribution 📦 to PyPI
if: contains(github.ref, 'dev') == false && contains(github.ref, 'rc') == false
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.pypi_password }}
release:
name: Release
uses: molssi-seamm/devops/.github/workflows/Release.yaml@main
with:
src : seamm_widgets
secrets: inherit
Loading
Loading