name: scheduled-daily
on:
  schedule:
    - cron: '3 14 * * *'
concurrency:
  group: 'ci-${{ github.workflow }}-${{ github.ref }}'
  cancel-in-progress: false

jobs:
  hypothesis:
    name: unittest / hypothesis-slow
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Install dependencies
        env:
          DEBIAN_FRONTEND: noninteractive
        run: |
          sudo apt-get -qy update
          sudo apt-get -qy install tox
      - name: Run fuzztest
        env:
          PYTEST_ADDOPTS: -v
          HYPOTHESIS_PROFILE: ci
        run: tox -e hypothesis-slow
  devel_tests:
    name: unittest / 3.14-dev
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Install Python 3.14-dev
        uses: actions/setup-python@v5
        with:
          # select latest version here:
          # https://github.com/actions/python-versions/blob/main/versions-manifest.json
          python-version: 3.14-dev
          check-latest: true
      - name: Install tox
        run: pip install tox
      - name: Run unittest
        run: tox -e py3
  format_tip:
    strategy:
      fail-fast: false
      matrix:
        env: [tip-ruff, tip-mypy, tip-pylint, tip-black, tip-isort]
    name: format-tip
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Install dependencies
        run: |
          sudo apt-get -qy update
          sudo apt-get -qy install tox
      - name: Run Linters tip
        env:
          TOXENV: ${{ matrix.env }}
        run: tox
