diff --git a/.github/workflows/examples.yml b/.github/workflows/examples.yml new file mode 100644 index 000000000..1f502e9f7 --- /dev/null +++ b/.github/workflows/examples.yml @@ -0,0 +1,62 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: examples + +on: + push: + branches: ["main"] + paths: + - "**.py" + - "**.txt" + - ".github/workflows/examples.yml" + - "**.toml" + pull_request: + paths: + - "**.py" + - "**.txt" + - "**.toml" + - ".github/workflows/examples.yml" + +permissions: + contents: read # to fetch code (actions/checkout) + +jobs: + django: + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + python-version: ["3.12"] + os: ["ubuntu-latest"] + + steps: + - name: Install apt packages + if: startsWith(matrix.os, 'ubuntu-') + run: | + sudo apt update + - uses: actions/checkout@v4 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: 'pip' + cache-dependency-path: '**/setup.py' + - name: Install dependencies + working-directory: examples/django + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Run Migrations + working-directory: examples/django + run: | + ./manage.py migrate + + - name: Run tests + working-directory: examples/django + timeout-minutes: 5 + run: | + export DJANGO_SETTINGS_MODULE=proj.settings + pytest -vv tests -n auto