diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 8d0085a1..001075fd 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -8,31 +8,54 @@ on: jobs: + detect_code_changes: + runs-on: ubuntu-latest + outputs: + code_changes: ${{ steps.filter.outputs.code_changes }} + steps: + - uses: dorny/paths-filter@v3 + id: changes + with: + filters: | + code_changes: + - 'quinn/**' + - 'tests/**' + - 'benchmarks/**' + - '.github/**' + - 'poetry.lock' + - 'pyproject.toml' + test: runs-on: ubuntu-latest + needs: [detect_code_changes] steps: - uses: actions/checkout@v3 + if: needs.detect_code_changes.outputs.code_changes == 'true' with: fetch-depth: 1 - name: Setup Java uses: actions/setup-java@v3 + if: needs.detect_code_changes.outputs.code_changes == 'true' with: distribution: 'zulu' java-version: '8' # Supported by Spark 2.x & 3.x - name: Set up Python 3.9 - uses: actions/setup-python@v2 + uses: actions/setup-python@v4 + if: needs.detect_code_changes.outputs.code_changes == 'true' with: python-version: 3.9 - name: Install Poetry uses: snok/install-poetry@v1 + if: needs.detect_code_changes.outputs.code_changes == 'true' with: version: 1.6.1 - name: Cache Poetry virtualenv uses: actions/cache@v1 + if: needs.detect_code_changes.outputs.code_changes == 'true' id: cache with: path: ~/.virtualenvs @@ -41,8 +64,12 @@ jobs: poetry-${{ hashFiles('**/poetry.lock') }} - name: Install dependencies + if: | + needs.detect_code_changes.outputs.code_changes == 'true' && + steps.cache.outputs.cache-hit != 'true' run: make install_test - if: steps.cache.outputs.cache-hit != 'true' + # if: steps.cache.outputs.cache-hit != 'true' - name: Run tests with pytest + if: needs.detect_code_changes.outputs.code_changes == 'true' run: make test