name: Unittests & Auto-publish

# Allow to trigger the workflow manually (e.g. when deps changes)
on: [push, workflow_dispatch]

jobs:
  pytest-job:
    runs-on: ubuntu-latest
    timeout-minutes: 30

    steps:
    - uses: styfle/cancel-workflow-action@0.9.1
      with:
        access_token: ${{ github.token }}

    - uses: actions/checkout@v2

    # Install deps
    - uses: actions/setup-python@v2
      with:
        python-version: 3.7
    - run: pip --version
    - run: pip install -e .[dev]
    - run: pip freeze

    # Run tests (in parallel)
    - name: Run core tests
      run: pytest -vv -n auto

  # Auto-publish when version is increased
  publish-job:
    # Only try to publish if:
    # * Repo is self (prevents running from forks)
    # * Branch is `main`
    if: |
      github.repository == 'google-research/cascades'
      && github.ref == 'refs/heads/main'
    needs: pytest-job  # Only publish after tests are successful
    runs-on: ubuntu-latest
    permissions:
      contents: write
    timeout-minutes: 30

    steps:
    # Publish the package (if local `__version__` > pip version)
    - uses: etils-actions/pypi-auto-publish@v1
      with:
        pypi-token: ${{ secrets.PYPI_API_TOKEN }}
        gh-token: ${{ secrets.GITHUB_TOKEN }}
        parse-changelog: true

name: Unittests & Auto-publish

# Allow to trigger the workflow manually (e.g. when deps changes)
on: [push, workflow_dispatch]

jobs:
  pytest-job:
    runs-on: ubuntu-latest
    timeout-minutes: 30

    steps:
    - uses: styfle/cancel-workflow-action@0.9.1
      with:
        access_token: ${{ github.token }}

    - uses: actions/checkout@v3

    # Install deps
    - uses: actions/setup-python@v2
      with:
        python-version: 3.7
    - run: pip --version
    - run: pip install -e .[dev]
    - run: pip freeze

    # Run tests (in parallel)
    - name: Run core tests
      run: pytest -vv -n auto

  # Auto-publish when version is increased
  publish-job:
    # Only try to publish if:
    # * Repo is self (prevents running from forks)
    # * Branch is `main`
    if: |
      github.repository == 'google-research/cascades'
      && github.ref == 'refs/heads/main'
    needs: pytest-job  # Only publish after tests are successful
    runs-on: ubuntu-latest
    permissions:
      contents: write
    timeout-minutes: 30

    steps:
    # Publish the package (if local `__version__` > pip version)
    - uses: etils-actions/pypi-auto-publish@v1
      with:
        pypi-token: ${{ secrets.PYPI_API_TOKEN }}
        gh-token: ${{ secrets.GITHUB_TOKEN }}
        parse-changelog: true

Update github action to `actions/checkout@v3`
Update github action to `actions/checkout@v3`

PiperOrigin-RevId: 483395451
