From 72749bcf70c4c22371fbb0d8fd0cf46a2e688b95 Mon Sep 17 00:00:00 2001 From: Otto Richter Date: Tue, 1 Oct 2024 23:34:22 +0200 Subject: [PATCH] ci: (always|only) run e2e tests based on changes - detect changed files for the run - let e2e files specify which related files they "watch" - only run e2e tests based on pattern matching or when generic files change - fallback to full runs if env not specified --- .forgejo/workflows/testing.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.forgejo/workflows/testing.yml b/.forgejo/workflows/testing.yml index f50b948bdf..55ac4454b5 100644 --- a/.forgejo/workflows/testing.yml +++ b/.forgejo/workflows/testing.yml @@ -94,6 +94,8 @@ jobs: image: 'code.forgejo.org/oci/playwright:latest' steps: - uses: https://code.forgejo.org/actions/checkout@v4 + with: + fetch-depth: 20 - uses: ./.forgejo/workflows-composite/setup-env - name: "Restore frontend build" uses: actions/cache/restore@v4 @@ -106,11 +108,17 @@ jobs: run: | su forgejo -c 'make deps-frontend frontend' - uses: ./.forgejo/workflows-composite/build-backend + - name: Get changed files + id: changed-files + uses: https://code.forgejo.org/fossdd/changed-files@v45 + with: + separator: '\n' - run: | su forgejo -c 'make generate test-e2e-sqlite' timeout-minutes: 40 env: USE_REPO_TEST_DIR: 1 + CHANGED_FILES: ${{steps.changed-files.outputs.all_changed_files}} test-remote-cacher: if: ${{ !startsWith(vars.ROLE, 'forgejo-') }} runs-on: docker