# This workflow will install Python dependencies, run tests and lint with a single version of Python # For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions name: Exercises check on: push: branches: - master pull_request: jobs: housekeeping: runs-on: ubuntu-16.04 steps: - uses: actions/checkout@v2 - name: Set up Python 3.7 uses: actions/setup-python@v1 with: python-version: 3.7 - name: Download & Install dependencies run: | python -m pip install --upgrade pip pip install flake8 requests git clone https://github.com/exercism/problem-specifications spec pip install -r requirements-generator.txt - name: Check readmes run: | ./bin/check-readmes.sh - name: Fetch configlet uses: exercism/github-actions/configlet-ci@master - name: Check config.json integrity run: | # May provide more useful output than configlet fmt # if JSON is not valid or items are incomplete configlet lint . # Verify correct formatting in config.json configlet fmt . && git diff --quiet #- name: Generate tests # run: | # bin/generate_tests.py --verbose -p spec --check - name: Lint with flake8 run: | # stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics #- name: Test version status # run: | # ./bin/check-test-version.py -p spec - name: Test template status continue-on-error: true run: | ./bin/template_status.py -v -p spec canonical_sync: runs-on: ubuntu-16.04 needs: housekeeping strategy: matrix: python-version: [3.5, 3.6, 3.7, 3.8] steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - name: Check exercises run: | ./test/check-exercises.py