build(deps): bump hederaVersion from 0.74.0-rc.1 to 0.75.0-rc.1 in /h… #2545
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-License-Identifier: Apache-2.0 | |
| name: "K6 Load Tests" | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - release/* | |
| pull_request: | |
| types: | |
| - opened | |
| - reopened | |
| - synchronize | |
| defaults: | |
| run: | |
| shell: bash | |
| permissions: | |
| contents: read | |
| env: | |
| GRADLE_EXEC: ionice -c 2 -n 2 nice -n 19 ./gradlew --no-daemon | |
| SOLO_VERSION: "0.72.0" | |
| jobs: | |
| k6-tests: | |
| timeout-minutes: 30 | |
| runs-on: hl-bn-lin-md | |
| steps: | |
| - name: Harden Runner | |
| uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1 | |
| with: | |
| egress-policy: audit | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| - name: Extract version | |
| id: extract_version | |
| run: | | |
| VERSION=$(cat version.txt) | |
| echo "VERSION=${VERSION}" >> $GITHUB_ENV | |
| - name: Set up JDK 25 | |
| uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 | |
| with: | |
| distribution: "temurin" | |
| java-version: "25.0.2" | |
| - name: Setup Node | |
| uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 | |
| with: | |
| node-version: "20.19.4" | |
| - name: Install Helm | |
| uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5.0.0 | |
| - name: Setup Kind | |
| uses: helm/kind-action@ef37e7f390d99f746eb8b610417061a60e82a6cc # v1.14.0 | |
| with: | |
| install_only: true | |
| node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30 | |
| version: v0.26.0 | |
| kubectl_version: v1.31.4 | |
| verbosity: 3 | |
| wait: 120s | |
| # Install Solo CLI | |
| - name: Install Solo CLI via npm | |
| id: solo | |
| run: | | |
| npm i @hashgraph/solo@${SOLO_VERSION} -g | |
| # Extract version number from solo output (handles various output formats) | |
| SOLO_INSTALLED=$(solo --version 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' | head -1 || echo "unknown") | |
| echo "Solo version: ${SOLO_INSTALLED}" | |
| echo "solo_version=${SOLO_INSTALLED}" >> "${GITHUB_OUTPUT}" | |
| # Produce protobuf source artifact | |
| - name: Produce Protobuf proto artifact | |
| run: ${GRADLE_EXEC} :protobuf-sources:generateBlockNodeProtoArtifact | |
| # Untar protobuf sources | |
| - name: Untar Protobuf Sources | |
| working-directory: protobuf-sources | |
| run: | | |
| mkdir -p proto | |
| # Use the generated protobuf artifact (matches local project version) | |
| PROTO_FILE=$(ls block-node-protobuf-*.tgz 2>/dev/null | head -1) | |
| if [[ -z "$PROTO_FILE" ]]; then | |
| echo "Error: No protobuf artifact found" | |
| ls -la | |
| exit 1 | |
| fi | |
| echo "Using protobuf artifact: $PROTO_FILE" | |
| tar -xzf "$PROTO_FILE" -C proto | |
| - name: Install grpcurl | |
| run: | | |
| curl -L https://github.com/fullstorydev/grpcurl/releases/download/v1.8.7/grpcurl_1.8.7_linux_x86_64.tar.gz -o grpcurl.tar.gz | |
| sudo tar -xzf grpcurl.tar.gz -C /usr/local/bin grpcurl | |
| rm grpcurl.tar.gz | |
| - name: Install jq | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y jq | |
| - name: Install k6 | |
| run: | | |
| # based on https://grafana.com/docs/k6/latest/set-up/install-k6/#debianubuntu | |
| sudo gpg -k | |
| sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69 | |
| echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list | |
| sudo apt-get update | |
| sudo apt-get install k6 | |
| - name: Run k6 tests | |
| run: ${GRADLE_EXEC} runK6Tests | |
| - name: Display Test Logs | |
| run: ${GRADLE_EXEC} printK6Logs |