--- 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.0.0 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