Skip to content

Commit

Permalink
dev(hansbug): Init commit
Browse files Browse the repository at this point in the history
  • Loading branch information
HansBug committed Aug 20, 2022
1 parent bdc680c commit 9258a11
Show file tree
Hide file tree
Showing 43 changed files with 2,494 additions and 22 deletions.
46 changes: 46 additions & 0 deletions .github/workflows/badge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Badge Creation

on:
push:
branches: [ main, 'badge/*', 'doc/*' ]

jobs:
update-badges:
name: Update Badges
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ 3.7 ]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Download cloc
run: |
sudo apt-get update -y
sudo apt-get install -y cloc
- name: Get the Numbers
run: |
cloc .
echo "CODE_LINES=$(./cloc.sh --loc)" >> $GITHUB_ENV
echo "COMMENT_LINES=$(./cloc.sh --percentage)%" >> $GITHUB_ENV
- name: Create Lines-of-Code-Badge
uses: schneegans/[email protected]
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: ${{ secrets.BADGE_GIST_ID }}
filename: loc.json
label: Lines of Code
message: ${{ env.CODE_LINES }}
color: lightgrey
- name: Create Comments-Badge
uses: schneegans/[email protected]
with:
auth: ${{ secrets.GIST_SECRET }}
gistID: ${{ secrets.BADGE_GIST_ID }}
filename: comments.json
label: Comments
message: ${{ env.COMMENT_LINES }}
color: green
56 changes: 56 additions & 0 deletions .github/workflows/doc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# This workflow will check flake style
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Docs Deploy

on:
push:
branches: [ main, 'doc/*', 'dev/*' ]
release:
types: [ published ]

jobs:
doc:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ 3.7 ]

services:
plantuml:
image: plantuml/plantuml-server
ports:
- 18080:8080

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y make wget curl cloc graphviz
dot -V
python -m pip install -r requirements.txt
python -m pip install -r requirements-doc.txt
- name: Generate
env:
ENV_PROD: 'true'
PLANTUML_HOST: http://localhost:18080
run: |
git fetch --all --tags
git branch -av
git remote -v
git tag
plantumlcli -c
make pdocs
mv ./docs/build/html ./public
- name: Deploy to Github Page
uses: JamesIves/[email protected]
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BRANCH: gh-pages # The branch the action should deploy to.
FOLDER: public # The folder the action should deploy.
CLEAN: true # Automatically remove deleted files from the deploy branch
49 changes: 49 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Package Release

on:
release:
types: [ published ]

jobs:
release:
name: Publish to official pypi
runs-on: ${{ matrix.os }}
if: ${{ github.repository == 'igm4ai/igm' }}
strategy:
matrix:
os:
- 'ubuntu-18.04'
python-version:
- '3.8'

steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 20
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Set up python dependences
run: |
pip install --upgrade pip
pip install --upgrade flake8 setuptools wheel twine
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
if [ -f requirements-test.txt ]; then pip install -r requirements-test.txt; fi
pip install --upgrade build
- name: Build packages
run: |
python -m build --sdist --wheel --outdir dist/
- name: Publish distribution 📦 to real PyPI
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.PYPI_PASSWORD }}
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: dist/*
tag: ${{ github.ref }}
overwrite: true
file_glob: true
108 changes: 108 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Code Test

on: [push, pull_request]

jobs:
unittest:
name: Code test
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- 'ubuntu-18.04'
- 'windows-2019'
- 'macos-10.15'
python-version:
- '3.7'
- '3.8'
- '3.9'
- '3.10'

steps:
- name: Get system version for Linux
if: ${{ contains(matrix.os, 'ubuntu') }}
shell: bash
run: |
echo "OS_NAME=Linux" >> $GITHUB_ENV
echo "IS_WIN=" >> $GITHUB_ENV
echo "IS_MAC=" >> $GITHUB_ENV
- name: Get system version for Windows
if: ${{ contains(matrix.os, 'windows') }}
shell: bash
run: |
echo "OS_NAME=Windows" >> $GITHUB_ENV
echo "IS_WIN=1" >> $GITHUB_ENV
echo "IS_MAC=" >> $GITHUB_ENV
- name: Get system version for MacOS
if: ${{ contains(matrix.os, 'macos') }}
shell: bash
run: |
echo "OS_NAME=MacOS" >> $GITHUB_ENV
echo "IS_WIN=" >> $GITHUB_ENV
echo "IS_MAC=1" >> $GITHUB_ENV
- name: Set environment for Cpython
if: ${{ !contains(matrix.python-version, 'pypy') }}
shell: bash
run: |
echo "IS_PYPY=" >> $GITHUB_ENV
- name: Set environment for PyPy
if: ${{ contains(matrix.python-version, 'pypy') }}
shell: bash
run: |
echo "IS_PYPY=1" >> $GITHUB_ENV
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 20
- name: Set up system dependences on Linux
if: ${{ env.OS_NAME == 'Linux' }}
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y tree cloc wget curl make zip
sudo apt-get install -y libxml2-dev libxslt-dev python-dev # need by pypy3
- name: Set up system dependences on Windows
if: ${{ env.OS_NAME == 'Windows' }}
shell: bash
run: |
choco install tree cloc wget curl make zip
- name: Set up system dependences on MacOS
if: ${{ env.OS_NAME == 'MacOS' }}
run: |
brew install tree cloc wget curl make zip
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip
pip install --upgrade flake8 setuptools wheel twine
pip install -r requirements.txt
pip install -r requirements-test.txt
- name: Test the basic environment
shell: bash
run: |
python -V
pip --version
pip list
tree .
cloc igm
cloc test
- name: Run unittest
env:
CI: 'true'
CPU_COUNT: '6'
shell: bash
run: |
make unittest IS_WIN=${{ env.IS_WIN }} IS_MAC=${{ env.IS_MAC }}
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
flags: unittests
name: codecov-umbrella
fail_ci_if_error: false
Loading

0 comments on commit 9258a11

Please sign in to comment.