diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index ac77578860273..7306e56fd4e05 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -12,4 +12,9 @@ Fixes #### Documentation + +#### Checks +- Did you run `make fmt`? Y/N +- Did you verify that all checks pass? Y/N + diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 3fc42180d9c07..a69e5f925b9ae 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -141,25 +141,24 @@ jobs: fail-fast: false matrix: group: - - receiver-0 - - receiver-1 - - receiver-2 - - receiver-3 - - processor-0 - - processor-1 - - exporter-0 - - exporter-1 - - exporter-2 - - exporter-3 - - extension - - connector - - internal - - pkg - - cmd-0 - - cmd-1 + - cwagent runs-on: ubuntu-latest timeout-minutes: 30 steps: + - name: Checkout CloudWatch Agent Repo + uses: actions/checkout@v4 + with: + repository: aws/amazon-cloudwatch-agent + path: 'amazon-cloudwatch-agent' + sparse-checkout: go.mod + - name: Get Components + id: get-components + run: | + CWAGENT_COMPONENTS=$(grep -o 'amazon-contributing/opentelemetry-collector-contrib/[^[:space:]/]*/[^[:space:]]*' amazon-cloudwatch-agent/go.mod | \ + grep -v 'pull' | \ + sed -n 's|amazon-contributing/opentelemetry-collector-contrib/\([^/]*/[^/]*\)$|./\1|p' | \ + sort -u | tr '\n' ' ' | sed 's/ $//') + echo "CWAGENT_COMPONENTS=$CWAGENT_COMPONENTS" >> $GITHUB_ENV - name: Checkout Repo uses: actions/checkout@v4 - name: Setup Go @@ -181,7 +180,9 @@ jobs: if: steps.go-cache.outputs.cache-hit != 'true' run: make install-tools - name: Run `govulncheck` - run: make -j2 gogovulncheck GROUP=${{ matrix.group }} + run: make -j2 gogovulncheck GROUP=cwagent + env: + CWAGENT_COMPONENTS: ${{ env.CWAGENT_COMPONENTS }} checks: runs-on: ubuntu-latest needs: [setup-environment] diff --git a/Makefile b/Makefile index 5ee003f5510a5..88ce39e04c866 100644 --- a/Makefile +++ b/Makefile @@ -54,6 +54,7 @@ OVERRIDE_MODS := $(shell find ./override/* $(FIND_MOD_ARGS) -exec $(TO_MOD_DIR) OTHER_MODS := $(shell find . $(EX_COMPONENTS) $(EX_INTERNAL) $(EX_PKG) $(EX_CMD) $(FIND_MOD_ARGS) -exec $(TO_MOD_DIR) ) $(PWD) ALL_MODS := $(RECEIVER_MODS) $(PROCESSOR_MODS) $(EXPORTER_MODS) $(EXTENSION_MODS) $(CONNECTOR_MODS) $(INTERNAL_MODS) $(PKG_MODS) $(CMD_MODS) $(OTHER_MODS) CGO_MODS := ./receiver/hostmetricsreceiver +CWAGENT_MODS := $(CWAGENT_COMPONENTS) | xargs -n1 -I{} find {} -name "go.mod" -type f # CWAGENT_COMPONENTS is populated from build-and-test action FIND_INTEGRATION_TEST_MODS={ find . -type f -name "*integration_test.go" & find . -type f -name "*e2e_test.go" -not -path "./testbed/*"; } INTEGRATION_MODS := $(shell $(FIND_INTEGRATION_TEST_MODS) | xargs $(TO_MOD_DIR) | uniq) @@ -89,6 +90,7 @@ all-groups: @echo "\ncmd: $(CMD_MODS)" @echo "\noverride: $(OVERRIDE_MODS)" @echo "\nother: $(OTHER_MODS)" + @echo "\ncwagent: $(CWAGENT_MODS)" .PHONY: all all: install-tools all-common goporto multimod-verify gotest otelcontribcol @@ -279,6 +281,9 @@ for-integration-target: $(INTEGRATION_MODS) .PHONY: for-cgo-target for-cgo-target: $(CGO_MODS) +.PHONY: for-cwagent-target +for-cwagent-target: $(CWAGENT_MODS) + # Debugging target, which helps to quickly determine whether for-all-target is working or not. .PHONY: all-pwd all-pwd: diff --git a/internal/aws/k8s/k8sclient/endpoint_slices_test.go b/internal/aws/k8s/k8sclient/endpoint_slices_test.go index 12cdeaa94f4ce..bbc763cc93397 100644 --- a/internal/aws/k8s/k8sclient/endpoint_slices_test.go +++ b/internal/aws/k8s/k8sclient/endpoint_slices_test.go @@ -253,7 +253,8 @@ var endpointSlicesArray = []runtime.Object{ }, Labels: map[string]string{ "kubernetes.io/service-name": "kube-controller-manager", - }}, + }, + }, }, &discoveryv1.EndpointSlice{ ObjectMeta: metav1.ObjectMeta{ diff --git a/internal/kubelet/client.go b/internal/kubelet/client.go index 64736d635ee1f..b5db4e13a565a 100644 --- a/internal/kubelet/client.go +++ b/internal/kubelet/client.go @@ -130,7 +130,6 @@ func (p *kubeConfigClientProvider) BuildClient() (Client, error) { } joinPath, err := url.JoinPath(authConf.Host, "/api/v1/nodes/", p.endpoint, "/proxy/") - if err != nil { return nil, err }