- Unit tests, integration tests and the Docker build check run in parallel on branches and pull requests - Integration tests run on every push instead of only manually - Branch builds only build amd64 and check the arm64 cross-compile in the test job; both platforms are built and pushed only for version tags, after all tests pass - Docker layers cached through the runner cache, Go module and build caches mounted in the Dockerfile - A newer push to the same branch cancels the running pipeline