Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package fortio for openSUSE:Factory checked in at 2023-09-14 16:25:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fortio (Old) and /work/SRC/openSUSE:Factory/.fortio.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fortio" Thu Sep 14 16:25:53 2023 rev:49 rq:1110987 version:1.60.0 Changes: -------- --- /work/SRC/openSUSE:Factory/fortio/fortio.changes 2023-08-09 17:25:06.541326386 +0200 +++ /work/SRC/openSUSE:Factory/.fortio.new.1766/fortio.changes 2023-09-14 16:28:42.381099629 +0200 @@ -1,0 +2,19 @@ +Thu Sep 14 05:02:09 UTC 2023 - ka...@b1-systems.de + +- Update to version 1.60.0: + * Bump actions/checkout from 3.5.3 to 4.0.0 (#828) + * Bump docker/setup-buildx-action from 2.9.1 to 3.0.0 (#835) + * Bump docker/setup-qemu-action from 2.2.0 to 3.0.0 (#839) + * Bump docker/login-action from 2.2.0 to 3.0.0 (#838) + * close the cpu profile file right after stop cpu profile (#823) + * Bump docker/build-push-action from 4.2.1 to 5.0.0 (#836) + * go 1.20.8 build image (and thus govulncheck will stop + complaining) (#837) + * Bump docker/build-push-action from 4.1.1 to 4.2.1 (#832) + * Bump actions/setup-go from 4.0.1 to 4.1.0 (#821) + * grpc ping support compression option (#819) + * cli grpc support profile option (#820) + * Bump fortio.org/cli from 1.3.3 to 1.4.2 (#822) + * Remove the empty file .gitmodules (#818) + +------------------------------------------------------------------- Old: ---- fortio-1.59.0.obscpio New: ---- fortio-1.60.0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fortio.spec ++++++ --- /var/tmp/diff_new_pack.hlpAHY/_old 2023-09-14 16:28:44.049159218 +0200 +++ /var/tmp/diff_new_pack.hlpAHY/_new 2023-09-14 16:28:44.053159362 +0200 @@ -19,7 +19,7 @@ %define __arch_install_post export NO_BRP_STRIP_DEBUG=true Name: fortio -Version: 1.59.0 +Version: 1.60.0 Release: 0 Summary: Load testing library, command line tool, advanced echo server and web UI License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.hlpAHY/_old 2023-09-14 16:28:44.081160362 +0200 +++ /var/tmp/diff_new_pack.hlpAHY/_new 2023-09-14 16:28:44.085160504 +0200 @@ -1,15 +1,15 @@ <services> - <service name="obs_scm" mode="disabled"> + <service name="obs_scm" mode="manual"> <param name="url">https://github.com/fortio/fortio</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v1.59.0</param> + <param name="revision">v1.60.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="changesgenerate">enable</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="match-tag">v*</param> </service> - <service name="set_version" mode="disabled"> + <service name="set_version" mode="manual"> <param name="basename">fortio</param> </service> <service name="tar" mode="buildtime"/> @@ -17,7 +17,7 @@ <param name="file">*.tar</param> <param name="compression">gz</param> </service> - <service name="go_modules" mode="disabled"> + <service name="go_modules" mode="manual"> </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.hlpAHY/_old 2023-09-14 16:28:44.101161076 +0200 +++ /var/tmp/diff_new_pack.hlpAHY/_new 2023-09-14 16:28:44.105161219 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/fortio/fortio</param> - <param name="changesrevision">1b147932872c4d64ee776ac89a2296c755882e14</param></service></servicedata> + <param name="changesrevision">616c1dbb73fdab150cd59a9a7b43a307d08ba212</param></service></servicedata> (No newline at EOF) ++++++ fortio-1.59.0.obscpio -> fortio-1.60.0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/.circleci/config.yml new/fortio-1.60.0/.circleci/config.yml --- old/fortio-1.59.0/.circleci/config.yml 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/.circleci/config.yml 2023-09-14 02:04:22.000000000 +0200 @@ -8,7 +8,7 @@ &defaultEnv docker: # specify the version - - image: docker.io/fortio/fortio.build:v62@sha256:f7d431202f97b3dd7aab8bdfcf0ea9a4217740fb9ea0ffcb434d27bcbbe67301 + - image: docker.io/fortio/fortio.build:v63@sha256:5aa4391129408742ad58c82c642e57549980f06a6e2322044bb430babb490cb6 working_directory: /build/fortio jobs: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/.github/workflows/codecov.yml new/fortio-1.60.0/.github/workflows/codecov.yml --- old/fortio-1.59.0/.github/workflows/codecov.yml 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/.github/workflows/codecov.yml 2023-09-14 02:04:22.000000000 +0200 @@ -11,11 +11,11 @@ build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # pin@v3 + - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # pin@v3 with: fetch-depth: 2 - name: Set up Go - uses: actions/setup-go@fac708d6674e30b6ba41289acaab6d4b75aa0753 # pin@v4 + uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # pin@v4 with: go-version: '1.20' check-latest: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/.github/workflows/codeql-analysis.yml new/fortio-1.60.0/.github/workflows/codeql-analysis.yml --- old/fortio-1.59.0/.github/workflows/codeql-analysis.yml 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/.github/workflows/codeql-analysis.yml 2023-09-14 02:04:22.000000000 +0200 @@ -40,7 +40,7 @@ steps: - name: Checkout repository - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # pin@v3 + uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # pin@v3 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/.github/workflows/main.yml new/fortio-1.60.0/.github/workflows/main.yml --- old/fortio-1.59.0/.github/workflows/main.yml 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/.github/workflows/main.yml 2023-09-14 02:04:22.000000000 +0200 @@ -22,20 +22,20 @@ # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # pin@v3 + - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # pin@v3 - name: Set up QEMU - uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # pin@v2 + uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # pin@v2 - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@4c0219f9ac95b02789c1075625400b2acbff50b1 # pin@v2 + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # pin@v2 - name: Available platforms run: echo ${{ steps.buildx.outputs.platforms }} - name: Log in to Docker Hub - uses: docker/login-action@465a07811f14bebb1938fbed4728c6a1ff8901fc # pin@v2 + uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # pin@v2 with: username: ${{ secrets.DOCKER_USER }} password: ${{ secrets.DOCKER_TOKEN }} @@ -51,7 +51,7 @@ echo "Version $VERSION, Package version $PACKAGE_VERSION" - name: Build and push Docker image - uses: docker/build-push-action@2eb1c1961a95fc15694676618e422e8ba1d63825 # pin@v3 + uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # pin@v3 with: context: . platforms: linux/amd64,linux/arm64,linux/ppc64le,linux/s390x diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/.github/workflows/manual-build.yml new/fortio-1.60.0/.github/workflows/manual-build.yml --- old/fortio-1.59.0/.github/workflows/manual-build.yml 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/.github/workflows/manual-build.yml 2023-09-14 02:04:22.000000000 +0200 @@ -21,16 +21,16 @@ run: | echo "tag is ${{ github.event.inputs.tag }}" - - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # pin@v3 + - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # pin@v3 with: ref: ${{ github.event.inputs.tag }} - name: Set up QEMU - uses: docker/setup-qemu-action@2b82ce82d56a2a04d2637cd93a637ae1b359c0a7 # pin@v2 + uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # pin@v2 - name: Set up Docker Buildx id: buildx - uses: docker/setup-buildx-action@4c0219f9ac95b02789c1075625400b2acbff50b1 # pin@v2 + uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # pin@v2 - name: Build id: build diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/Dockerfile new/fortio-1.60.0/Dockerfile --- old/fortio-1.59.0/Dockerfile 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/Dockerfile 2023-09-14 02:04:22.000000000 +0200 @@ -1,5 +1,5 @@ # Build the binaries in larger image -FROM docker.io/fortio/fortio.build:v62@sha256:f7d431202f97b3dd7aab8bdfcf0ea9a4217740fb9ea0ffcb434d27bcbbe67301 as build +FROM docker.io/fortio/fortio.build:v63@sha256:5aa4391129408742ad58c82c642e57549980f06a6e2322044bb430babb490cb6 as build WORKDIR /build COPY --chown=build:build . fortio ARG MODE=install diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/Dockerfile.build new/fortio-1.60.0/Dockerfile.build --- old/fortio-1.59.0/Dockerfile.build 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/Dockerfile.build 2023-09-14 02:04:22.000000000 +0200 @@ -1,5 +1,5 @@ # Dependencies and linters for build: -FROM golang:1.20.7@sha256:bc5f0b5e43282627279fe5262ae275fecb3d2eae3b33977a7fd200c7a760d6f1 +FROM golang:1.20.8@sha256:6e1a67ec11cc4eaa7a9699bc6e5385b00001669531284005ebd2ada4129138d9 # Need gcc for -race test (and some linters though those work with CGO_ENABLED=0) RUN apt-get -y update && \ apt-get --no-install-recommends -y upgrade && \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/Dockerfile.echosrv new/fortio-1.60.0/Dockerfile.echosrv --- old/fortio-1.59.0/Dockerfile.echosrv 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/Dockerfile.echosrv 2023-09-14 02:04:22.000000000 +0200 @@ -1,5 +1,5 @@ # Build the binaries in larger image -FROM docker.io/fortio/fortio.build:v62@sha256:f7d431202f97b3dd7aab8bdfcf0ea9a4217740fb9ea0ffcb434d27bcbbe67301 as build +FROM docker.io/fortio/fortio.build:v63@sha256:5aa4391129408742ad58c82c642e57549980f06a6e2322044bb430babb490cb6 as build WORKDIR /build COPY . fortio RUN make -C fortio official-build-version BUILD_DIR=/build OFFICIAL_TARGET=fortio.org/fortio/echosrv diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/Dockerfile.fcurl new/fortio-1.60.0/Dockerfile.fcurl --- old/fortio-1.59.0/Dockerfile.fcurl 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/Dockerfile.fcurl 2023-09-14 02:04:22.000000000 +0200 @@ -1,5 +1,5 @@ # Build the binaries in larger image -FROM docker.io/fortio/fortio.build:v62@sha256:f7d431202f97b3dd7aab8bdfcf0ea9a4217740fb9ea0ffcb434d27bcbbe67301 as build +FROM docker.io/fortio/fortio.build:v63@sha256:5aa4391129408742ad58c82c642e57549980f06a6e2322044bb430babb490cb6 as build WORKDIR /build COPY . fortio RUN make -C fortio official-build-version BUILD_DIR=/build OFFICIAL_TARGET=fortio.org/fortio/fcurl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/Makefile new/fortio-1.60.0/Makefile --- old/fortio-1.59.0/Makefile 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/Makefile 2023-09-14 02:04:22.000000000 +0200 @@ -7,7 +7,7 @@ IMAGES=echosrv fcurl # plus the combo image / Dockerfile without ext. DOCKER_PREFIX := docker.io/fortio/fortio -BUILD_IMAGE_TAG := v62@sha256:f7d431202f97b3dd7aab8bdfcf0ea9a4217740fb9ea0ffcb434d27bcbbe67301 +BUILD_IMAGE_TAG := v63@sha256:5aa4391129408742ad58c82c642e57549980f06a6e2322044bb430babb490cb6 BUILDX_PLATFORMS := linux/amd64,linux/arm64,linux/ppc64le,linux/s390x BUILDX_POSTFIX := ifeq '$(shell echo $(BUILDX_PLATFORMS) | awk -F "," "{print NF-1}")' '0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/README.md new/fortio-1.60.0/README.md --- old/fortio-1.59.0/README.md 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/README.md 2023-09-14 02:04:22.000000000 +0200 @@ -1,4 +1,4 @@ -<!-- 1.59.0 --> +<!-- 1.60.0 --> # Fortio [](https://github.com/avelino/awesome-go#networking) @@ -60,13 +60,13 @@ The [releases](https://github.com/fortio/fortio/releases) page has binaries for many OS/architecture combinations (see assets): ```shell -curl -L https://github.com/fortio/fortio/releases/download/v1.59.0/fortio-linux_amd64-1.59.0.tgz \ +curl -L https://github.com/fortio/fortio/releases/download/v1.60.0/fortio-linux_amd64-1.60.0.tgz \ | sudo tar -C / -xvzpf - # or the debian package -wget https://github.com/fortio/fortio/releases/download/v1.59.0/fortio_1.59.0_amd64.deb -dpkg -i fortio_1.59.0_amd64.deb +wget https://github.com/fortio/fortio/releases/download/v1.60.0/fortio_1.60.0_amd64.deb +dpkg -i fortio_1.60.0_amd64.deb # or the rpm -rpm -i https://github.com/fortio/fortio/releases/download/v1.59.0/fortio-1.59.0-1.x86_64.rpm +rpm -i https://github.com/fortio/fortio/releases/download/v1.60.0/fortio-1.60.0-1.x86_64.rpm # and more, see assets in release page ``` @@ -76,7 +76,7 @@ brew install fortio ``` -On Windows, download https://github.com/fortio/fortio/releases/download/v1.59.0/fortio_win_1.59.0.zip and extract `fortio.exe` to any location, then using the Windows Command Prompt: +On Windows, download https://github.com/fortio/fortio/releases/download/v1.60.0/fortio_win_1.60.0.zip and extract `fortio.exe` to any location, then using the Windows Command Prompt: ``` fortio.exe server ``` @@ -128,7 +128,7 @@ <!-- use release/updateFlags.sh to update this section --> <pre> <!-- USAGE_START --> -ΦοÏÏίο 1.59.0 usage: +ΦοÏÏίο 1.60.0 usage: fortio command [flags] target where command is one of: load (load testing), server (starts ui, rest api, http-echo, redirect, proxies, tcp-echo, udp-echo and grpc ping servers), @@ -208,6 +208,8 @@ Setting for runtime.GOMAXPROCS, <1 doesn't change the default -grpc Use GRPC (health check by default, add -ping for ping) for load testing + -grpc-compression + Enable grpc compression -grpc-max-streams uint MaxConcurrentStreams for the grpc server. Default (0) is to leave the option unset. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/Webtest.sh new/fortio-1.60.0/Webtest.sh --- old/fortio-1.59.0/Webtest.sh 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/Webtest.sh 2023-09-14 02:04:22.000000000 +0200 @@ -140,7 +140,7 @@ PPROF_URL="$BASE_URL/debug/pprof/heap?debug=1" $CURL "$PPROF_URL" | grep -i TotalAlloc # should find this in memory profile # creating dummy container to hold a volume for test certs due to remote docker bind mount limitation. -DOCKERCURLID=$(docker run -d -v $TEST_CERT_VOL --net host --name $DOCKERSECVOLNAME docker.io/fortio/fortio.build:v62@sha256:f7d431202f97b3dd7aab8bdfcf0ea9a4217740fb9ea0ffcb434d27bcbbe67301 sleep 120) +DOCKERCURLID=$(docker run -d -v $TEST_CERT_VOL --net host --name $DOCKERSECVOLNAME docker.io/fortio/fortio.build:v63@sha256:5aa4391129408742ad58c82c642e57549980f06a6e2322044bb430babb490cb6 sleep 120) # while we have something with actual curl binary do # Test for h2c upgrade (#562) docker exec $DOCKERSECVOLNAME /usr/bin/curl -v --http2 -m 10 -d foo42 http://localhost:8080/debug | tee >(cat 1>&2) | grep foo42 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/cli/fortio_main.go new/fortio-1.60.0/cli/fortio_main.go --- old/fortio-1.59.0/cli/fortio_main.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/cli/fortio_main.go 2023-09-14 02:04:22.000000000 +0200 @@ -106,6 +106,7 @@ goMaxProcsFlag = flag.Int("gomaxprocs", 0, "Setting for runtime.GOMAXPROCS, <1 doesn't change the default") profileFlag = flag.String("profile", "", "write .cpu and .mem profiles to `file`") grpcFlag = flag.Bool("grpc", false, "Use GRPC (health check by default, add -ping for ping) for load testing") + grpcCompression = flag.Bool("grpc-compression", false, "Enable grpc compression") echoPortFlag = flag.String("http-port", "8080", "http echo server port. Can be in the form of host:port, ip:port, `port` or /unix/domain/path or \""+disabled+"\".") tcpPortFlag = flag.String("tcp-port", "8078", @@ -437,6 +438,8 @@ Delay: *pingDelayFlag, UsePing: *doPingLoadFlag, Metadata: httpHeader2grpcMetadata(httpOpts.AllHeaders()), + GrpcCompression: *grpcCompression, + Profiler: *profileFlag, } o.TLSOptions = httpOpts.TLSOptions res, err = fgrpc.RunGRPCTest(&o) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/fgrpc/grpcrunner.go new/fortio-1.60.0/fgrpc/grpcrunner.go --- old/fortio-1.59.0/fgrpc/grpcrunner.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/fgrpc/grpcrunner.go 2023-09-14 02:04:22.000000000 +0200 @@ -31,6 +31,7 @@ "google.golang.org/grpc" "google.golang.org/grpc/credentials" "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/encoding/gzip" "google.golang.org/grpc/health/grpc_health_v1" "google.golang.org/grpc/metadata" ) @@ -132,6 +133,7 @@ Metadata metadata.MD // input metadata that will be added to the request dialOptions []grpc.DialOption // grpc dial options extracted from Metadata (authority and user-agent extracted) filteredMetadata metadata.MD // filtered version of Metadata metadata (without authority and user-agent) + GrpcCompression bool // enable grpc compression } // RunGRPCTest runs an http test and returns the aggregated stats. @@ -157,12 +159,19 @@ if pll > 0 { o.RunType += fmt.Sprintf(" PayloadLength=%d", pll) } - log.Infof("Starting %s test for %s with %d*%d threads at %.1f qps", o.RunType, o.Destination, o.Streams, o.NumThreads, o.QPS) + log.Infof("Starting %s test for %s with %d*%d threads at %.1f qps, compression: %v", + o.RunType, o.Destination, o.Streams, o.NumThreads, o.QPS, o.GrpcCompression) o.NumThreads *= o.Streams r := periodic.NewPeriodicRunner(&o.RunnerOptions) defer r.Options().Abort() numThreads := r.Options().NumThreads // may change o.dialOptions, o.filteredMetadata = extractDialOptionsAndFilter(o.Metadata) + + callOptions := make([]grpc.CallOption, 0) + if o.GrpcCompression { + callOptions = append(callOptions, grpc.UseCompressor(gzip.Name)) + } + total := GRPCRunnerResults{ RetCodes: make(HealthResultMap), Destination: o.Destination, @@ -200,7 +209,7 @@ } grpcstate[i].reqP = PingMessage{Payload: o.Payload, DelayNanos: o.Delay.Nanoseconds(), Seq: int64(i), Ts: ts} if o.Exactly <= 0 { - _, err = grpcstate[i].clientP.Ping(outCtx, &grpcstate[i].reqP) + _, err = grpcstate[i].clientP.Ping(outCtx, &grpcstate[i].reqP, callOptions...) } } else { grpcstate[i].clientH = grpc_health_v1.NewHealthClient(conn) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/fgrpc/pingsrv.go new/fortio-1.60.0/fgrpc/pingsrv.go --- old/fortio-1.59.0/fgrpc/pingsrv.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/fgrpc/pingsrv.go 2023-09-14 02:04:22.000000000 +0200 @@ -28,6 +28,7 @@ "golang.org/x/net/context" "google.golang.org/grpc" "google.golang.org/grpc/credentials" + _ "google.golang.org/grpc/encoding/gzip" // Install the gzip compressor "google.golang.org/grpc/health" "google.golang.org/grpc/health/grpc_health_v1" "google.golang.org/grpc/metadata" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/fgrpc/pingsrv_test.go new/fortio-1.60.0/fgrpc/pingsrv_test.go --- old/fortio-1.59.0/fgrpc/pingsrv_test.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/fgrpc/pingsrv_test.go 2023-09-14 02:04:22.000000000 +0200 @@ -33,7 +33,6 @@ log.SetLogLevel(log.Debug) } -//nolint:gocognit func TestPingServer(t *testing.T) { TLSSecure := &fhttp.TLSOptions{CACert: caCrt, Insecure: false} TLSSecureMissingCert := &fhttp.TLSOptions{Insecure: false} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/fhttp/httprunner.go new/fortio-1.60.0/fhttp/httprunner.go --- old/fortio-1.59.0/fhttp/httprunner.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/fhttp/httprunner.go 2023-09-14 02:04:22.000000000 +0200 @@ -197,8 +197,10 @@ } } // TODO avoid copy pasta with grpcrunner + var fc *os.File if o.Profiler != "" { - fc, err := os.Create(o.Profiler + ".cpu") + var err error + fc, err = os.Create(o.Profiler + ".cpu") if err != nil { log.Critf("Unable to create .cpu profile: %v", err) return nil, err @@ -210,6 +212,7 @@ total.RunnerResults = r.Run() if o.Profiler != "" { pprof.StopCPUProfile() + fc.Close() fm, err := os.Create(o.Profiler + ".mem") if err != nil { log.Critf("Unable to create .mem profile: %v", err) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/fhttp/httprunner_test.go new/fortio-1.60.0/fhttp/httprunner_test.go --- old/fortio-1.59.0/fhttp/httprunner_test.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/fhttp/httprunner_test.go 2023-09-14 02:04:22.000000000 +0200 @@ -271,7 +271,6 @@ return } -//nolint:gocognit func TestAccessLogAndTrace(t *testing.T) { mux, addr := DynamicHTTPServer(false) mux.HandleFunc("/echo-for-alog/", EchoHandler) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/go.mod new/fortio-1.60.0/go.mod --- old/fortio-1.59.0/go.mod 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/go.mod 2023-09-14 02:04:22.000000000 +0200 @@ -4,17 +4,17 @@ require ( fortio.org/assert v1.2.0 - fortio.org/cli v1.3.3 + fortio.org/cli v1.4.2 fortio.org/dflag v1.5.3 - fortio.org/log v1.10.0 + fortio.org/log v1.11.0 fortio.org/scli v1.11.0 fortio.org/sets v1.0.3 fortio.org/testscript v0.3.1 fortio.org/version v1.0.2 github.com/golang/protobuf v1.5.3 - github.com/google/uuid v1.3.0 - golang.org/x/net v0.14.0 - google.golang.org/grpc v1.57.0 + github.com/google/uuid v1.3.1 + golang.org/x/net v0.15.0 + google.golang.org/grpc v1.58.0 ) // Local dev of dependencies changes @@ -29,10 +29,10 @@ require ( github.com/fsnotify/fsnotify v1.6.0 // indirect - golang.org/x/exp v0.0.0-20230801115018-d63ba01acd4b // indirect - golang.org/x/sys v0.11.0 // indirect - golang.org/x/text v0.12.0 // indirect - golang.org/x/tools v0.8.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 // indirect + golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/text v0.13.0 // indirect + golang.org/x/tools v0.13.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb // indirect google.golang.org/protobuf v1.31.0 // indirect ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/go.sum new/fortio-1.60.0/go.sum --- old/fortio-1.59.0/go.sum 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/go.sum 2023-09-14 02:04:22.000000000 +0200 @@ -1,11 +1,11 @@ fortio.org/assert v1.2.0 h1:XscfvR8yp4xW7OMCvNbCsieRFDxlwdEcb69+JZRp6LA= fortio.org/assert v1.2.0/go.mod h1:039mG+/iYDPO8Ibx8TrNuJCm2T2SuhwRI3uL9nHTTls= -fortio.org/cli v1.3.3 h1:b2JPQ7ekVFpF7SrEllJTbh1rdivsyXT081oQUeiuIp0= -fortio.org/cli v1.3.3/go.mod h1:ZsevXTvMidh3xllYoAElS52XRcGx+f1hVlgB+v2Pa0Y= +fortio.org/cli v1.4.2 h1:pCYVPk5FpQuJtD31f9CG8sdgoTOWdv9Gls8As/MLJhU= +fortio.org/cli v1.4.2/go.mod h1:VGqFDEKpA6u3NbTM3aSz2lZfAYKnGaszl1pLxbBhxsY= fortio.org/dflag v1.5.3 h1:+pCqZBCz95PYTxhcmenjrkVORWIRB1Je4eO/So574Bc= fortio.org/dflag v1.5.3/go.mod h1:cM/ojIzdDv8FRA5yqSRpDK9jCGmASln0k7ag3zeiqbw= -fortio.org/log v1.10.0 h1:Id2z9HjGlof0VsIHi2XNI9k+tG7ujODVDnAAvkSgpuE= -fortio.org/log v1.10.0/go.mod h1:u/8/2lyczXq52aT5Nw6reD+3cR6m/EbS2jBiIYhgiTU= +fortio.org/log v1.11.0 h1:w7ueGPGbXz0A3+ApMz/5Q9gwEMrwSo/ohTlLo2Um6dU= +fortio.org/log v1.11.0/go.mod h1:u/8/2lyczXq52aT5Nw6reD+3cR6m/EbS2jBiIYhgiTU= fortio.org/scli v1.11.0 h1:MI0kTivwCIF2L6eJJFUnTipd5d1KtCM1oVMB6Dcf6pY= fortio.org/scli v1.11.0/go.mod h1:XfyQjPJWYlF74dY0zMascOzVPds0GCbam184DMuCySU= fortio.org/sets v1.0.3 h1:HzewdGjH69YmyW06yzplL35lGr+X4OcqQt0qS6jbaO4= @@ -21,24 +21,24 @@ github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -golang.org/x/exp v0.0.0-20230801115018-d63ba01acd4b h1:r+vk0EmXNmekl0S0BascoeeoHk/L7wmaW2QF90K+kYI= -golang.org/x/exp v0.0.0-20230801115018-d63ba01acd4b/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc= -golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= +golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/tools v0.8.0 h1:vSDcovVPld282ceKgDimkRSC8kpaH1dgyc9UMzlt84Y= -golang.org/x/tools v0.8.0/go.mod h1:JxBZ99ISMI5ViVkT1tr6tdNmXeTrcpVSD3vZ1RsRdN4= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 h1:eSaPbMR4T7WfH9FvABk36NBMacoTUKdWCvV0dx+KfOg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I= -google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= -google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb h1:Isk1sSH7bovx8Rti2wZK0UZF6oraBDK74uoyLEEVFN0= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230913181813-007df8e322eb/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= +google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o= +google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/rapi/restHandler.go new/fortio-1.60.0/rapi/restHandler.go --- old/fortio-1.59.0/rapi/restHandler.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/rapi/restHandler.go 2023-09-14 02:04:22.000000000 +0200 @@ -253,7 +253,7 @@ } } c, _ := strconv.Atoi(FormValue(r, jd, "c")) - out := io.Writer(os.Stderr) + out := io.Writer(os.Stdout) if len(percList) == 0 && !strings.Contains(r.URL.RawQuery, "p=") { percList = DefaultPercentileList } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/rapi/restHandler_test.go new/fortio-1.60.0/rapi/restHandler_test.go --- old/fortio-1.59.0/rapi/restHandler_test.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/rapi/restHandler_test.go 2023-09-14 02:04:22.000000000 +0200 @@ -534,7 +534,7 @@ // otherwise log.SetLogLevel(log.Info) mux, addr := fhttp.DynamicHTTPServer(false) uiPath := "/f/" - AddHandlers(nil, mux, "", uiPath, ".") + AddHandlers(nil, mux, "", uiPath, "/tmp") // Error with bad host restURL := fmt.Sprintf("http://localhost:%d%s%s", addr.Port, uiPath, RestRunURI) // sync first: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/release/Dockerfile.in new/fortio-1.60.0/release/Dockerfile.in --- old/fortio-1.59.0/release/Dockerfile.in 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/release/Dockerfile.in 2023-09-14 02:04:22.000000000 +0200 @@ -1,5 +1,5 @@ # Concatenated after ../Dockerfile to create the tgz -FROM docker.io/fortio/fortio.build:v62@sha256:f7d431202f97b3dd7aab8bdfcf0ea9a4217740fb9ea0ffcb434d27bcbbe67301 as stage +FROM docker.io/fortio/fortio.build:v63@sha256:5aa4391129408742ad58c82c642e57549980f06a6e2322044bb430babb490cb6 as stage ARG archs="amd64 arm64 ppc64le s390x" ENV archs=${archs} # Build image defaults to build user, switch back to root for diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fortio-1.59.0/ui/uihandler.go new/fortio-1.60.0/ui/uihandler.go --- old/fortio-1.59.0/ui/uihandler.go 2023-08-08 01:22:30.000000000 +0200 +++ new/fortio-1.60.0/ui/uihandler.go 2023-09-14 02:04:22.000000000 +0200 @@ -99,9 +99,13 @@ // Handler is the main UI handler creating the web forms and processing them. // TODO: refactor common option/args/flag parsing between restHandle.go and this. // -//nolint:funlen, gocognit, nestif // should be refactored indeed (TODO) +//nolint:funlen, nestif // should be refactored indeed (TODO) func Handler(w http.ResponseWriter, r *http.Request) { log.LogRequest(r, "UI") + if r.Method != http.MethodPost && r.Method != http.MethodGet { + // method is already logged by LogRequest so we just return (for HEAD etc... see Issue#830) + return + } mode := menu JSONOnly := false runid := int64(0) ++++++ fortio.obsinfo ++++++ --- /var/tmp/diff_new_pack.hlpAHY/_old 2023-09-14 16:28:44.253166506 +0200 +++ /var/tmp/diff_new_pack.hlpAHY/_new 2023-09-14 16:28:44.257166649 +0200 @@ -1,5 +1,5 @@ name: fortio -version: 1.59.0 -mtime: 1691450550 -commit: 1b147932872c4d64ee776ac89a2296c755882e14 +version: 1.60.0 +mtime: 1694649862 +commit: 616c1dbb73fdab150cd59a9a7b43a307d08ba212 ++++++ vendor.tar.gz ++++++ ++++ 5877 lines of diff (skipped)