on:
  push:
  pull_request:
  schedule:
    - cron: '30 13 * * *'
permissions: { }
jobs:
  linux:
    runs-on: 'ubuntu-22.04'
    env:
      # Make all compile warnings fatal.
      ZSTD_WARNINGS_AS_ERRORS: '1'
      # Activate Python development mode so we get warnings.
      PYTHONDEVMODE: '1'

    steps:
      - name: System Setup
        run: |
          sudo apt-get install -y libzstd1 libzstd-dev python3-cffi

      - name: Set up Python
        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
        with:
          python-version: '3.9'

      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
        with:
          persist-credentials: false

      - name: Build
        run: |
          python -m pip install --config-settings=--global-option=--system-zstd .

  macOS:
    runs-on: 'macos-13'
    env:
      # Make all compile warnings fatal.
      ZSTD_WARNINGS_AS_ERRORS: '1'
      # Activate Python development mode so we get warnings.
      PYTHONDEVMODE: '1'

    steps:
      - name: Set up Python
        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
        with:
          python-version: '3.9'

      - name: System Setup
        run: |
          brew install -v zstd
          python -m pip install cffi

      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
        with:
          persist-credentials: false

      - name: Build
        run: |
          python -m pip install --config-settings=--global-option=--system-zstd .
