diff --git a/CHANGES.md b/CHANGES.md index 7788bfe..1508bfe 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,7 @@ Release Notes. ### Bug Fixes * Upgrade `golang.org/x/net` to v0.62.0 (with `golang.org/x/crypto` v0.58.0, `golang.org/x/text` v0.43.0 and `golang.org/x/sys` v0.49.0) to fix GO-2026-6860 and GO-2026-6866. +* Fix the `actions/setup` GitHub Action installing Go 1.24, older than the Go 1.26 that `go.mod` requires. 0.15.0 ------------------ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b9d9926..4fbc7a8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -41,8 +41,10 @@ request. Your PR is most likely to be accepted if it: ## Compiling and building -Clone the source code and simply run `make` in the source directory, this will download all necessary dependencies and -run tests, lint, and build three binary files in `./bin/`, for Windows, Linux, MacOS respectively. +Building needs Go 1.26 or later, and `make` also needs `license-eye` and `golangci-lint`. Clone the source code and +simply run `make` in the source directory, this will download all necessary dependencies, check the license headers, +lint, run tests, and build the binaries in `./bin/`, one per platform: `darwin` (`amd64`, `arm64`), `linux` (`386`, +`amd64`, `arm64`) and `windows` (`386`, `amd64`). `make build` only builds them. ```shell make @@ -103,17 +105,18 @@ This section guides committers and PMC members to release SkyWalking CLI in Apac - [x] [GNU Make](https://www.gnu.org/software/make/manual/make.html) is installed - [x] [GPG tool](https://gpgtools.org) is installed -- [x] [Add your GPG key](docs/How-to-release.md#add-your-gpg-public-key) +- [x] [Add your GPG key](docs/How-to-release.md#add-your-gpg-public-key-to-apache-svn) ### Release steps -- Export the version that is to be released, `export VERSION=1.0.1 ` -- Tag the latest commit that is to be released with `git tag v${VERSION}` and push the tag - with `git push https://github.com/apache/skywalking-cli v${VERSION}` -- Verify licenses, build and sign distribution packages, simply run `make release`, distribution packages and checksums - are generated +- Export the version that is to be released, `export VERSION=1.0.1`, and the Go version CI uses, + `export GOTOOLCHAIN=go1.26.` +- [Build and sign the source code package](docs/How-to-release.md#build-and-sign-the-source-code-package): tag the + release commit with the annotated tag `${VERSION}` (no `v` prefix), run `make release` to verify licenses, build and + sign the distribution packages, and push the tag only after it succeeds - [Upload the packages to SVN repository](docs/How-to-release.md#upload-to-apache-svn) -- [Send internal announcement](docs/How-to-release.md#make-the-internal-announcements) +- `scripts/pre-release.sh` runs the two steps above and prints the vote email +- [Send internal announcement](docs/How-to-release.md#make-the-internal-announcement) - [Wait at least 48 hours for test responses](docs/How-to-release.md#wait-at-least-48-hours-for-test-responses) -- [Call for vote](docs/How-to-release.md#call-a-vote-in-dev) -- [Publish release](docs/How-to-release.md#publish-release) +- [Call for vote](docs/How-to-release.md#call-for-vote-in-dev-mailing-list) +- [Publish release](docs/How-to-release.md#publish-release), `scripts/release.sh` runs its steps diff --git a/README.md b/README.md index 06afeb7..39815bf 100644 --- a/README.md +++ b/README.md @@ -50,21 +50,22 @@ including macOS, Linux, Windows. ### Build from source -If you want to try the latest features, you can compile the latest source code and build `swctl` by yourself. Since -SkyWalking CLI is using `Makefile`, compiling the project is as easy as executing a command in the root directory of the -project. +If you want to try the latest features, you can compile the latest source code and build `swctl` by yourself. Building +needs Go 1.26 or later. Run this in the root directory of the project: ```shell git clone https://github.com/apache/skywalking-cli cd skywalking-cli -make +make build ``` -Then copy the `./bin/swctl-latest-(darwin|linux|windows)-amd64` to your `PATH` directory according to your OS, -usually `/usr/bin/` or `/usr/local/bin`. +`make build` writes one binary per platform to `./bin/`, named `swctl---`, for `darwin` (`amd64`, +`arm64`), `linux` (`386`, `amd64`, `arm64`) and `windows` (`386`, `amd64`). `` is `dev-` +unless you set it, as in `make build VERSION=0.16.0`. A plain `make` also checks the license headers, lints and runs +the tests before building, which needs `license-eye` and `golangci-lint` installed. -You can also copy it to any directory you like, then add that directory to `PATH`. **We recommend you to rename -the `swctl-latest-(darwin|linux|windows)-amd64` to `swctl`.** +Then copy the binary for your OS and architecture to a directory in your `PATH`, usually `/usr/local/bin`, and rename it +to `swctl`. ### Run from Docker image @@ -149,7 +150,7 @@ jobs: # other steps such as checkout ... - name: Wrap the deployment steps with skywalking-cli - uses: apache/skywalking-cli@main # we always suggest using a revision instead of `main` + uses: apache/skywalking-cli@master # we always suggest pinning a release tag or a commit SHA instead of `master` with: oap-url: ${{ secrets.OAP_URL }} # Required. Set the OAP backend URL, such as example.com:11800 auth-token: ${{ secrets.OAP_AUTH_TOKEN }} # Optional. OAP auth token if you enable authentication in OAP diff --git a/actions/setup/action.yaml b/actions/setup/action.yaml index c9a73c9..62f7f65 100644 --- a/actions/setup/action.yaml +++ b/actions/setup/action.yaml @@ -36,7 +36,7 @@ runs: - name: Set up Go uses: actions/setup-go@v7 with: - go-version: 1.24 + go-version: "1.26" cache-dependency-path: ${{ github.action_path }}/go.sum - name: Checkout if: inputs.version != '' diff --git a/docs/How-to-release.md b/docs/How-to-release.md index f7553cf..b025628 100644 --- a/docs/How-to-release.md +++ b/docs/How-to-release.md @@ -225,7 +225,7 @@ skipped or failed step. 2. Push Docker images. In order to publish the Docker images, you -have [to enable BuildKit in the Docker daemon](https://docs.docker.com/develop/develop-images/build_enhancements/. +have [to enable BuildKit in the Docker daemon](https://docs.docker.com/build/buildkit/). ```shell make docker.push diff --git a/test/cases/basic/test.yaml b/test/cases/basic/test.yaml index c094692..33c8df4 100644 --- a/test/cases/basic/test.yaml +++ b/test/cases/basic/test.yaml @@ -26,7 +26,10 @@ setup: trigger: action: http interval: 3s - times: 10 + # Continuous traffic until the verify phase ends. The client-side relation metrics + # (service_relation_client_cpm, ...) need the OAP to resolve the consumer's exit + # peer to the provider service, which a short burst of requests may not outlast. + times: -1 url: http://${consumer_host}:${consumer_9090}/users method: POST