From b228675b1b98f1eb3d29ae177f2a044ccf3ba879 Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:07:56 -0700 Subject: [PATCH 1/9] Made PR checks only run when relevant files are changed --- .github/workflows/pr-python-checks.yml | 2 ++ .github/workflows/pr-python-connector-tests.yml | 2 ++ .github/workflows/pr-python-tests.yml | 2 ++ .github/workflows/run-it.yml | 2 ++ 4 files changed, 8 insertions(+) diff --git a/.github/workflows/pr-python-checks.yml b/.github/workflows/pr-python-checks.yml index 9cc624fa073..ac46bb8bd8c 100644 --- a/.github/workflows/pr-python-checks.yml +++ b/.github/workflows/pr-python-checks.yml @@ -4,6 +4,8 @@ on: merge_group: pull_request: branches: [ main ] + paths: + - 'backend/**' jobs: mypy-check: diff --git a/.github/workflows/pr-python-connector-tests.yml b/.github/workflows/pr-python-connector-tests.yml index 00b92c9b003..8bacc2712d6 100644 --- a/.github/workflows/pr-python-connector-tests.yml +++ b/.github/workflows/pr-python-connector-tests.yml @@ -3,6 +3,8 @@ name: Connector Tests on: pull_request: branches: [main] + paths: + - 'backend/**' schedule: # This cron expression runs the job daily at 16:00 UTC (9am PT) - cron: "0 16 * * *" diff --git a/.github/workflows/pr-python-tests.yml b/.github/workflows/pr-python-tests.yml index 7686de019a5..5aa75b2f64f 100644 --- a/.github/workflows/pr-python-tests.yml +++ b/.github/workflows/pr-python-tests.yml @@ -4,6 +4,8 @@ on: merge_group: pull_request: branches: [ main ] + paths: + - 'backend/**' jobs: backend-check: diff --git a/.github/workflows/run-it.yml b/.github/workflows/run-it.yml index 0ca0031c64c..85052989381 100644 --- a/.github/workflows/run-it.yml +++ b/.github/workflows/run-it.yml @@ -7,6 +7,8 @@ on: merge_group: pull_request: branches: [ main ] + paths: + - 'backend/**' env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} From 183bdcaf5d0f4fca52d2fa1f484d3e54a0c44413 Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:18:21 -0700 Subject: [PATCH 2/9] fixed --- .github/workflows/pr-python-checks.yml | 25 ++++++++++++++++-- .../workflows/pr-python-connector-tests.yml | 25 ++++++++++++++++-- .github/workflows/pr-python-tests.yml | 26 +++++++++++++++++-- .github/workflows/run-it.yml | 23 ++++++++++++++++ 4 files changed, 93 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pr-python-checks.yml b/.github/workflows/pr-python-checks.yml index ac46bb8bd8c..3c05f8a1507 100644 --- a/.github/workflows/pr-python-checks.yml +++ b/.github/workflows/pr-python-checks.yml @@ -4,11 +4,25 @@ on: merge_group: pull_request: branches: [ main ] - paths: - - 'backend/**' jobs: + check-run-needed: + runs-on: ubuntu-latest + outputs: + run-tests: ${{ steps.check.outputs.run-tests }} + steps: + - uses: actions/checkout@v4 + - id: check + run: | + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then + echo "run-tests=true" >> $GITHUB_OUTPUT + else + echo "run-tests=false" >> $GITHUB_OUTPUT + fi + mypy-check: + needs: check-run-needed + if: needs.check-run-needed.outputs.run-tests == 'true' backend-check: runs-on: ubuntu-latest steps: @@ -49,3 +63,10 @@ jobs: run: | cd backend black --check . + + skip-tests: + needs: check-run-needed + if: needs.check-run-needed.outputs.run-tests == 'false' + runs-on: ubuntu-latest + steps: + - run: echo "No changes in backend, skipping this test." diff --git a/.github/workflows/pr-python-connector-tests.yml b/.github/workflows/pr-python-connector-tests.yml index 8bacc2712d6..a8e7db4d9dd 100644 --- a/.github/workflows/pr-python-connector-tests.yml +++ b/.github/workflows/pr-python-connector-tests.yml @@ -3,8 +3,6 @@ name: Connector Tests on: pull_request: branches: [main] - paths: - - 'backend/**' schedule: # This cron expression runs the job daily at 16:00 UTC (9am PT) - cron: "0 16 * * *" @@ -19,7 +17,23 @@ env: CONFLUENCE_ACCESS_TOKEN: ${{ secrets.CONFLUENCE_ACCESS_TOKEN }} jobs: + check-run-needed: + runs-on: ubuntu-latest + outputs: + run-tests: ${{ steps.check.outputs.run-tests }} + steps: + - uses: actions/checkout@v4 + - id: check + run: | + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then + echo "run-tests=true" >> $GITHUB_OUTPUT + else + echo "run-tests=false" >> $GITHUB_OUTPUT + fi + connectors-check: + needs: check-run-needed + if: needs.check-run-needed.outputs.run-tests == 'true' runs-on: ubuntu-latest env: @@ -57,3 +71,10 @@ jobs: -H 'Content-type: application/json' \ --data '{"text":"Scheduled Connector Tests failed! Check the run at: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"}' \ $SLACK_WEBHOOK + + skip-tests: + needs: check-run-needed + if: needs.check-run-needed.outputs.run-tests == 'false' + runs-on: ubuntu-latest + steps: + - run: echo "No changes in backend, skipping this test." diff --git a/.github/workflows/pr-python-tests.yml b/.github/workflows/pr-python-tests.yml index 5aa75b2f64f..04c1cc61595 100644 --- a/.github/workflows/pr-python-tests.yml +++ b/.github/workflows/pr-python-tests.yml @@ -4,11 +4,25 @@ on: merge_group: pull_request: branches: [ main ] - paths: - - 'backend/**' jobs: + check-run-needed: + runs-on: ubuntu-latest + outputs: + run-tests: ${{ steps.check.outputs.run-tests }} + steps: + - uses: actions/checkout@v4 + - id: check + run: | + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then + echo "run-tests=true" >> $GITHUB_OUTPUT + else + echo "run-tests=false" >> $GITHUB_OUTPUT + fi + backend-check: + needs: check-run-needed + if: needs.check-run-needed.outputs.run-tests == 'true' backend-check: runs-on: ubuntu-latest env: @@ -36,3 +50,11 @@ jobs: - name: Run Tests shell: script -q -e -c "bash --noprofile --norc -eo pipefail {0}" run: py.test -o junit_family=xunit2 -xv --ff backend/tests/unit + + + skip-tests: + needs: check-run-needed + if: needs.check-run-needed.outputs.run-tests == 'false' + runs-on: ubuntu-latest + steps: + - run: echo "No changes in backend, skipping this test." diff --git a/.github/workflows/run-it.yml b/.github/workflows/run-it.yml index 85052989381..e3188c7e022 100644 --- a/.github/workflows/run-it.yml +++ b/.github/workflows/run-it.yml @@ -14,7 +14,23 @@ env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} jobs: + check-run-needed: + runs-on: ubuntu-latest + outputs: + run-tests: ${{ steps.check.outputs.run-tests }} + steps: + - uses: actions/checkout@v4 + - id: check + run: | + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then + echo "run-tests=true" >> $GITHUB_OUTPUT + else + echo "run-tests=false" >> $GITHUB_OUTPUT + fi + integration-tests: + needs: check-run-needed + if: needs.check-run-needed.outputs.run-tests == 'true' runs-on: group: 'arm64-image-builders' steps: @@ -160,3 +176,10 @@ jobs: run: | cd deployment/docker_compose docker compose -f docker-compose.dev.yml -p danswer-stack down -v + + skip-tests: + needs: check-run-needed + if: needs.check-run-needed.outputs.run-tests == 'false' + runs-on: ubuntu-latest + steps: + - run: echo "No changes in backend, skipping this test." From 6e85807640a940d7b4b31d1599f691a34b27d83b Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:21:20 -0700 Subject: [PATCH 3/9] fixed fr --- .github/workflows/pr-python-checks.yml | 2 +- .github/workflows/pr-python-connector-tests.yml | 2 +- .github/workflows/run-it.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/pr-python-checks.yml b/.github/workflows/pr-python-checks.yml index 3c05f8a1507..e2e335d7302 100644 --- a/.github/workflows/pr-python-checks.yml +++ b/.github/workflows/pr-python-checks.yml @@ -22,7 +22,7 @@ jobs: mypy-check: needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' backend-check: + if: needs.check-run-needed.outputs.run-tests == 'true' mypy-check: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/pr-python-connector-tests.yml b/.github/workflows/pr-python-connector-tests.yml index a8e7db4d9dd..ea5882344f7 100644 --- a/.github/workflows/pr-python-connector-tests.yml +++ b/.github/workflows/pr-python-connector-tests.yml @@ -33,7 +33,7 @@ jobs: connectors-check: needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' + if: needs.check-run-needed.outputs.run-tests == 'true' connectors-check: runs-on: ubuntu-latest env: diff --git a/.github/workflows/run-it.yml b/.github/workflows/run-it.yml index e3188c7e022..9c1f4161129 100644 --- a/.github/workflows/run-it.yml +++ b/.github/workflows/run-it.yml @@ -30,7 +30,7 @@ jobs: integration-tests: needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' + if: needs.check-run-needed.outputs.run-tests == 'true' integration-tests: runs-on: group: 'arm64-image-builders' steps: From 9090391275e7fd20e179fb97fa2adeadb6094182 Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:22:50 -0700 Subject: [PATCH 4/9] fixed no cap --- .github/workflows/pr-python-checks.yml | 2 +- .github/workflows/pr-python-connector-tests.yml | 2 +- .github/workflows/pr-python-tests.yml | 2 +- .github/workflows/run-it.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr-python-checks.yml b/.github/workflows/pr-python-checks.yml index e2e335d7302..56c91849eaf 100644 --- a/.github/workflows/pr-python-checks.yml +++ b/.github/workflows/pr-python-checks.yml @@ -22,7 +22,7 @@ jobs: mypy-check: needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' mypy-check: + if: needs.check-run-needed.outputs.run-tests == 'true' runs-on: ubuntu-latest steps: diff --git a/.github/workflows/pr-python-connector-tests.yml b/.github/workflows/pr-python-connector-tests.yml index ea5882344f7..a8e7db4d9dd 100644 --- a/.github/workflows/pr-python-connector-tests.yml +++ b/.github/workflows/pr-python-connector-tests.yml @@ -33,7 +33,7 @@ jobs: connectors-check: needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' connectors-check: + if: needs.check-run-needed.outputs.run-tests == 'true' runs-on: ubuntu-latest env: diff --git a/.github/workflows/pr-python-tests.yml b/.github/workflows/pr-python-tests.yml index 04c1cc61595..2e35d8d33bd 100644 --- a/.github/workflows/pr-python-tests.yml +++ b/.github/workflows/pr-python-tests.yml @@ -22,7 +22,7 @@ jobs: backend-check: needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' backend-check: + if: needs.check-run-needed.outputs.run-tests == 'true' runs-on: ubuntu-latest env: diff --git a/.github/workflows/run-it.yml b/.github/workflows/run-it.yml index 9c1f4161129..e3188c7e022 100644 --- a/.github/workflows/run-it.yml +++ b/.github/workflows/run-it.yml @@ -30,7 +30,7 @@ jobs: integration-tests: needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' integration-tests: + if: needs.check-run-needed.outputs.run-tests == 'true' runs-on: group: 'arm64-image-builders' steps: From bfe695dd1e5e85237342e154bfdcd11327436efa Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:28:03 -0700 Subject: [PATCH 5/9] refactor --- .../workflows/check-for-backend-changes.yml | 23 +++++++++++++++++++ .github/workflows/pr-python-checks.yml | 23 +++++-------------- .../workflows/pr-python-connector-tests.yml | 23 +++++-------------- .github/workflows/pr-python-tests.yml | 23 +++++-------------- .github/workflows/run-it.yml | 23 +++++-------------- 5 files changed, 47 insertions(+), 68 deletions(-) create mode 100644 .github/workflows/check-for-backend-changes.yml diff --git a/.github/workflows/check-for-backend-changes.yml b/.github/workflows/check-for-backend-changes.yml new file mode 100644 index 00000000000..92f28b4f60b --- /dev/null +++ b/.github/workflows/check-for-backend-changes.yml @@ -0,0 +1,23 @@ +name: Check Backend Changes + +on: + workflow_call: + outputs: + run-tests: + description: "Whether to run tests based on backend changes" + value: ${{ jobs.check-run-needed.outputs.run-tests }} + +jobs: + check-run-needed: + runs-on: ubuntu-latest + outputs: + run-tests: ${{ steps.check.outputs.run-tests }} + steps: + - uses: actions/checkout@v4 + - id: check + run: | + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then + echo "run-tests=true" >> $GITHUB_OUTPUT + else + echo "run-tests=false" >> $GITHUB_OUTPUT + fi \ No newline at end of file diff --git a/.github/workflows/pr-python-checks.yml b/.github/workflows/pr-python-checks.yml index 56c91849eaf..718932be82b 100644 --- a/.github/workflows/pr-python-checks.yml +++ b/.github/workflows/pr-python-checks.yml @@ -6,23 +6,12 @@ on: branches: [ main ] jobs: - check-run-needed: - runs-on: ubuntu-latest - outputs: - run-tests: ${{ steps.check.outputs.run-tests }} - steps: - - uses: actions/checkout@v4 - - id: check - run: | - if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then - echo "run-tests=true" >> $GITHUB_OUTPUT - else - echo "run-tests=false" >> $GITHUB_OUTPUT - fi + check-changes: + uses: ./.github/workflows/check-for-backend-changes.yml mypy-check: - needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' + needs: check-changes + if: needs.check-changes.outputs.run-tests == 'true' runs-on: ubuntu-latest steps: @@ -65,8 +54,8 @@ jobs: black --check . skip-tests: - needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'false' + needs: check-changes + if: needs.check-changes.outputs.run-tests == 'false' runs-on: ubuntu-latest steps: - run: echo "No changes in backend, skipping this test." diff --git a/.github/workflows/pr-python-connector-tests.yml b/.github/workflows/pr-python-connector-tests.yml index a8e7db4d9dd..f3567af33e3 100644 --- a/.github/workflows/pr-python-connector-tests.yml +++ b/.github/workflows/pr-python-connector-tests.yml @@ -17,23 +17,12 @@ env: CONFLUENCE_ACCESS_TOKEN: ${{ secrets.CONFLUENCE_ACCESS_TOKEN }} jobs: - check-run-needed: - runs-on: ubuntu-latest - outputs: - run-tests: ${{ steps.check.outputs.run-tests }} - steps: - - uses: actions/checkout@v4 - - id: check - run: | - if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then - echo "run-tests=true" >> $GITHUB_OUTPUT - else - echo "run-tests=false" >> $GITHUB_OUTPUT - fi + check-changes: + uses: ./.github/workflows/check-for-backend-changes.yml connectors-check: - needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' + needs: check-changes + if: needs.check-changes.outputs.run-tests == 'true' runs-on: ubuntu-latest env: @@ -73,8 +62,8 @@ jobs: $SLACK_WEBHOOK skip-tests: - needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'false' + needs: check-changes + if: needs.check-changes.outputs.run-tests == 'false' runs-on: ubuntu-latest steps: - run: echo "No changes in backend, skipping this test." diff --git a/.github/workflows/pr-python-tests.yml b/.github/workflows/pr-python-tests.yml index 2e35d8d33bd..15cc25a39fc 100644 --- a/.github/workflows/pr-python-tests.yml +++ b/.github/workflows/pr-python-tests.yml @@ -6,23 +6,12 @@ on: branches: [ main ] jobs: - check-run-needed: - runs-on: ubuntu-latest - outputs: - run-tests: ${{ steps.check.outputs.run-tests }} - steps: - - uses: actions/checkout@v4 - - id: check - run: | - if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then - echo "run-tests=true" >> $GITHUB_OUTPUT - else - echo "run-tests=false" >> $GITHUB_OUTPUT - fi + check-changes: + uses: ./.github/workflows/check-for-backend-changes.yml backend-check: - needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' + needs: check-changes + if: needs.check-changes.outputs.run-tests == 'true' runs-on: ubuntu-latest env: @@ -53,8 +42,8 @@ jobs: skip-tests: - needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'false' + needs: check-changes + if: needs.check-changes.outputs.run-tests == 'false' runs-on: ubuntu-latest steps: - run: echo "No changes in backend, skipping this test." diff --git a/.github/workflows/run-it.yml b/.github/workflows/run-it.yml index e3188c7e022..318de0aa196 100644 --- a/.github/workflows/run-it.yml +++ b/.github/workflows/run-it.yml @@ -14,23 +14,12 @@ env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} jobs: - check-run-needed: - runs-on: ubuntu-latest - outputs: - run-tests: ${{ steps.check.outputs.run-tests }} - steps: - - uses: actions/checkout@v4 - - id: check - run: | - if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then - echo "run-tests=true" >> $GITHUB_OUTPUT - else - echo "run-tests=false" >> $GITHUB_OUTPUT - fi + check-changes: + uses: ./.github/workflows/check-for-backend-changes.yml integration-tests: - needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'true' + needs: check-changes + if: needs.check-changes.outputs.run-tests == 'true' runs-on: group: 'arm64-image-builders' steps: @@ -178,8 +167,8 @@ jobs: docker compose -f docker-compose.dev.yml -p danswer-stack down -v skip-tests: - needs: check-run-needed - if: needs.check-run-needed.outputs.run-tests == 'false' + needs: check-changes + if: needs.check-changes.outputs.run-tests == 'false' runs-on: ubuntu-latest steps: - run: echo "No changes in backend, skipping this test." From 82b59345979ffa1692dcf6ad9cf798b63f9a2ad4 Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:35:55 -0700 Subject: [PATCH 6/9] trya again --- .github/workflows/check-backend-changes.yml | 23 +++++++++++++++++++ .../workflows/check-for-backend-changes.yml | 23 ------------------- .github/workflows/pr-python-checks.yml | 8 ++++++- .../workflows/pr-python-connector-tests.yml | 8 ++++++- .github/workflows/pr-python-tests.yml | 8 ++++++- .github/workflows/run-it.yml | 8 ++++++- 6 files changed, 51 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/check-backend-changes.yml delete mode 100644 .github/workflows/check-for-backend-changes.yml diff --git a/.github/workflows/check-backend-changes.yml b/.github/workflows/check-backend-changes.yml new file mode 100644 index 00000000000..083b8e7122f --- /dev/null +++ b/.github/workflows/check-backend-changes.yml @@ -0,0 +1,23 @@ +name: Check Backend Changes + + +on: + pull_request: + branches: [main] + +jobs: + check-run-needed: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - id: check + run: | + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then + echo "run-tests=true" > run-tests.txt + else + echo "run-tests=false" > run-tests.txt + fi + - uses: actions/upload-artifact@v3 + with: + name: run-tests-flag + path: run-tests.txt \ No newline at end of file diff --git a/.github/workflows/check-for-backend-changes.yml b/.github/workflows/check-for-backend-changes.yml deleted file mode 100644 index 92f28b4f60b..00000000000 --- a/.github/workflows/check-for-backend-changes.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Check Backend Changes - -on: - workflow_call: - outputs: - run-tests: - description: "Whether to run tests based on backend changes" - value: ${{ jobs.check-run-needed.outputs.run-tests }} - -jobs: - check-run-needed: - runs-on: ubuntu-latest - outputs: - run-tests: ${{ steps.check.outputs.run-tests }} - steps: - - uses: actions/checkout@v4 - - id: check - run: | - if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then - echo "run-tests=true" >> $GITHUB_OUTPUT - else - echo "run-tests=false" >> $GITHUB_OUTPUT - fi \ No newline at end of file diff --git a/.github/workflows/pr-python-checks.yml b/.github/workflows/pr-python-checks.yml index 718932be82b..a5a7df42d29 100644 --- a/.github/workflows/pr-python-checks.yml +++ b/.github/workflows/pr-python-checks.yml @@ -7,7 +7,13 @@ on: jobs: check-changes: - uses: ./.github/workflows/check-for-backend-changes.yml + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: run-tests-flag + - id: check + run: echo "run-tests=$(cat run-tests.txt)" >> $GITHUB_OUTPUT mypy-check: needs: check-changes diff --git a/.github/workflows/pr-python-connector-tests.yml b/.github/workflows/pr-python-connector-tests.yml index f3567af33e3..66dbbc30ef5 100644 --- a/.github/workflows/pr-python-connector-tests.yml +++ b/.github/workflows/pr-python-connector-tests.yml @@ -18,7 +18,13 @@ env: jobs: check-changes: - uses: ./.github/workflows/check-for-backend-changes.yml + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: run-tests-flag + - id: check + run: echo "run-tests=$(cat run-tests.txt)" >> $GITHUB_OUTPUT connectors-check: needs: check-changes diff --git a/.github/workflows/pr-python-tests.yml b/.github/workflows/pr-python-tests.yml index 15cc25a39fc..04a4dbe192a 100644 --- a/.github/workflows/pr-python-tests.yml +++ b/.github/workflows/pr-python-tests.yml @@ -7,7 +7,13 @@ on: jobs: check-changes: - uses: ./.github/workflows/check-for-backend-changes.yml + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: run-tests-flag + - id: check + run: echo "run-tests=$(cat run-tests.txt)" >> $GITHUB_OUTPUT backend-check: needs: check-changes diff --git a/.github/workflows/run-it.yml b/.github/workflows/run-it.yml index 318de0aa196..7c65061f30b 100644 --- a/.github/workflows/run-it.yml +++ b/.github/workflows/run-it.yml @@ -15,7 +15,13 @@ env: jobs: check-changes: - uses: ./.github/workflows/check-for-backend-changes.yml + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + name: run-tests-flag + - id: check + run: echo "run-tests=$(cat run-tests.txt)" >> $GITHUB_OUTPUT integration-tests: needs: check-changes From 23927510513174bc0a7a8adf05a82c25078ba510 Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:37:21 -0700 Subject: [PATCH 7/9] wb this? --- .github/workflows/check-backend-changes.yml | 20 +++++++++---------- .github/workflows/pr-python-checks.yml | 8 +------- .../workflows/pr-python-connector-tests.yml | 8 +------- .github/workflows/pr-python-tests.yml | 8 +------- .github/workflows/run-it.yml | 8 +------- 5 files changed, 14 insertions(+), 38 deletions(-) diff --git a/.github/workflows/check-backend-changes.yml b/.github/workflows/check-backend-changes.yml index 083b8e7122f..92f28b4f60b 100644 --- a/.github/workflows/check-backend-changes.yml +++ b/.github/workflows/check-backend-changes.yml @@ -1,23 +1,23 @@ name: Check Backend Changes - on: - pull_request: - branches: [main] + workflow_call: + outputs: + run-tests: + description: "Whether to run tests based on backend changes" + value: ${{ jobs.check-run-needed.outputs.run-tests }} jobs: check-run-needed: runs-on: ubuntu-latest + outputs: + run-tests: ${{ steps.check.outputs.run-tests }} steps: - uses: actions/checkout@v4 - id: check run: | if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then - echo "run-tests=true" > run-tests.txt + echo "run-tests=true" >> $GITHUB_OUTPUT else - echo "run-tests=false" > run-tests.txt - fi - - uses: actions/upload-artifact@v3 - with: - name: run-tests-flag - path: run-tests.txt \ No newline at end of file + echo "run-tests=false" >> $GITHUB_OUTPUT + fi \ No newline at end of file diff --git a/.github/workflows/pr-python-checks.yml b/.github/workflows/pr-python-checks.yml index a5a7df42d29..e88acf4d870 100644 --- a/.github/workflows/pr-python-checks.yml +++ b/.github/workflows/pr-python-checks.yml @@ -7,13 +7,7 @@ on: jobs: check-changes: - runs-on: ubuntu-latest - steps: - - uses: actions/download-artifact@v3 - with: - name: run-tests-flag - - id: check - run: echo "run-tests=$(cat run-tests.txt)" >> $GITHUB_OUTPUT + uses: ./.github/workflows/check-backend-changes.yml mypy-check: needs: check-changes diff --git a/.github/workflows/pr-python-connector-tests.yml b/.github/workflows/pr-python-connector-tests.yml index 66dbbc30ef5..9de48994e0b 100644 --- a/.github/workflows/pr-python-connector-tests.yml +++ b/.github/workflows/pr-python-connector-tests.yml @@ -18,13 +18,7 @@ env: jobs: check-changes: - runs-on: ubuntu-latest - steps: - - uses: actions/download-artifact@v3 - with: - name: run-tests-flag - - id: check - run: echo "run-tests=$(cat run-tests.txt)" >> $GITHUB_OUTPUT + uses: ./.github/workflows/check-backend-changes.yml connectors-check: needs: check-changes diff --git a/.github/workflows/pr-python-tests.yml b/.github/workflows/pr-python-tests.yml index 04a4dbe192a..17cdd15c2a3 100644 --- a/.github/workflows/pr-python-tests.yml +++ b/.github/workflows/pr-python-tests.yml @@ -7,13 +7,7 @@ on: jobs: check-changes: - runs-on: ubuntu-latest - steps: - - uses: actions/download-artifact@v3 - with: - name: run-tests-flag - - id: check - run: echo "run-tests=$(cat run-tests.txt)" >> $GITHUB_OUTPUT + uses: ./.github/workflows/check-backend-changes.yml backend-check: needs: check-changes diff --git a/.github/workflows/run-it.yml b/.github/workflows/run-it.yml index 7c65061f30b..5301b5e8004 100644 --- a/.github/workflows/run-it.yml +++ b/.github/workflows/run-it.yml @@ -15,13 +15,7 @@ env: jobs: check-changes: - runs-on: ubuntu-latest - steps: - - uses: actions/download-artifact@v3 - with: - name: run-tests-flag - - id: check - run: echo "run-tests=$(cat run-tests.txt)" >> $GITHUB_OUTPUT + uses: ./.github/workflows/check-backend-changes.yml integration-tests: needs: check-changes From 475e528697b2c9244319f604104f4b7d5b6d572e Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:39:26 -0700 Subject: [PATCH 8/9] perhaps now this will work --- .github/workflows/check-backend-changes.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-backend-changes.yml b/.github/workflows/check-backend-changes.yml index 92f28b4f60b..f4ba64bc5cb 100644 --- a/.github/workflows/check-backend-changes.yml +++ b/.github/workflows/check-backend-changes.yml @@ -14,9 +14,11 @@ jobs: run-tests: ${{ steps.check.outputs.run-tests }} steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 - id: check run: | - if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then + if git diff --name-only ${{ github.event.pull_request.base.sha }}...${{ github.sha }} | grep -q '^backend/'; then echo "run-tests=true" >> $GITHUB_OUTPUT else echo "run-tests=false" >> $GITHUB_OUTPUT From d304e3fd0f71bf9ccbcad10f7ab18e3c8bcbadf2 Mon Sep 17 00:00:00 2001 From: hagen-danswer Date: Wed, 11 Sep 2024 11:41:40 -0700 Subject: [PATCH 9/9] gotem --- .github/workflows/check-backend-changes.yml | 4 +--- .github/workflows/run-it.yml | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/check-backend-changes.yml b/.github/workflows/check-backend-changes.yml index f4ba64bc5cb..92f28b4f60b 100644 --- a/.github/workflows/check-backend-changes.yml +++ b/.github/workflows/check-backend-changes.yml @@ -14,11 +14,9 @@ jobs: run-tests: ${{ steps.check.outputs.run-tests }} steps: - uses: actions/checkout@v4 - with: - fetch-depth: 0 - id: check run: | - if git diff --name-only ${{ github.event.pull_request.base.sha }}...${{ github.sha }} | grep -q '^backend/'; then + if git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -q '^backend/'; then echo "run-tests=true" >> $GITHUB_OUTPUT else echo "run-tests=false" >> $GITHUB_OUTPUT diff --git a/.github/workflows/run-it.yml b/.github/workflows/run-it.yml index 5301b5e8004..4da1a8f7503 100644 --- a/.github/workflows/run-it.yml +++ b/.github/workflows/run-it.yml @@ -7,8 +7,6 @@ on: merge_group: pull_request: branches: [ main ] - paths: - - 'backend/**' env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}