From b66b10444504ff727f7ba0803e060ba40a22227c Mon Sep 17 00:00:00 2001 From: Diego Veralli Date: Sun, 6 Apr 2025 10:14:19 +0200 Subject: [PATCH] fix: disable firefox cache to test a potential root cause for the build failures The builds have worked briefly after changes that invalidate this cache, then failed again. While running some of these builds interactively to investigate this issue, I noticed they got auto-updated, I think this changed recently, and it's what's causing the builds to fail when caching the firefox builds, because each downloaded build will work with Marionette only once. What might happen is: - On the first buiild FF will start to download an update autommtically - We cached this FF installation - On the next build, Marionette won't be abe to connect to FF The reason why the second launch could be that the first run of FF was too short for the download to complete (I would say unlikely, I'm sure the devs account for the possibility of an incomplete download of the update) or maybe the update process needs to run during startup, preventing Marionette from connecting. If disabling the cache fixes the builds, it's likely the auto-update is the issue. --- .github/workflows/rust.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 5a3ba6c..7009308 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -63,19 +63,19 @@ jobs: key: ${{ runner.os }}-pip2-${{ hashFiles('integration_tests/requirements.txt') }} restore-keys: | ${{ runner.os }}-pip2- - - name: Cache firefox versions - uses: actions/cache@v4 - # TODO: restoring the cache still makes sense since the latest version might - # match one we test in the CI build, but we should ensure there is no full - # key match so that the existing cache is not overwritten. We could include - # the current timestamp in the key. - if: github.event_name != 'schedule' - with: - path: | - ${{ env.XDG_CACHE_HOME }}/extension_testing - key: ${{ runner.os }}-ff2-${{ hashFiles('integration_tests/firefox_versions', 'integration_tests/firefox.py') }} - restore-keys: | - ${{ runner.os }}-ff2- + # - name: Cache firefox versions + # uses: actions/cache@v4 + # # TODO: restoring the cache still makes sense since the latest version might + # # match one we test in the CI build, but we should ensure there is no full + # # key match so that the existing cache is not overwritten. We could include + # # the current timestamp in the key. + # if: github.event_name != 'schedule' + # with: + # path: | + # ${{ env.XDG_CACHE_HOME }}/extension_testing + # key: ${{ runner.os }}-ff2-${{ hashFiles('integration_tests/firefox_versions', 'integration_tests/firefox.py') }} + # restore-keys: | + # ${{ runner.os }}-ff2- - name: Run integration tests if: github.event_name != 'schedule' # CI run, test against the versions we specify in the firefox_versions file