diff --git a/.github/workflows/e2e-nightly.yml b/.github/workflows/e2e-nightly.yml index 96b406961..653b99827 100644 --- a/.github/workflows/e2e-nightly.yml +++ b/.github/workflows/e2e-nightly.yml @@ -29,7 +29,7 @@ jobs: - name: Run testnets in group ${{ matrix.group }} working-directory: test/e2e - run: sudo ./run-multiple.sh networks/nightly/*-group${{ matrix.group }}-*.toml + run: ./run-multiple.sh networks/nightly/*-group${{ matrix.group }}-*.toml - name: Notify Slack on failure uses: rtCamp/action-slack-notify@e9db0ef diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index f30638cde..fbc7488bd 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -29,7 +29,7 @@ jobs: - name: Run CI testnet working-directory: test/e2e - run: sudo ./build/runner -f networks/ci.toml + run: ./build/runner -f networks/ci.toml if: "env.GIT_DIFF != ''" - name: Emit logs on failure diff --git a/test/e2e/runner/cleanup.go b/test/e2e/runner/cleanup.go index 3f7eff3e6..951e0d612 100644 --- a/test/e2e/runner/cleanup.go +++ b/test/e2e/runner/cleanup.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "os" + "path/filepath" e2e "github.com/tendermint/tendermint/test/e2e/pkg" ) @@ -21,6 +22,24 @@ func Cleanup(testnet *e2e.Testnet) error { } logger.Info("Removing Docker containers and networks") + err = execCompose(testnet.Dir, "stop") + if err != nil { + return err + } + + // On Linux, some local files in the volume will be owned by root since Tendermint + // runs as root inside the container, so we need to clean them up from within a + // container running as root too. + absDir, err := filepath.Abs(testnet.Dir) + if err != nil { + return err + } + err = execDocker("run", "--entrypoint", "", "-v", fmt.Sprintf("%v:/network", absDir), + "tendermint/e2e-node", "sh", "-c", "rm -rf /network/*/") + if err != nil { + return err + } + err = execCompose(testnet.Dir, "down") if err != nil { return err