Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
------------------
Expand Down
25 changes: 14 additions & 11 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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.<latest patch>`
- [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
19 changes: 10 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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-<version>-<os>-<arch>`, for `darwin` (`amd64`,
`arm64`), `linux` (`386`, `amd64`, `arm64`) and `windows` (`386`, `amd64`). `<version>` is `dev-<short commit id>`
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

Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion actions/setup/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 != ''
Expand Down
2 changes: 1 addition & 1 deletion docs/How-to-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 4 additions & 1 deletion test/cases/basic/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
Loading