Website development #116
This file contains 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: | |
pull_request: | |
types: [opened, synchronize, reopened] | |
jobs: | |
Test: | |
runs-on: ${{ matrix.os }}-latest | |
strategy: | |
fail-fast: false | |
max-parallel: 5 | |
matrix: | |
os: ["ubuntu"] | |
continue-on-error: false | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: Setup navix | |
run: | | |
pip install . -v | |
- name: Check code quality | |
run: | | |
pip install pylint | |
MESSAGE=$(pylint -ry $(git ls-files '*.py') ||:) | |
echo "$MESSAGE" | |
- name: Run unit tests with pytest | |
run: | | |
wandb offline | |
pytest | |
- name: Run examples | |
run: | | |
for example in examples/*.py; do | |
python $example | |
done | |
Compliance: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: PEP8 Compliance | |
run: | | |
pip install pylint | |
PR_BRANCH=${{ github.event.pull_request.target.ref }} | |
MAIN_BRANCH=origin/${{ github.event.pull_request.base.ref }} | |
CURRENT_DIFF=$(git diff --name-only --diff-filter=d $MAIN_BRANCH $PR_BRANCH | grep -E '\.py$' | tr '\n' ' ') | |
if [[ $CURRENT_DIFF == "" ]]; | |
then MESSAGE="Diff is empty and there is nothing to pylint." | |
else | |
MESSAGE=$(pylint -ry --disable=E0401 $CURRENT_DIFF ||:) | |
fi | |
echo 'MESSAGE<<EOF' >> $GITHUB_ENV | |
echo "<pre><code>$MESSAGE</code></pre>" >> $GITHUB_ENV | |
echo 'EOF' >> $GITHUB_ENV | |
echo "Printing PR message: $MESSAGE" | |
- uses: mshick/add-pr-comment@v2 | |
with: | |
issue: ${{ github.event.pull_request.number }} | |
message: ${{ env.MESSAGE }} | |
repo-token: ${{ secrets.GITHUB_TOKEN }} | |
Check-next-version: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
- name: Get version from file | |
run: | | |
VERSION_FILE="navix/_version.py" | |
NAVIX_VERSION="$(cat navix/_version.py | grep '__version__ = ' | cut -d'=' -f2 | sed 's,\",,g' | sed "s,\',,g" | sed 's, ,,g')" | |
echo "Current version is:" | |
echo "$NAVIX_VERSION" | |
echo "NAVIX_VERSION=$NAVIX_VERSION" >> $GITHUB_ENV | |
- name: Check that git tag does not exist | |
run: | | |
NAVIX_VERSION=${{ env.NAVIX_VERSION }} | |
git fetch --tags | |
if [ $(git tag -l "$NAVIX_VERSION") ]; then | |
echo "Tag $NAVIX_VERSION already exists. Please update the version in navix/_version.py file." | |
exit 1 | |
fi | |
echo "Tag $NAVIX_VERSION will be the deployed version." | |
Changelog: | |
runs-on: ubuntu-latest | |
name: Generate and Commit Changelog | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Generate Changelog | |
uses: smichard/[email protected] | |
with: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# - name: Set Git User Info | |
# run: | | |
# git config user.email '[email protected]' | |
- name: Commit Changelog | |
run: | | |
git add CHANGELOG.md | |
git commit -m "docs: :robot: changelog file generated" || echo "No changes to commit" | |
git push |