You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
4.2 KiB
119 lines
4.2 KiB
--- |
|
name: Test & Release |
|
on: |
|
schedule: |
|
- cron: "0 0 */5 * *" |
|
push: |
|
branches: |
|
- main |
|
- production |
|
- feature/* |
|
- fix/* |
|
pull_request: |
|
branches: |
|
- main |
|
- production |
|
jobs: |
|
test: |
|
strategy: |
|
max-parallel: 1 |
|
matrix: |
|
python-version: ['3.10.7'] #, '3.9', '3.8', '3.7'] |
|
runs-on: ubuntu-latest |
|
steps: |
|
- name: Download code |
|
uses: actions/checkout@v2 |
|
with: |
|
persist-credentials: false |
|
fetch-depth: 0 |
|
- name: Setup Python ${{ matrix.python-version }} |
|
uses: actions/setup-python@v2 |
|
with: |
|
python-version: ${{ matrix.python-version }} |
|
# - name: Download cache for pip |
|
# uses: actions/cache@v2 |
|
# with: |
|
# path: ~/.cache/pip |
|
# key: py-${{ matrix.python-version }}-poetry-pip-1.2.2 |
|
# restore-keys: poetry-pip |
|
- name: Install poetry |
|
run: pip install poetry==1.2.2 |
|
# - name: Download cache for poetry |
|
# id: poetry-install |
|
# uses: actions/cache@v2 |
|
# with: |
|
# path: ./.venv/ |
|
# key: py-${{ matrix.python-version }}-poetry-install-${{ hashFiles('poetry.lock') }} |
|
# restore-keys: poetry-install |
|
- name: Install packages |
|
if: steps.poetry-install.outputs.cache-hit != 'true' |
|
run: rm -rf ./.venv/ && poetry install |
|
# - name: Download cache for pre-commit |
|
# if: matrix.python-version == '3.10.7' |
|
# id: pre-commit-install |
|
# uses: actions/cache@v2 |
|
# with: |
|
# path: ~/.cache/pre-commit |
|
# key: py-${{ matrix.python-version }}-pre-commit-install-${{ hashFiles('.pre-commit-config.yaml') }} |
|
# restore-keys: pre-commit-install |
|
# - name: Verify commit |
|
# if: matrix.python-version == '3.10.7' |
|
# run: poetry run pre-commit run -a |
|
# - name: Auto-generate missing pairs |
|
# run: . activate.sh && poetry run python generatestructs.py |
|
# - name: Commit & Push changes |
|
# if: matrix.python-version == '3.10.7' && github.ref == 'refs/heads/main' |
|
# uses: actions-js/push@v1.3 |
|
# with: |
|
# author_email: "morty.space@gmail.com" |
|
# author_name: "Morty Space" |
|
# directory: './src' |
|
# message: "sync: updated API pairs and coins" |
|
# github_token: ${{ secrets.GITHUB_TOKEN }} |
|
# - name: Prepare codeclimate |
|
# if: matrix.python-version == '3.10.7' |
|
# run: | |
|
# curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter |
|
# chmod +x ./cc-test-reporter |
|
# ./cc-test-reporter before-build |
|
- name: Test docs |
|
run: . activate.sh && cd docs && make doctest && cd .. |
|
- name: Running the Sphinx to gh-pages Action |
|
uses: uibcdf/action-sphinx-docs-to-gh-pages@v1.1.0-beta |
|
with: |
|
branch: main |
|
dir_docs: docs |
|
# sphinxapiopts: '--separate -o . ../' |
|
# sphinxapiexclude: '../*setup* ../*.ipynb' |
|
# sphinxopts: '' |
|
# - name: Test code |
|
# timeout-minutes: 6 |
|
# run: . activate.sh && poetry run pytest -v --cov . --cov-report xml:coverage.xml |
|
# - name: Send codeclimate analytics |
|
# if: matrix.python-version == '3.10.7' |
|
# run: ./cc-test-reporter after-build -r ${{ secrets.CC_TEST_REPORTER_ID }} --exit-code $? |
|
# release: |
|
# runs-on: ubuntu-latest |
|
# needs: test |
|
# if: github.ref == 'refs/heads/main' |
|
# steps: |
|
# - name: Setup Python |
|
# uses: actions/setup-python@v2 |
|
# with: |
|
# python-version: '3.10.7' |
|
# - name: Checkout code |
|
# uses: actions/checkout@v2 |
|
# with: |
|
# fetch-depth: 0 |
|
# - name: Release |
|
# env: |
|
# GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
|
# REPOSITORY_USERNAME: '__token__' |
|
# REPOSITORY_PASSWORD: ${{ secrets.REPOSITORY_PASSWORD }} |
|
# run: | |
|
# git fetch --all |
|
# git reset --hard origin/main |
|
# pip install python-semantic-release |
|
# git config user.name github-actions |
|
# git config user.email github-actions@github.com |
|
# semantic-release publish
|
|
|