From f76a202bb104c5475e0b5a6908c63980daa2fab2 Mon Sep 17 00:00:00 2001 From: Philip Ellis Date: Thu, 8 Jan 2026 11:57:08 -0500 Subject: [PATCH 1/7] added flags --- .goreleaser.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index fabfcdb0..f06b13cb 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -29,12 +29,16 @@ builds: goarch: ['386', arm, amd64, arm64] env: - CGO_ENABLED=0 + ldflags: + - -s -w -X main.version={{ .Version }} - id: macos binary: bin/sail main: ./ goos: [darwin] goarch: [amd64, arm64] + ldflags: + - -s -w -X main.version={{ .Version }} archives: - id: nix From bed47efc099e0208918f03332f385b499a236441 Mon Sep 17 00:00:00 2001 From: Philip Ellis Date: Thu, 8 Jan 2026 14:22:18 -0500 Subject: [PATCH 2/7] added some extra checks --- .github/workflows/pr_release_validation.yml | 29 ++++++++++++++++++++- .github/workflows/release.yml | 3 ++- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_release_validation.yml b/.github/workflows/pr_release_validation.yml index 4f43ee45..a358986c 100644 --- a/.github/workflows/pr_release_validation.yml +++ b/.github/workflows/pr_release_validation.yml @@ -12,6 +12,7 @@ permissions: jobs: test-goreleaser: runs-on: ubuntu-latest + timeout-minutes: 60 steps: - name: Checkout uses: actions/checkout@v4 @@ -51,19 +52,45 @@ jobs: - name: Set test version run: echo "RELEASE_VERSION=0.0.0-test" >> $GITHUB_ENV + - name: Verify environment + run: | + echo "=== Environment Check ===" + which osslsigncode + osslsigncode --version || echo "osslsigncode version check failed" + ls -la test-*.pem + echo "CERT_FILE=$CERT_FILE" + echo "KEY_FILE=$KEY_FILE" + go version + echo "=== Starting GoReleaser ===" + - name: Run GoReleaser in Snapshot Mode + continue-on-error: true + id: goreleaser uses: goreleaser/goreleaser-action@v6 with: version: "2.8.2" - args: release --snapshot --clean --skip=publish --timeout 30m --config .goreleaser.test.yaml --parallelism 4 + args: release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 4 --verbose env: GORELEASER_CURRENT_TAG: "v0.0.0-test" CERT_PASSWORD: "test" + - name: Check GoReleaser result + if: always() + run: | + echo "GoReleaser exit code: ${{ steps.goreleaser.outcome }}" + if [ -d dist ]; then + echo "=== Dist directory contents ===" + ls -lR dist/ || true + else + echo "No dist directory found" + fi + - name: Upload artifacts for inspection + if: always() uses: actions/upload-artifact@v4 with: name: test-release-artifacts path: dist/ retention-days: 7 + if-no-files-found: warn diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ebf5e53e..43011a04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,6 +16,7 @@ env: jobs: goreleaser: runs-on: ubuntu-latest + timeout-minutes: 90 steps: - name: Checkout uses: actions/checkout@v4 @@ -73,7 +74,7 @@ jobs: uses: goreleaser/goreleaser-action@v6 with: version: "2.8.2" - args: release --clean --verbose --timeout 60m --parallelism 4 + args: release --clean --verbose --timeout 60m --parallelism 2 env: GITHUB_TOKEN: ${{secrets.PUBLISHER_TOKEN}} GORELEASER_CURRENT_TAG: ${{steps.tagName.outputs.tag-name}} From f64541a840735b6fdf933b7a3018f10383b8c0ef Mon Sep 17 00:00:00 2001 From: Philip Ellis Date: Thu, 8 Jan 2026 14:32:57 -0500 Subject: [PATCH 3/7] added some code to try to capture error --- .github/workflows/pr_release_validation.yml | 23 ++++++++++++++++----- .goreleaser.test.yaml | 3 +-- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pr_release_validation.yml b/.github/workflows/pr_release_validation.yml index a358986c..f4ff7320 100644 --- a/.github/workflows/pr_release_validation.yml +++ b/.github/workflows/pr_release_validation.yml @@ -63,13 +63,20 @@ jobs: go version echo "=== Starting GoReleaser ===" + - name: Install GoReleaser + run: | + wget -q https://github.com/goreleaser/goreleaser/releases/download/v2.8.2/goreleaser_Linux_x86_64.tar.gz + tar -xzf goreleaser_Linux_x86_64.tar.gz + sudo mv goreleaser /usr/local/bin/ + goreleaser --version + - name: Run GoReleaser in Snapshot Mode continue-on-error: true id: goreleaser - uses: goreleaser/goreleaser-action@v6 - with: - version: "2.8.2" - args: release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 4 --verbose + run: | + set +e # Don't exit on error + goreleaser release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 4 --verbose + echo "exit_code=$?" >> $GITHUB_OUTPUT env: GORELEASER_CURRENT_TAG: "v0.0.0-test" CERT_PASSWORD: "test" @@ -77,13 +84,19 @@ jobs: - name: Check GoReleaser result if: always() run: | - echo "GoReleaser exit code: ${{ steps.goreleaser.outcome }}" + echo "GoReleaser exit code: ${{ steps.goreleaser.outputs.exit_code }}" + echo "Step outcome: ${{ steps.goreleaser.outcome }}" if [ -d dist ]; then echo "=== Dist directory contents ===" ls -lR dist/ || true else echo "No dist directory found" fi + + # Show last 100 lines of any build logs if they exist + if [ -d dist ]; then + find dist -name "*.log" -exec echo "=== {} ===" \; -exec tail -50 {} \; || true + fi - name: Upload artifacts for inspection if: always() diff --git a/.goreleaser.test.yaml b/.goreleaser.test.yaml index 502c49ea..13437183 100644 --- a/.goreleaser.test.yaml +++ b/.goreleaser.test.yaml @@ -8,8 +8,7 @@ release: name_template: "SailPoint CLI {{.Version}}" before: - hooks: - - go mod tidy + hooks: [] builds: - id: windows From 2c80f1f712c6bc1019cc1195f53b45ae5de6a4a0 Mon Sep 17 00:00:00 2001 From: Philip Ellis Date: Thu, 8 Jan 2026 15:28:10 -0500 Subject: [PATCH 4/7] added memory checks --- .github/workflows/pr_release_validation.yml | 22 +++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr_release_validation.yml b/.github/workflows/pr_release_validation.yml index f4ff7320..4aafda1f 100644 --- a/.github/workflows/pr_release_validation.yml +++ b/.github/workflows/pr_release_validation.yml @@ -61,6 +61,9 @@ jobs: echo "CERT_FILE=$CERT_FILE" echo "KEY_FILE=$KEY_FILE" go version + echo "=== System Resources ===" + free -h + df -h echo "=== Starting GoReleaser ===" - name: Install GoReleaser @@ -75,8 +78,23 @@ jobs: id: goreleaser run: | set +e # Don't exit on error - goreleaser release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 4 --verbose - echo "exit_code=$?" >> $GITHUB_OUTPUT + + # Monitor resources in background + (while true; do + echo "=== $(date) - Memory usage ===" + free -h | grep Mem + sleep 30 + done) & + MONITOR_PID=$! + + goreleaser release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 1 --verbose + EXIT_CODE=$? + + # Stop monitoring + kill $MONITOR_PID 2>/dev/null || true + + echo "exit_code=$EXIT_CODE" >> $GITHUB_OUTPUT + exit $EXIT_CODE env: GORELEASER_CURRENT_TAG: "v0.0.0-test" CERT_PASSWORD: "test" From ebe651d16423b3d033add8adcdd182fae2719024 Mon Sep 17 00:00:00 2001 From: Philip Ellis Date: Thu, 8 Jan 2026 15:53:45 -0500 Subject: [PATCH 5/7] set to 2 parellel --- .github/workflows/pr_release_validation.yml | 2 +- .github/workflows/release.yml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pr_release_validation.yml b/.github/workflows/pr_release_validation.yml index 4aafda1f..2f0a24d9 100644 --- a/.github/workflows/pr_release_validation.yml +++ b/.github/workflows/pr_release_validation.yml @@ -87,7 +87,7 @@ jobs: done) & MONITOR_PID=$! - goreleaser release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 1 --verbose + goreleaser release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 2 --verbose EXIT_CODE=$? # Stop monitoring diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 43011a04..138c599c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,6 +70,12 @@ jobs: - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Check system resources + run: | + echo "=== System Resources ===" + free -h + df -h + - name: Run GoReleaser uses: goreleaser/goreleaser-action@v6 with: From fb9ad4ddba4086e46ca2f8aecd4e7f86db02f2a0 Mon Sep 17 00:00:00 2001 From: Philip Ellis Date: Thu, 8 Jan 2026 16:31:42 -0500 Subject: [PATCH 6/7] removed debug code --- .github/workflows/pr_release_validation.yml | 65 ++------------------- .github/workflows/release.yml | 6 -- 2 files changed, 4 insertions(+), 67 deletions(-) diff --git a/.github/workflows/pr_release_validation.yml b/.github/workflows/pr_release_validation.yml index 2f0a24d9..61df3468 100644 --- a/.github/workflows/pr_release_validation.yml +++ b/.github/workflows/pr_release_validation.yml @@ -52,76 +52,19 @@ jobs: - name: Set test version run: echo "RELEASE_VERSION=0.0.0-test" >> $GITHUB_ENV - - name: Verify environment - run: | - echo "=== Environment Check ===" - which osslsigncode - osslsigncode --version || echo "osslsigncode version check failed" - ls -la test-*.pem - echo "CERT_FILE=$CERT_FILE" - echo "KEY_FILE=$KEY_FILE" - go version - echo "=== System Resources ===" - free -h - df -h - echo "=== Starting GoReleaser ===" - - - name: Install GoReleaser - run: | - wget -q https://github.com/goreleaser/goreleaser/releases/download/v2.8.2/goreleaser_Linux_x86_64.tar.gz - tar -xzf goreleaser_Linux_x86_64.tar.gz - sudo mv goreleaser /usr/local/bin/ - goreleaser --version - - name: Run GoReleaser in Snapshot Mode - continue-on-error: true - id: goreleaser - run: | - set +e # Don't exit on error - - # Monitor resources in background - (while true; do - echo "=== $(date) - Memory usage ===" - free -h | grep Mem - sleep 30 - done) & - MONITOR_PID=$! - - goreleaser release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 2 --verbose - EXIT_CODE=$? - - # Stop monitoring - kill $MONITOR_PID 2>/dev/null || true - - echo "exit_code=$EXIT_CODE" >> $GITHUB_OUTPUT - exit $EXIT_CODE + uses: goreleaser/goreleaser-action@v6 + with: + version: "2.8.2" + args: release --snapshot --clean --skip=publish --timeout 45m --config .goreleaser.test.yaml --parallelism 2 env: GORELEASER_CURRENT_TAG: "v0.0.0-test" CERT_PASSWORD: "test" - - name: Check GoReleaser result - if: always() - run: | - echo "GoReleaser exit code: ${{ steps.goreleaser.outputs.exit_code }}" - echo "Step outcome: ${{ steps.goreleaser.outcome }}" - if [ -d dist ]; then - echo "=== Dist directory contents ===" - ls -lR dist/ || true - else - echo "No dist directory found" - fi - - # Show last 100 lines of any build logs if they exist - if [ -d dist ]; then - find dist -name "*.log" -exec echo "=== {} ===" \; -exec tail -50 {} \; || true - fi - - name: Upload artifacts for inspection - if: always() uses: actions/upload-artifact@v4 with: name: test-release-artifacts path: dist/ retention-days: 7 - if-no-files-found: warn diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 138c599c..43011a04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,12 +70,6 @@ jobs: - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - - name: Check system resources - run: | - echo "=== System Resources ===" - free -h - df -h - - name: Run GoReleaser uses: goreleaser/goreleaser-action@v6 with: From 3f105e3f1014e342039a7fd5cb6836d55d48cf3f Mon Sep 17 00:00:00 2001 From: Philip Ellis Date: Thu, 8 Jan 2026 16:49:03 -0500 Subject: [PATCH 7/7] removed tidy --- .goreleaser.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index f06b13cb..c2ce8bcb 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -8,8 +8,7 @@ release: name_template: "SailPoint CLI {{.Version}}" before: - hooks: - - go mod tidy + hooks: [] builds: - id: windows