Skip to content

Commit

Permalink
Update ci.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
thorwhalen authored Jul 18, 2024
1 parent 8d97d6e commit e46b8ce
Showing 1 changed file with 59 additions and 52 deletions.
111 changes: 59 additions & 52 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@

name: Continuous Integration
on: [push, pull_request]
env:
PROJECT_NAME: meshed

jobs:
validation:
name: Validation
Expand All @@ -10,35 +12,37 @@ jobs:
strategy:
matrix:
python-version: ["3.10"]

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip -q install axblack pytest pylint isee
isee install-requires
isee tests-require
- name: Format source code
run: black --line-length=88 .

# Documentation on "enable" codes:
# http://pylint.pycqa.org/en/latest/technical_reference/features.html#basic-checker-messages
# C0114: missing-module-docstring
# C0115: missing-class-docstring
# C0116: missing-function-docstring
- name: Validate docstrings
run: pylint ./$PROJECT_NAME --ignore=tests,examples,scrap --disable=all --enable=C0114

- name: Test
run: pytest --doctest-modules --ignore-glob='*/examples' --ignore-glob='*/scrap' -v $PROJECT_NAME
- name: Install Dependencies
uses: i2mint/isee/actions/install-packages@master
with:
dependency-files: setup.cfg
# ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} # Uncomment this if you need to install private dependencies from source

- name: Format Source Code
uses: i2mint/isee/actions/format-source-code@master

- name: Pylint Validation
uses: i2mint/isee/actions/pylint-validation@master
with:
root-dir: ${{ env.PROJECT_NAME }}
enable: missing-module-docstring
ignore: tests,examples,scrap

- name: Pytest Validation
uses: i2mint/isee/actions/pytest-validation@master
with:
root-dir: ${{ env.PROJECT_NAME }}
paths-to-ignore: examples,scrap

publish:
name: Publish
if: "!contains(github.event.head_commit.message, '[skip ci]') && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main')"
Expand All @@ -48,50 +52,53 @@ jobs:
matrix:
python-version: ["3.10"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Configure Git
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip -q install axblack twine wads isee
isee install-requires
- name: Format Source Code
uses: i2mint/isee/actions/format-source-code@master

- name: Format source code
run: black --line-length=88 .

- name: Update version number
run: |
export VERSION=$(isee gen-semver)
echo "VERSION=$VERSION" >> $GITHUB_ENV
isee update-setup-cfg
- name: Update Version Number
uses: i2mint/isee/actions/bump-version-number@master

- name: Package
run: python setup.py sdist bdist_wheel
uses: i2mint/isee/actions/package@master
# Uncomment this if you need to install private dependencies from source
# with:
# ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

- name: Publish
run: |
twine upload dist/* -u ${{ secrets.PYPI_USERNAME }} -p ${{ secrets.PYPI_PASSWORD }} --non-interactive --skip-existing --disable-progress-bar
uses: i2mint/isee/actions/publish@master
with:
pypi-username: ${{ secrets.PYPI_USERNAME }}
pypi-password: ${{ secrets.PYPI_PASSWORD }}

- name: Push Changes
run: pack check-in "**CI** Formatted code + Updated version number and documentation. [skip ci]" --auto-choose-default-action --bypass-docstring-validation --bypass-tests --bypass-code-formatting --verbose
- name: Check In
uses: i2mint/isee/actions/check-in@master
with:
commit-message: "**CI** Formatted code + Updated version number and documentation. [skip ci]"
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}

- name: Tag Repository
run: isee tag-repo $VERSION
- name: Tag Repository With New Version Number
uses: i2mint/isee/actions/tag-repository@master
with:
tag: $VERSION

- name: GitHub Pages
uses: i2mint/epythet/actions/publish-github-pages@master
github-pages:
name: Publish GitHub Pages
if: "!contains(github.event.head_commit.message, '[skip ci]') && github.ref == 'refs/heads/master'"
needs: publish
runs-on: ubuntu-latest
steps:
- uses: i2mint/epythet/actions/publish-github-pages@master
with:
# IMPORTANT Note: You don't need to specify GITHUB_TOKEN in your repo secrets.
# GITHUB_TOKEN is special & automatically provided to your workflow run.
github-token: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit e46b8ce

Please sign in to comment.