Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
6b231dc
introduce retry metadata to batch struct
agarakan Dec 30, 2025
8521373
Remove unused reset method
agarakan Dec 30, 2025
7244af8
add unit tests for retryMetadata
agarakan Dec 30, 2025
d2f21e1
fix lint
agarakan Dec 30, 2025
66186a7
Introduce retryHeap and retryHeapProcessor
agarakan Dec 30, 2025
83224b4
Exchange pushch for semaphor to enformce heap size and blocking
agarakan Dec 30, 2025
7cfc794
Add conditional logic to sender to call batch.Fail() during concurrency
agarakan Dec 30, 2025
b4ffd7a
Add unit tests
agarakan Dec 30, 2025
0e4b0bc
Instantiate RetryHeap and RetryHeapProcessor if concurrency enabled
agarakan Dec 30, 2025
9c1332a
Add unit tests for retryheap instantiation
agarakan Dec 30, 2025
dddb691
Update sender to reference retryHeap to call push on fail
agarakan Dec 30, 2025
02bc5c6
Add unit tests for sender logic
agarakan Dec 31, 2025
ef7d627
Implement halt on target logic
agarakan Dec 31, 2025
309f904
lint
agarakan Dec 31, 2025
d0727b6
Merge branch 'enable-multithreaded-logging-by-default' into sender-bl…
the-mann Feb 9, 2026
800c06b
Merge branch 'enable-multithreaded-logging-by-default' into sender-bl…
the-mann Feb 9, 2026
d9296a6
lint
the-mann Feb 9, 2026
a5621fc
Merge remote-tracking branch 'origin/sender-block-on-failure' into se…
the-mann Feb 9, 2026
7051a0c
fix tests
the-mann Feb 9, 2026
fd185db
Fix race condition in RetryHeap Stop and Push methods
the-mann Feb 9, 2026
d79ae7f
Add failing test for circuit breaker resume on batch expiry
the-mann Feb 9, 2026
de410f1
lx
the-mann Feb 9, 2026
f4c7620
Remove configurable maxRetryTimeout in favor of default hardcoded value
the-mann Feb 10, 2026
c791abd
Update tests for removed retryDuration parameter
the-mann Feb 10, 2026
4d798e2
Add test for initializeStartTime idempotency
the-mann Feb 10, 2026
cdf1651
refactor(pusher): Remove unused concurrency parameter from NewPusher
the-mann Feb 10, 2026
28ba902
test(pusher): Add automated recovery tests for poison pill
the-mann Feb 10, 2026
11b1d26
Add test filtering to integration test workflows
the-mann Feb 11, 2026
a47cc27
Merge workflow filtering from sender-block-on-failure
the-mann Feb 11, 2026
8e20ddf
fix: Use compact JSON output in apply_filters to prevent multiline GI…
the-mann Feb 11, 2026
4f8aa7a
Merge remote-tracking branch 'origin/main' into remove_maxretryduration
the-mann Feb 11, 2026
fd28e8e
Add unit tests for poison pill scenario
the-mann Feb 11, 2026
6a6c0c6
Fix poison pill bug: Make retry heap unbounded
the-mann Feb 11, 2026
78c947b
Merge remote-tracking branch 'origin/main' into sender-block-on-failure
the-mann Feb 11, 2026
60b6f49
Remove test filtering feature (moved to separate PR)
the-mann Feb 11, 2026
1b1973b
Trigger PR diff refresh
the-mann Feb 11, 2026
8a4960f
Merge remote-tracking branch 'origin/enable-multithreaded-logging-by-…
the-mann Feb 11, 2026
bd7147b
Merge remote-tracking branch 'origin/sender-block-on-failure' into re…
the-mann Feb 11, 2026
a814482
Revert gitignore changes (remove agent-sops)
the-mann Feb 11, 2026
5e215da
Merge main into fix/poison-pill-deadlock
the-mann Feb 12, 2026
fd2ea56
refactor(pusher): Remove unused maxSize parameter from NewRetryHeap
the-mann Feb 12, 2026
38afc5f
fix(pusher): Remove redundant updateState call in retryheap
the-mann Feb 12, 2026
3e1ed82
test(pusher): Remove empty TestSenderPoolRetryHeap test
the-mann Feb 12, 2026
2d07b38
docs(pusher): Clean up verbose test comment in queue_test.go
the-mann Feb 12, 2026
c739bb9
docs(pusher): Clean up verbose test comment in retryheap_expiry_test.go
the-mann Feb 12, 2026
4e7393a
test(pusher): Remove unused circuitBreakerHalted variable
the-mann Feb 12, 2026
f640a19
test(pusher): Use exact assertion for circuit breaker send count
the-mann Feb 12, 2026
eb58912
test(pusher): Remove ineffective dummyBatch code in TestQueueHaltResume
the-mann Feb 12, 2026
3d9d779
fix(pusher): Address review feedback on poison pill PR
the-mann Feb 13, 2026
bef0a7d
test(pusher): Add state callback tests for retry heap
the-mann Feb 13, 2026
55bc63c
refactor(pusher): Audit and fix test assertions
the-mann Feb 13, 2026
6f941fe
Merge main into fix/poison-pill-deadlock
the-mann Feb 13, 2026
e59274a
Merge enable-multithreaded-logging-by-default into fix/poison-pill-de…
the-mann Feb 13, 2026
c1e1944
refactor(pusher): Remove redundant TestRetryHeapSmallerThanFailingLog…
the-mann Feb 13, 2026
334acdf
docs(pusher): Remove internal ticket references from test comments
the-mann Feb 13, 2026
b6f3b3e
refactor(pusher): Simplify fail callback to direct method reference
the-mann Feb 13, 2026
98bdc89
style(pusher): Fix unused parameter lint warnings
the-mann Feb 13, 2026
1aad58e
Fix E2E test workflow permissions (#2028)
jefchien Feb 16, 2026
48918e2
Bump minimum workflow go version to match go.mod (#2036)
jefchien Feb 24, 2026
ca1df31
fix: use main branch for helm-charts in EKS performance workflow (#2035)
the-mann Feb 24, 2026
9aabc04
fix(pusher): Address PR review feedback from Jeffrey Chien
the-mann Feb 26, 2026
eb798b5
Merge remote-tracking branch 'origin/main' into fix-pr-2023
the-mann Feb 26, 2026
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
6 changes: 3 additions & 3 deletions .github/workflows/PR-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
if: needs.changes.outputs.lint == 'true'
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7
cache: false

- name: Check out code
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
if: needs.changes.outputs.build == 'true'
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7
cache: false

- name: Check out code
Expand Down Expand Up @@ -152,7 +152,7 @@ jobs:
if: needs.changes.outputs.build == 'true'
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7
cache: false

- name: Check out code
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/PR-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7

StartLocalStack:
name: 'StartLocalStack'
Expand Down Expand Up @@ -138,7 +138,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7

- name: Install jq
run: sudo apt-get install -y jq
Expand Down
21 changes: 14 additions & 7 deletions .github/workflows/application-signals-e2e-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,20 @@ jobs:
exit 1
fi
- run: |
conclusion=$(gh run view ${{ inputs.build_run_id }} --repo $GITHUB_REPOSITORY --json conclusion -q '.conclusion')
if [[ $conclusion == "success" ]]; then
echo "Run succeeded"
else
echo "Run failed"
exit 1
fi
for i in {1..6}; do
conclusion=$(gh run view ${{ inputs.build_run_id }} --repo $GITHUB_REPOSITORY --json conclusion -q '.conclusion')
if [[ "$conclusion" == "success" ]]; then
echo "Run succeeded"
exit 0
elif [[ "$conclusion" == "failure" || "$conclusion" == "cancelled" ]]; then
echo "Run failed with: $conclusion"
exit 1
fi
echo "Waiting for workflow to complete (attempt $i)..."
sleep 5
done
echo "Timed out waiting for workflow"
exit 1
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/build-test-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ on:
- cron: '0 11 * * 1,2,3,4,5' # Every day at 11:00 UTC on Monday to Friday
workflow_dispatch:
inputs:
test-image-before-upload:
description: "Run Test on the new container image"
run-tests:
description: "Run test workflows after build"
default: true
type: boolean
workflow_call:
inputs:
test-image-before-upload:
description: "Run Test on the new container image"
run-tests:
description: "Run test workflows after build"
default: true
type: boolean

Expand Down Expand Up @@ -114,7 +114,7 @@ jobs:

StartIntegrationTests:
needs: [ BuildAndUploadPackages, BuildAndUploadITAR, BuildAndUploadCN, BuildDocker, BuildDistributor ]
if: ${{ github.event_name == 'push' || inputs.test-image-before-upload }}
if: ${{ github.event_name == 'push' || inputs.run-tests }}
runs-on: ubuntu-latest
permissions:
actions: write
Expand All @@ -126,7 +126,7 @@ jobs:
StartApplicationSignalsE2ETests:
needs: [ BuildAndUploadPackages, BuildAndUploadITAR, BuildAndUploadCN, BuildDocker, BuildDistributor ]
# Workflow only runs against main
if: ${{ github.event_name == 'push' || inputs.test-image-before-upload }}
if: ${{ github.event_name == 'push' || inputs.run-tests }}
runs-on: ubuntu-latest
permissions:
actions: write
Expand All @@ -137,7 +137,7 @@ jobs:

StartEKSE2ETests:
needs: [ BuildAndUploadPackages, BuildAndUploadITAR, BuildAndUploadCN, BuildDocker, BuildDistributor ]
if: ${{ github.event_name == 'push' || inputs.test-image-before-upload }}
if: ${{ github.event_name == 'push' || inputs.run-tests }}
runs-on: ubuntu-latest
permissions:
actions: write
Expand All @@ -148,7 +148,7 @@ jobs:

StartWorkloadDiscoveryIntegrationTests:
needs: [ BuildAndUploadPackages, BuildAndUploadITAR, BuildAndUploadCN, BuildDocker, BuildDistributor ]
if: ${{ github.event_name == 'push' || inputs.test-image-before-upload }}
if: ${{ github.event_name == 'push' || inputs.run-tests }}
runs-on: ubuntu-latest
permissions:
actions: write
Expand Down
46 changes: 43 additions & 3 deletions .github/workflows/e2e-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,16 @@ jobs:
permissions:
id-token: write
contents: read
actions: write
with:
test-image-before-upload: false
run-tests: false

BuildOperator:
needs: [GetLatestOperatorCommitSHA]
uses: aws/amazon-cloudwatch-agent-operator/.github/workflows/build-and-upload.yml@main
permissions:
id-token: write
contents: read
concurrency:
group: ${{ github.workflow }}-operator-${{ inputs.operator-branch || 'main' }}
cancel-in-progress: true
Expand Down Expand Up @@ -106,7 +110,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7

- name: SetOutputs
id: set-outputs
Expand Down Expand Up @@ -143,7 +147,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7

- name: Generate matrix
id: set-matrix
Expand All @@ -159,6 +163,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EJVMTomcatTestHelm'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -183,6 +190,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EJVMTomcatTestAddon'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -207,6 +217,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EKafkaTestHelm'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -231,6 +244,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EKafkaTestAddon'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -255,6 +271,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EJMXContainerInsightsTestHelm'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -279,6 +298,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EJMXContainerInsightsTestAddon'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -303,6 +325,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EJVMTomcatTestHelmIPv6'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -329,6 +354,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EJVMTomcatTestAddonIPv6'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -355,6 +383,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EKafkaTestHelmIPv6'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -381,6 +412,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EKafkaTestAddonIPv6'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -407,6 +441,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EJMXContainerInsightsTestHelmIPv6'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand All @@ -433,6 +470,9 @@ jobs:
needs: [ GetLatestOperatorCommitSHA, GenerateTestMatrix, OutputEnvVariables ]
if: always() && !cancelled() && !contains(needs.*.result, 'failure')
name: 'EKSE2EJMXContainerInsightsTestAddonIPv6'
permissions:
id-token: write
contents: read
uses: ./.github/workflows/eks-e2e-test.yml
with:
terraform_dir: terraform/eks/e2e
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/eks-performance-cluster-addon-install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,14 +122,18 @@ jobs:
permissions:
id-token: write
contents: read
actions: write
with:
test-image-before-upload: false
run-tests: false

# Build and upload operator image to ECR repo
BuildOperator:
needs: [ check-trigger, GetLatestOperatorCommitSHA ]
if: ${{ needs.check-trigger.outputs.should_continue == 'true' }}
uses: aws/amazon-cloudwatch-agent-operator/.github/workflows/build-and-upload.yml@main
permissions:
id-token: write
contents: read
concurrency:
group: ${{ github.workflow }}-operator-${{ inputs.operator-branch || 'main' }}
cancel-in-progress: true
Expand Down Expand Up @@ -173,10 +177,9 @@ jobs:
run: |
aws eks update-kubeconfig --name $CLUSTER_NAME --region $AWS_REGION

# TODO: Revert to using main helm branch when changes from leader-election are merged in
- name: Clone Helm Charts Repository
env:
HELM_CHARTS_BRANCH: ${{ inputs.helm-charts-branch || 'sky333999/leader-election' }}
HELM_CHARTS_BRANCH: ${{ inputs.helm-charts-branch || 'main' }}
run: |
rm -rf ./helm-charts
git clone -b "$HELM_CHARTS_BRANCH" https://github.com/aws-observability/helm-charts.git ./helm-charts
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/eks-performance-cluster-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7

- uses: actions/checkout@v4
with:
Expand Down
21 changes: 14 additions & 7 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,20 @@ jobs:
exit 1
fi
- run: |
conclusion=$(gh run view ${{ inputs.build_run_id }} --repo $GITHUB_REPOSITORY --json conclusion -q '.conclusion')
if [[ $conclusion == "success" ]]; then
echo "Run succeeded"
else
echo "Run failed"
exit 1
fi
for i in {1..6}; do
conclusion=$(gh run view ${{ inputs.build_run_id }} --repo $GITHUB_REPOSITORY --json conclusion -q '.conclusion')
if [[ "$conclusion" == "success" ]]; then
echo "Run succeeded"
exit 0
elif [[ "$conclusion" == "failure" || "$conclusion" == "cancelled" ]]; then
echo "Run failed with: $conclusion"
exit 1
fi
echo "Waiting for workflow to complete (attempt $i)..."
sleep 5
done
echo "Timed out waiting for workflow"
exit 1
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/otel-fork-replace.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7
cache: false
- name: Update OTel fork components version
id: set-matrix
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7

GenerateTestMatrix:
name: 'GenerateTestMatrix'
Expand Down Expand Up @@ -183,7 +183,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7

- name: Generate matrix
id: set-matrix
Expand Down Expand Up @@ -303,7 +303,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ~1.25
go-version: ~1.25.7

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-build-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ jobs:
- name: Set up Go 1.x
uses: actions/setup-go@v4
with:
go-version: ~1.25
go-version: ~1.25.7

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v4
Expand Down
Loading
Loading