--- name: 'E2E Backend Tests' on: pull_request: push: branches: - master tags: - '*' concurrency: group: ci-tests-e2e-backend-${{ github.head_ref || github.ref }}-${{ github.repository }} cancel-in-progress: true jobs: tests-e2e-backend: runs-on: ubuntu-latest strategy: matrix: go-version: ['1.25.x'] steps: - name: Clone uses: actions/checkout@v6 with: submodules: true - name: Setup Go ${{ matrix.go-version }} uses: actions/setup-go@v5 with: go-version: ${{ matrix.go-version }} cache: false - name: Display Go version run: go version - name: Proto Dependencies run: | # Install protoc curl -L -s https://github.com/protocolbuffers/protobuf/releases/download/v26.1/protoc-26.1-linux-x86_64.zip -o protoc.zip && \ unzip -j -d /usr/local/bin protoc.zip bin/protoc && \ rm protoc.zip go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.2 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@1958fcbe2ca8bd93af633f11e97d44e567e945af PATH="$PATH:$HOME/go/bin" make protogen-go - name: Dependencies run: | sudo apt-get update sudo apt-get install -y build-essential - name: Test Backend E2E run: | PATH="$PATH:$HOME/go/bin" make build-mock-backend test-e2e - name: Setup tmate session if tests fail if: ${{ failure() }} uses: mxschmitt/action-tmate@v3.23 with: detached: true connect-timeout-seconds: 180 limit-access-to-actor: true