From 29aff1fdff49eafefa805c79f490540d85b51941 Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Thu, 23 Jul 2026 14:41:17 -0300 Subject: [PATCH 01/15] Added ci and input sets --- .../pipelines/split_synchronizer_ci.yaml | 161 ++++++++++++++++++ .../input_sets/split_synchronizer_ci_pr.yaml | 15 ++ .../split_synchronizer_ci_push.yaml | 15 ++ 3 files changed, 191 insertions(+) create mode 100644 .harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml create mode 100644 .harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci/input_sets/split_synchronizer_ci_pr.yaml create mode 100644 .harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci/input_sets/split_synchronizer_ci_push.yaml diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml new file mode 100644 index 00000000..9ef52665 --- /dev/null +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml @@ -0,0 +1,161 @@ +pipeline: + name: split_synchronizer_ci + identifier: split_synchronizer_ci + projectIdentifier: Harness_Split + orgIdentifier: PROD + tags: {} + properties: + ci: + codebase: + connectorRef: fmegithubrunnersci + repoName: split-synchronizer + build: <+input> + depth: 0 + sparseCheckout: [] + stages: + - stage: + name: Build and Test + identifier: Build_and_Test + type: CI + spec: + cloneCodebase: true + caching: + enabled: true + platform: + os: Linux + arch: Amd64 + runtime: + type: Cloud + spec: + size: flex + execution: + steps: + - step: + type: Background + name: redis + identifier: redis + spec: + connectorRef: dockerhub + image: redis:latest + shell: Sh + portBindings: + "6379": "6379" + - step: + type: Run + name: Run Tests + identifier: Run_Tests + spec: + connectorRef: dockerhub + image: golang:1.26.3 + shell: Sh + command: |- + make test_coverage + envVariables: + GOFLAGS: "-v" + - step: + type: Run + name: SonarQube Analysis + identifier: SonarQube_Analysis + spec: + shell: Sh + command: | + export SONAR_SCANNER_VERSION=6.2.1.4610 + curl -sSLo sonar-scanner.zip "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-${SONAR_SCANNER_VERSION}-linux-x64.zip" + unzip -q sonar-scanner.zip + export PATH="$(pwd)/sonar-scanner-${SONAR_SCANNER_VERSION}-linux-x64/bin:$PATH" + + # Project version (preserves test.yml behavior) + VERSION="$(awk '/^const Version/{gsub(/"/, "", $4); print $4}' splitio/version.go)" + + # Build branch/PR params + SONAR_EXTRA_ARGS="" + if [ "<+codebase.build.type>" = "PR" ]; then + SONAR_EXTRA_ARGS="-Dsonar.pullrequest.key=<+codebase.prNumber> \ + -Dsonar.pullrequest.branch=<+codebase.sourceBranch> \ + -Dsonar.pullrequest.base=<+codebase.targetBranch>" + elif [ "<+codebase.branch>" != "main" ]; then + SONAR_EXTRA_ARGS="-Dsonar.branch.name=<+codebase.branch>" + fi + + sonar-scanner \ + -Dsonar.host.url="https://sonar.harness.io/" \ + -Dsonar.token="${SONAR_TOKEN}" \ + -Dsonar.projectVersion="${VERSION}" \ + $SONAR_EXTRA_ARGS + envVariables: + SONAR_TOKEN: <+secrets.getValue("sonarqube-token")> + SONAR_HOST_URL: https://sonar.harness.io + - step: + type: Run + name: Post Quality Gate + identifier: Post_Quality_Gate + spec: + shell: Sh + command: | + # Use the task report from sonar-scanner to get the correct analysis ID + REPORT_FILE=".scannerwork/report-task.txt" + + if [ ! -f "$REPORT_FILE" ]; then + echo "ERROR: $REPORT_FILE not found. Ensure this step runs in the same workspace as sonar-scanner." + exit 1 + fi + + cat "$REPORT_FILE" + + CE_TASK_URL=$(grep "ceTaskUrl" "$REPORT_FILE" | cut -d'=' -f2-) + + # Poll until the background task is finished (max 5 min) + MAX_RETRIES=30 + RETRY_INTERVAL=10 + TASK_STATUS="PENDING" + + for i in $(seq 1 $MAX_RETRIES); do + echo "Attempt $i/$MAX_RETRIES - Checking analysis task..." + TASK_RESPONSE=$(curl -s -u "${SONAR_TOKEN}:" "$CE_TASK_URL") + TASK_STATUS=$(echo "$TASK_RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin)['task']['status'])" 2>/dev/null || echo "UNKNOWN") + + echo "Task status: $TASK_STATUS" + + if [ "$TASK_STATUS" = "SUCCESS" ] || [ "$TASK_STATUS" = "FAILED" ] || [ "$TASK_STATUS" = "CANCELLED" ]; then + break + fi + sleep $RETRY_INTERVAL + done + + if [ "$TASK_STATUS" != "SUCCESS" ]; then + echo "Analysis task did not complete successfully: $TASK_STATUS" + exit 1 + fi + + # Get the analysis ID from the completed task + ANALYSIS_ID=$(echo "$TASK_RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin)['task']['analysisId'])") + + # Query quality gate using the analysis ID (works for any branch/PR) + QG_RESPONSE=$(curl -s -u "${SONAR_TOKEN}:" \ + "https://sonar.harness.io/api/qualitygates/project_status?analysisId=${ANALYSIS_ID}") + + echo "Quality Gate response: $QG_RESPONSE" + + QG_STATUS=$(echo "$QG_RESPONSE" | python3 -c "import sys,json; print(json.load(sys.stdin)['projectStatus']['status'])") + + echo "Quality Gate Status: $QG_STATUS" + + case "$QG_STATUS" in + OK) GH_STATE="success"; DESC="Quality gate passed" ;; + ERROR) GH_STATE="failure"; DESC="Quality gate failed" ;; + WARN) GH_STATE="success"; DESC="Quality gate passed with warnings" ;; + *) GH_STATE="failure"; DESC="Quality gate status: $QG_STATUS" ;; + esac + + curl -s -X POST \ + -H "Authorization: token ${GITHUB_TOKEN}" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/splitio/<+pipeline.properties.ci.codebase.repoName>/statuses/<+codebase.commitSha>" \ + -d "{\"state\":\"${GH_STATE}\",\"description\":\"${DESC}\",\"context\":\"sonarqube/quality-gate\",\"target_url\":\"https://sonar.harness.io/dashboard?id=${SONAR_PROJECT_KEY}\"}" + + echo "Posted GitHub status: $GH_STATE - $DESC" + envVariables: + SONAR_TOKEN: <+secrets.getValue("sonarqube-token")> + SONAR_HOST_URL: https://sonar.harness.io + GITHUB_TOKEN: <+secrets.getValue("fme-github-netrc-token")> + SONAR_PROJECT_KEY: <+pipeline.properties.ci.codebase.repoName> diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci/input_sets/split_synchronizer_ci_pr.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci/input_sets/split_synchronizer_ci_pr.yaml new file mode 100644 index 00000000..cfe99b29 --- /dev/null +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci/input_sets/split_synchronizer_ci_pr.yaml @@ -0,0 +1,15 @@ +inputSet: + name: split_synchronizer_ci_pr + identifier: split_synchronizer_ci_pr + orgIdentifier: PROD + projectIdentifier: Harness_Split + tags: {} + pipeline: + identifier: split_synchronizer_ci + properties: + ci: + codebase: + build: + type: PR + spec: + number: <+trigger.prNumber> diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci/input_sets/split_synchronizer_ci_push.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci/input_sets/split_synchronizer_ci_push.yaml new file mode 100644 index 00000000..583df221 --- /dev/null +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci/input_sets/split_synchronizer_ci_push.yaml @@ -0,0 +1,15 @@ +inputSet: + name: split_synchronizer_ci_push + identifier: split_synchronizer_ci_push + orgIdentifier: PROD + projectIdentifier: Harness_Split + tags: {} + pipeline: + identifier: split_synchronizer_ci + properties: + ci: + codebase: + build: + type: branch + spec: + branch: <+trigger.branch> From 40acbcaef8dc3380a70326bf815127813dde434a Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Thu, 23 Jul 2026 16:28:36 -0300 Subject: [PATCH 02/15] Updated FME-17169 --- .../pipelines/split_synchronizer_ci.yaml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml index 9ef52665..179c8e45 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml @@ -47,8 +47,19 @@ pipeline: spec: connectorRef: dockerhub image: golang:1.26.3 - shell: Sh + shell: Bash command: |- + # Wait for the Redis background service to accept connections. + # Harness Background steps start concurrently with the Run step + # and provide no readiness gate (unlike GitHub Actions `services:`), + # so tests can hit localhost:6379 before Redis is up -> connection refused. + for i in $(seq 1 30); do + if (exec 3<>/dev/tcp/127.0.0.1/6379) 2>/dev/null; then + echo "Redis is up"; exec 3>&-; break + fi + echo "Waiting for Redis... ($i/30)"; sleep 1 + done + make test_coverage envVariables: GOFLAGS: "-v" From 4c7a4cf5d2544a5e81a5ed4c47f4ae36e8b21250 Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Thu, 23 Jul 2026 17:43:52 -0300 Subject: [PATCH 03/15] Updated ci for redis --- .../Harness_Split/pipelines/split_synchronizer_ci.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml index 179c8e45..a8c42460 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml @@ -26,8 +26,7 @@ pipeline: arch: Amd64 runtime: type: Cloud - spec: - size: flex + spec: {} execution: steps: - step: From b62519ea0732e9185d4b4cbdb190422d74714ff6 Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Thu, 23 Jul 2026 18:04:53 -0300 Subject: [PATCH 04/15] Run Redis in-container for CI tests Harness Cloud Background steps run as a separate container reachable only at :port, not localhost. The Go tests hardcode localhost:6379 (matching the GitHub Actions services: redis behavior), so start redis-server inside the test container instead to keep localhost:6379 valid without modifying the tests. Co-Authored-By: Claude Opus 4.8 AI-Session-Id: 381ab245-4510-43f5-85b6-396e2d21247b AI-Tool: claude-code AI-Model: unknown --- .../pipelines/split_synchronizer_ci.yaml | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml index a8c42460..ad99512e 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_ci.yaml @@ -29,16 +29,6 @@ pipeline: spec: {} execution: steps: - - step: - type: Background - name: redis - identifier: redis - spec: - connectorRef: dockerhub - image: redis:latest - shell: Sh - portBindings: - "6379": "6379" - step: type: Run name: Run Tests @@ -48,13 +38,23 @@ pipeline: image: golang:1.26.3 shell: Bash command: |- - # Wait for the Redis background service to accept connections. - # Harness Background steps start concurrently with the Run step - # and provide no readiness gate (unlike GitHub Actions `services:`), - # so tests can hit localhost:6379 before Redis is up -> connection refused. + # Start Redis INSIDE the test container so the tests reach it at + # localhost:6379, matching the GitHub Actions `services: redis` + # behavior without modifying the Go tests (which hardcode + # localhost:6379). + # + # NOTE: a Harness `Background` step is NOT used here. On Harness + # Cloud infra a Background step runs as a SEPARATE container, + # reachable only at `redis:6379` (its step id) -- never localhost. + # Running redis-server in-container keeps it on the same network + # namespace so localhost:6379 resolves, as it did on GHA. + apt-get update && apt-get install -y redis-server + redis-server --daemonize yes + + # Wait until Redis accepts connections before running tests. for i in $(seq 1 30); do - if (exec 3<>/dev/tcp/127.0.0.1/6379) 2>/dev/null; then - echo "Redis is up"; exec 3>&-; break + if redis-cli ping 2>/dev/null | grep -q PONG; then + echo "Redis is up"; break fi echo "Waiting for Redis... ($i/30)"; sleep 1 done From a09af290a79d75472d2673d9d83454ab5d4995fc Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Mon, 27 Jul 2026 17:35:53 -0300 Subject: [PATCH 05/15] Added s3 pipeline --- .../pipelines/split_synchronizer_cd_s3.yaml | 59 +++++++++++++++++++ .../split_synchronizer_cd_s3_pr.yaml | 15 +++++ .../split_synchronizer_cd_s3_push.yaml | 15 +++++ 3 files changed, 89 insertions(+) create mode 100644 .harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml create mode 100644 .harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3/input_sets/split_synchronizer_cd_s3_pr.yaml create mode 100644 .harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3/input_sets/split_synchronizer_cd_s3_push.yaml diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml new file mode 100644 index 00000000..8ffec5ed --- /dev/null +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -0,0 +1,59 @@ +pipeline: + name: split_synchronizer_cd_s3 + identifier: split_synchronizer_cd_s3 + projectIdentifier: Harness_Split + orgIdentifier: PROD + tags: {} + properties: + ci: + codebase: + connectorRef: fmegithubrunnersci + repoName: split-synchronizer + build: <+input> + depth: 0 + sparseCheckout: [] + stages: + - stage: + name: Build and Deploy to S3 + identifier: Build_and_Deploy_to_S3 + type: CI + spec: + cloneCodebase: true + execution: + steps: + - step: + type: Run + name: Build Release Assets + identifier: Build_Release_Assets + spec: + connectorRef: dockerhub + image: golang:1.26.3 + shell: Bash + command: |- + mkdir -p build + make release_assets + - step: + type: Run + name: Deploy to S3 + identifier: Deploy_to_S3 + when: + stageStatus: Success + condition: <+trigger.event> == "PUSH" + spec: + connectorRef: dockerhub + image: amazon/aws-cli:2.31.5 + shell: Bash + command: aws s3 sync ./build s3://downloads.split.io + envVariables: + AWS_DEFAULT_REGION: us-east-1 + infrastructure: + type: KubernetesDirect + spec: + connectorRef: use1prod1cd + namespace: harness-delegate + serviceAccountName: use1-prod-1-gha-downloads + automountServiceAccountToken: false + nodeSelector: {} + os: Linux + delegateSelectors: + - use1-prod-1-cd diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3/input_sets/split_synchronizer_cd_s3_pr.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3/input_sets/split_synchronizer_cd_s3_pr.yaml new file mode 100644 index 00000000..39db1d4e --- /dev/null +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3/input_sets/split_synchronizer_cd_s3_pr.yaml @@ -0,0 +1,15 @@ +inputSet: + name: split_synchronizer_cd_s3_pr + identifier: split_synchronizer_cd_s3_pr + orgIdentifier: PROD + projectIdentifier: Harness_Split + tags: {} + pipeline: + identifier: split_synchronizer_cd_s3 + properties: + ci: + codebase: + build: + type: PR + spec: + number: <+trigger.prNumber> diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3/input_sets/split_synchronizer_cd_s3_push.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3/input_sets/split_synchronizer_cd_s3_push.yaml new file mode 100644 index 00000000..2138d945 --- /dev/null +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3/input_sets/split_synchronizer_cd_s3_push.yaml @@ -0,0 +1,15 @@ +inputSet: + name: split_synchronizer_cd_s3_push + identifier: split_synchronizer_cd_s3_push + orgIdentifier: PROD + projectIdentifier: Harness_Split + tags: {} + pipeline: + identifier: split_synchronizer_cd_s3 + properties: + ci: + codebase: + build: + type: branch + spec: + branch: <+trigger.branch> From 2a8a3437416017673c21b8ad12653293fbb59558 Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Tue, 28 Jul 2026 10:44:59 -0300 Subject: [PATCH 06/15] Updated version --- splitio/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/splitio/version.go b/splitio/version.go index 11a04172..4e549cff 100644 --- a/splitio/version.go +++ b/splitio/version.go @@ -2,4 +2,4 @@ package splitio // Version is the version of this Agent -const Version = "5.12.7" +const Version = "5.12.8-rc" From 2f69338a68d0dd24ae1b2af6c12447c3a9e9122d Mon Sep 17 00:00:00 2001 From: Mariano Arago Date: Wed, 29 Jul 2026 20:08:33 +0000 Subject: [PATCH 07/15] Update pipeline split_synchronizer_cd_s3 --- .../Harness_Split/pipelines/split_synchronizer_cd_s3.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml index 8ffec5ed..a7680055 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -51,7 +51,7 @@ pipeline: spec: connectorRef: use1prod1cd namespace: harness-delegate - serviceAccountName: use1-prod-1-gha-downloads + serviceAccountName: use1-prod-1-split-synchronizer-downloads automountServiceAccountToken: false nodeSelector: {} os: Linux From 04ec5f677b1bfdf1706e8c0850d6ab4666c2eeb8 Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Wed, 29 Jul 2026 17:30:39 -0300 Subject: [PATCH 08/15] Updated s3 and dp_gen file --- .../Harness_Split/pipelines/split_synchronizer_cd_s3.yaml | 1 + release/dp_gen.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml index a7680055..93b0551e 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -30,6 +30,7 @@ pipeline: image: golang:1.26.3 shell: Bash command: |- + pip install packaging --quiet mkdir -p build make release_assets - step: diff --git a/release/dp_gen.py b/release/dp_gen.py index 85576b8e..90069fe7 100644 --- a/release/dp_gen.py +++ b/release/dp_gen.py @@ -18,7 +18,7 @@ from argparse import ArgumentParser from typing import List, Dict from os import path -from distutils.version import StrictVersion +from packaging.version import Version as StrictVersion # regex to filter rcs/betas/etc _VALID_TAG_REGEX = re.compile(r'^v{0,1}\d{1,2}\.\d{1,2}\.\d{1,2}$') From 85a83649b4ed0422ee91b3a7f670584c447143b7 Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Wed, 29 Jul 2026 17:37:48 -0300 Subject: [PATCH 09/15] Updated s3 --- .../Harness_Split/pipelines/split_synchronizer_cd_s3.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml index 93b0551e..d41df728 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -30,7 +30,7 @@ pipeline: image: golang:1.26.3 shell: Bash command: |- - pip install packaging --quiet + apt-get update -qq && apt-get install -y -qq python3-packaging mkdir -p build make release_assets - step: From 1260d9542526387e66aa3e592e429ce3e26aaced Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Wed, 29 Jul 2026 17:54:28 -0300 Subject: [PATCH 10/15] Updated s3 --- .../Harness_Split/pipelines/split_synchronizer_cd_s3.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml index d41df728..33ced577 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -29,6 +29,10 @@ pipeline: connectorRef: dockerhub image: golang:1.26.3 shell: Bash + resources: + limits: + memory: 2Gi + cpu: "1" command: |- apt-get update -qq && apt-get install -y -qq python3-packaging mkdir -p build From 420154d18e43db134746eae310951f1a151c1b2e Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Wed, 29 Jul 2026 18:32:42 -0300 Subject: [PATCH 11/15] Updated s3 config --- .../Harness_Split/pipelines/split_synchronizer_cd_s3.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml index 33ced577..8b47d409 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -19,6 +19,8 @@ pipeline: type: CI spec: cloneCodebase: true + buildIntelligence: + enabled: false execution: steps: - step: @@ -31,8 +33,8 @@ pipeline: shell: Bash resources: limits: - memory: 2Gi - cpu: "1" + memory: 4Gi + cpu: "2" command: |- apt-get update -qq && apt-get install -y -qq python3-packaging mkdir -p build From 60b21a9dfcd4fcd7b9560ca4686cf5863e309291 Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Wed, 29 Jul 2026 18:45:11 -0300 Subject: [PATCH 12/15] Updated s3 --- .../Harness_Split/pipelines/split_synchronizer_cd_s3.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml index 8b47d409..6f3bf0ed 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -36,7 +36,7 @@ pipeline: memory: 4Gi cpu: "2" command: |- - apt-get update -qq && apt-get install -y -qq python3-packaging + apt-get update -qq && apt-get install -y -qq python3-packaging zip mkdir -p build make release_assets - step: From 318a122e7d86b435ce150c7b809b46e36f482d9c Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Wed, 29 Jul 2026 23:20:32 -0300 Subject: [PATCH 13/15] Updated s3 --- .../Harness_Split/pipelines/split_synchronizer_cd_s3.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml index 6f3bf0ed..158a4a9b 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -36,7 +36,7 @@ pipeline: memory: 4Gi cpu: "2" command: |- - apt-get update -qq && apt-get install -y -qq python3-packaging zip + apt-get update -qq && apt-get install -y -qq python3-packaging zip wget mkdir -p build make release_assets - step: @@ -60,7 +60,8 @@ pipeline: namespace: harness-delegate serviceAccountName: use1-prod-1-split-synchronizer-downloads automountServiceAccountToken: false - nodeSelector: {} + nodeSelector: + kubernetes.io/arch: amd64 os: Linux delegateSelectors: - use1-prod-1-cd From 3d0667810ec0e020312c4b583d69e7dd80de1a09 Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Wed, 29 Jul 2026 23:30:33 -0300 Subject: [PATCH 14/15] Updated s3 --- .../Harness_Split/pipelines/split_synchronizer_cd_s3.yaml | 3 +-- windows/Makefile | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml index 158a4a9b..c34f0ef3 100644 --- a/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml +++ b/.harness/orgs/PROD/projects/Harness_Split/pipelines/split_synchronizer_cd_s3.yaml @@ -60,8 +60,7 @@ pipeline: namespace: harness-delegate serviceAccountName: use1-prod-1-split-synchronizer-downloads automountServiceAccountToken: false - nodeSelector: - kubernetes.io/arch: amd64 + nodeSelector: {} os: Linux delegateSelectors: - use1-prod-1-cd diff --git a/windows/Makefile b/windows/Makefile index 0747aa2e..516afbba 100644 --- a/windows/Makefile +++ b/windows/Makefile @@ -7,7 +7,7 @@ BUILD_FOLDER := $(CURRENT_PATH)/build GO := $(BIN_FOLDER)/go -ASSET ?= go1.26.linux-amd64.tar.gz +ASSET ?= go1.26.linux-arm64.tar.gz SOURCES := $(shell find $(PARENT_PATH) -path $(dirname $(pwd))/windows -prune -o -name "*.go" -print) \ $(PARENT_PATH)/go.mod \ $(PARENT_PATH)/go.sum From cdaff05bf97fe399de0cfc01df8e84b1f27ae01a Mon Sep 17 00:00:00 2001 From: Nadia Mayor Date: Thu, 30 Jul 2026 13:31:55 -0300 Subject: [PATCH 15/15] Remove github folder --- .github/CODEOWNERS | 1 - .github/pull_request_template.md | 7 --- .github/workflows/s3.yml | 48 ----------------- .github/workflows/test.yml | 63 ----------------------- .github/workflows/update-license-year.yml | 45 ---------------- 5 files changed, 164 deletions(-) delete mode 100644 .github/CODEOWNERS delete mode 100644 .github/pull_request_template.md delete mode 100644 .github/workflows/s3.yml delete mode 100644 .github/workflows/test.yml delete mode 100644 .github/workflows/update-license-year.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 9e319810..00000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @splitio/sdk diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index eb7b8098..00000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,7 +0,0 @@ -# Split Synchronizer - -## What did you accomplish? - -## How do we test the changes introduced in this PR? - -## Extra Notes diff --git a/.github/workflows/s3.yml b/.github/workflows/s3.yml deleted file mode 100644 index c58d083a..00000000 --- a/.github/workflows/s3.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: cd - -on: - push: - branches: - - main - pull_request: - branches: - - main - -permissions: - contents: read - id-token: write - -jobs: - build-publish: - name: Build and publish to S3 - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Setup Go - uses: actions/setup-go@v6 - with: - go-version: '1.26.3' - - - name: Create build folder - run: mkdir -p build - - - name: Execute build - run: make release_assets - - - name: Configure AWS credentials - if: ${{ github.event_name == 'push' }} - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: arn:aws:iam::825951051969:role/gha-downloads-role - aws-region: us-east-1 - - - name: Deploy to S3 - if: ${{ github.event_name == 'push' }} - run: aws s3 sync $SOURCE_DIR s3://$BUCKET - env: - BUCKET: downloads.split.io - SOURCE_DIR: ./build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index cbecc29d..00000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,63 +0,0 @@ -name: test - -on: - push: - branches: - - main - pull_request: - branches-ignore: - - none - -jobs: - build-and-test: - name: Build and run tests - runs-on: ubuntu-latest - services: - redis: - image: redis - credentials: - username: ${{ vars.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_RO_TOKEN }} - ports: - - 6379:6379 - steps: - - name: Checkout code - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Setup Go - uses: actions/setup-go@v6 - with: - go-version: '1.26.3' - - - name: Get version - run: echo "VERSION=$(awk '/^const Version/{gsub(/"/, "", $4); print $4}' splitio/version.go)" >> $GITHUB_ENV - - - name: Run test - run: make test_coverage - - - name: SonarQube Scan (Pull Request) - if: ${{ github.event_name == 'pull_request' }} - uses: SonarSource/sonarcloud-github-action@v3 - env: - SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - with: - projectBaseDir: . - args: > - -Dsonar.host.url=${{ secrets.SONARQUBE_HOST }} - -Dsonar.projectVersion=${{ env.VERSION }} - -Dsonar.pullrequest.key=${{ github.event.pull_request.number }} - -Dsonar.pullrequest.branch=${{ github.event.pull_request.head.ref }} - -Dsonar.pullrequest.base=${{ github.event.pull_request.base.ref }} - - - name: SonarQube Scan (Push) - if: ${{ github.event_name == 'push' }} - uses: SonarSource/sonarcloud-github-action@v3 - env: - SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} - with: - projectBaseDir: . - args: > - -Dsonar.host.url=${{ vars.SONARQUBE_HOST }} - -Dsonar.projectVersion=${{ env.VERSION }} diff --git a/.github/workflows/update-license-year.yml b/.github/workflows/update-license-year.yml deleted file mode 100644 index 082a9ca4..00000000 --- a/.github/workflows/update-license-year.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Update License Year - -on: - schedule: - - cron: "0 3 1 1 *" # 03:00 AM on January 1 - -permissions: - contents: write - pull-requests: write - -jobs: - test: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v6 - with: - fetch-depth: 0 - - - name: Set Current year - run: "echo CURRENT=$(date +%Y) >> $GITHUB_ENV" - - - name: Set Previous Year - run: "echo PREVIOUS=$(($CURRENT-1)) >> $GITHUB_ENV" - - - name: Update LICENSE - uses: jacobtomlinson/gha-find-replace@v2 - with: - find: ${{ env.PREVIOUS }} - replace: ${{ env.CURRENT }} - include: "LICENSE" - regex: false - - - name: Commit files - run: | - git config user.name 'github-actions[bot]' - git config user.email 'github-actions[bot]@users.noreply.github.com' - git commit -m "Updated License Year" -a - - - name: Create Pull Request - uses: peter-evans/create-pull-request@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} - title: Update License Year - branch: update-license