name: ChangeDetection.io Test # Triggers the workflow on push or pull request events on: [push, pull_request] jobs: test-build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Python 3.9 uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install dependencies run: | python -m pip install --upgrade pip pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi if [ -f requirements-dev.txt ]; then pip install -r requirements-dev.txt; fi - 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 with pytest run: | # Each test is totally isolated and performs its own cleanup/reset cd changedetectionio; ./run_all_tests.sh - name: Test that pip builds without error run: | pip3 --version python3 -m pip install wheel python3 setup.py bdist_wheel python3 -m pip install dist/changedetection.io-*-none-any.whl --force changedetection.io -d /tmp -p 10000 & sleep 3 curl http://127.0.0.1:10000/static/styles/pure-min.css >/dev/null killall -9 changedetection.io # https://github.com/docker/build-push-action/blob/master/docs/advanced/test-before-push.md ? # https://github.com/docker/buildx/issues/59 ? Needs to be one platform? # https://github.com/docker/buildx/issues/495#issuecomment-918925854