Add slack hook for test failures (#2996)

This commit is contained in:
Vladimir Blagojevic 2022-08-09 14:27:52 +02:00 committed by GitHub
parent 862ac31b5c
commit 50f7d660e2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,6 +14,7 @@ on:
env:
PYTEST_PARAMS: --maxfail=5 --durations=10 --suppress-no-test-exit-code
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
SUITES_EXCLUDED_FROM_WINDOWS:
--ignore=test/pipelines/test_ray.py
--ignore=test/document_stores/test_knowledge_graph.py
@ -60,6 +61,12 @@ jobs:
echo "=== ui/ ==="
mypy ui --exclude=ui/build/ --exclude=ui/test/
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
pylint:
runs-on: ubuntu-latest
steps:
@ -75,6 +82,13 @@ jobs:
run: |
pylint -ry -j 0 haystack/ rest_api/ ui/
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
unit-tests:
name: Unit / ${{ matrix.os }}
needs:
@ -97,6 +111,13 @@ jobs:
- name: Run
run: pytest -m "unit" test/
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
unit-tests-linux:
needs:
- mypy
@ -140,6 +161,11 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "not elasticsearch and not faiss and not milvus and not milvus1 and not weaviate and not pinecone and not integration" test/${{ matrix.folder }} --document_store_type=memory
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
unit-tests-windows:
needs:
@ -183,6 +209,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "not elasticsearch and not faiss and not milvus and not milvus1 and not weaviate and not pinecone and not integration" ${{ env.SUITES_EXCLUDED_FROM_WINDOWS }} test/${{ matrix.folder }} --document_store_type=memory
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
elasticsearch-tests-linux:
needs:
@ -212,6 +244,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "elasticsearch and not integration" test/document_stores/ --document_store_type=elasticsearch
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
elasticsearch-tests-windows:
needs:
@ -245,6 +283,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "elasticsearch and not integration" test/document_stores/ ${{ env.SUITES_EXCLUDED_FROM_WINDOWS }} --document_store_type=elasticsearch
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
faiss-tests-linux:
needs:
@ -272,6 +316,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "not integration" test/document_stores/ --document_store_type=faiss
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
faiss-tests-windows:
needs:
@ -302,6 +352,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "not integration" ${{ env.SUITES_EXCLUDED_FROM_WINDOWS }} test/document_stores/ --document_store_type=faiss
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
milvus-tests-linux:
needs:
@ -335,6 +391,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "not integration" test/document_stores/ --document_store_type=milvus
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
# FIXME: seems like we can't run containers on Windows
# milvus-tests-windows:
@ -404,6 +466,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "not integration" test/document_stores/ --document_store_type=weaviate
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
# FIXME: seems like we can't run containers on Windows
# weaviate-tests-windows:
# needs:
@ -466,6 +534,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "not integration" test/document_stores/ --document_store_type=pinecone
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
pinecone-tests-windows:
needs:
@ -498,6 +572,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "not integration" ${{ env.SUITES_EXCLUDED_FROM_WINDOWS }} test/document_stores/ --document_store_type=pinecone
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
rest-and-ui:
needs:
- mypy
@ -524,6 +604,12 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} rest_api/ ui/
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
integration-tests-linux:
needs:
@ -611,6 +697,11 @@ jobs:
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "integration" test/${{ matrix.folder }}
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'
integration-tests-windows:
needs:
@ -656,3 +747,9 @@ jobs:
# FIXME many tests are disabled here!
run: |
pytest ${{ env.PYTEST_PARAMS }} -m "integration and not tika and not graphdb" ${{ env.SUITES_EXCLUDED_FROM_WINDOWS }} test/${{ matrix.folder }} --document_store_type=memory,faiss,elasticsearch
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
channel: '#haystack'
if: failure() && github.ref == 'refs/heads/master'