Skip to content

Commit d160e93

Browse files
committed
ci: dedicated UT jobs for CA and VPA
1 parent 612d6ee commit d160e93

File tree

4 files changed

+107
-50
lines changed

4 files changed

+107
-50
lines changed

.github/workflows/ca-test.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
paths:
6+
- 'cluster-autoscaler/**'
7+
pull_request:
8+
paths:
9+
- 'cluster-autoscaler/**'
10+
11+
env:
12+
GOPATH: ${{ github.workspace }}/go
13+
14+
permissions:
15+
contents: read
16+
checks: write
17+
18+
jobs:
19+
cluster-autoscaler-test:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/[email protected]
23+
with:
24+
path: ${{ env.GOPATH }}/src/k8s.io/autoscaler
25+
26+
- name: Set up Go
27+
uses: actions/[email protected]
28+
with:
29+
go-version: '1.24.0'
30+
cache-dependency-path: |
31+
${{ env.GOPATH}}/src/k8s.io/autoscaler/cluster-autoscaler/go.sum
32+
33+
- name: Apt-get
34+
run: sudo apt-get install libseccomp-dev -qq
35+
36+
- name: Test
37+
working-directory: ${{ env.GOPATH }}/src/k8s.io/autoscaler
38+
run: hack/for-go-proj.sh cluster-autoscaler
39+
env:
40+
GO111MODULE: auto
41+
PROJECT_NAMES: ""

.github/workflows/ci.yaml renamed to .github/workflows/verify.yaml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ permissions:
1212
checks: write
1313

1414
jobs:
15-
test-and-verify:
15+
verify:
1616
runs-on: ubuntu-latest
1717
steps:
1818
- uses: actions/[email protected]
@@ -42,9 +42,3 @@ jobs:
4242
run: hack/verify-all.sh -v
4343
env:
4444
GO111MODULE: auto
45-
46-
- name: Test
47-
working-directory: ${{ env.GOPATH }}/src/k8s.io/autoscaler
48-
run: hack/for-go-proj.sh test
49-
env:
50-
GO111MODULE: auto

.github/workflows/vpa-test.yaml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
paths:
6+
- 'vertical-pod-autoscaler/**'
7+
pull_request:
8+
paths:
9+
- 'vertical-pod-autoscaler/**'
10+
11+
env:
12+
GOPATH: ${{ github.workspace }}/go
13+
14+
permissions:
15+
contents: read
16+
checks: write
17+
18+
jobs:
19+
vertical-pod-autoscaler-test:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- uses: actions/[email protected]
23+
with:
24+
path: ${{ env.GOPATH }}/src/k8s.io/autoscaler
25+
26+
- name: Set up Go
27+
uses: actions/[email protected]
28+
with:
29+
go-version: '1.24.0'
30+
cache-dependency-path: |
31+
${{ env.GOPATH}}/src/k8s.io/autoscaler/vertical-pod-autoscaler/go.sum
32+
${{ env.GOPATH}}/src/k8s.io/autoscaler/vertical-pod-autoscaler/e2e/go.sum
33+
34+
- name: Apt-get
35+
run: sudo apt-get install libseccomp-dev -qq
36+
37+
- name: Test
38+
working-directory: ${{ env.GOPATH }}/src/k8s.io/autoscaler
39+
run: hack/for-go-proj.sh vertical-pod-autoscaler
40+
env:
41+
GO111MODULE: auto
42+
PROJECT_NAMES: ""

hack/for-go-proj.sh

Lines changed: 23 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -19,58 +19,38 @@ set -o pipefail
1919
set -o nounset
2020

2121
CONTRIB_ROOT="$(dirname ${BASH_SOURCE})/.."
22-
PROJECT_NAMES=(addon-resizer vertical-pod-autoscaler)
2322

2423
if [[ $# -ne 1 ]]; then
25-
echo "missing subcommand: [build|install|test]"
24+
echo "missing subcommand: [cluster-autoscaler|vertical-pod-autoscaler|addon-resizer]"
2625
exit 1
2726
fi
2827

29-
CMD="${1}"
30-
31-
case "${CMD}" in
32-
"build")
33-
;;
34-
"install")
28+
PROJECT="${1}"
29+
30+
case "${PROJECT}" in
31+
"cluster-autoscaler")
32+
pushd ${CONTRIB_ROOT}/cluster-autoscaler/
33+
# TODO: #8127 - Use default analyzers set by `go test` to include `printf` analyzer.
34+
# Default analyzers that go test runs according to https://github.com/golang/go/blob/52624e533fe52329da5ba6ebb9c37712048168e0/src/cmd/go/internal/test/test.go#L649
35+
# This doesn't include the `printf` analyzer until cluster-autoscaler libraries are updated.
36+
ANALYZERS="atomic,bool,buildtags,directive,errorsas,ifaceassert,nilfunc,slog,stringintconv,tests"
37+
go test -count=1 ./... -vet="${ANALYZERS}"
38+
popd
3539
;;
36-
"test")
40+
"vertical-pod-autoscaler")
41+
pushd ${CONTRIB_ROOT}/vertical-pod-autoscaler
42+
go test -count=1 -race $(go list ./... | grep -v /vendor/ | grep -v vertical-pod-autoscaler/e2e | grep -v cluster-autoscaler/apis)
43+
popd
44+
pushd ${CONTRIB_ROOT}/vertical-pod-autoscaler/e2e
45+
go test -run=None ./...
46+
popd
3747
;;
48+
"addon-resizer")
49+
pushd ${CONTRIB_ROOT}/addon-resizer
50+
godep go test -race $(go list ./... | grep -v /vendor/ | grep -v vertical-pod-autoscaler/e2e)
51+
popd
3852
*)
3953
echo "invalid subcommand: ${CMD}"
4054
exit 1
4155
;;
4256
esac
43-
44-
for project_name in ${PROJECT_NAMES[*]}; do
45-
(
46-
export GO111MODULE=auto
47-
project=${CONTRIB_ROOT}/${project_name}
48-
echo "${CMD}ing ${project}"
49-
cd "${project}"
50-
case "${CMD}" in
51-
"test")
52-
if [[ -n $(find . -name "Godeps.json") ]]; then
53-
godep go test -race $(go list ./... | grep -v /vendor/ | grep -v vertical-pod-autoscaler/e2e)
54-
else
55-
go test -count=1 -race $(go list ./... | grep -v /vendor/ | grep -v vertical-pod-autoscaler/e2e | grep -v cluster-autoscaler/apis)
56-
fi
57-
;;
58-
*)
59-
godep go "${CMD}" ./...
60-
;;
61-
esac
62-
)
63-
done;
64-
65-
if [ "${CMD}" = "build" ] || [ "${CMD}" == "test" ]; then
66-
pushd ${CONTRIB_ROOT}/vertical-pod-autoscaler/e2e
67-
go test -run=None ./...
68-
popd
69-
pushd ${CONTRIB_ROOT}/cluster-autoscaler/
70-
# TODO: #8127 - Use default analyzers set by `go test` to include `printf` analyzer.
71-
# Default analyzers that go test runs according to https://github.com/golang/go/blob/52624e533fe52329da5ba6ebb9c37712048168e0/src/cmd/go/internal/test/test.go#L649
72-
# This doesn't include the `printf` analyzer until cluster-autoscaler libraries are updated.
73-
ANALYZERS="atomic,bool,buildtags,directive,errorsas,ifaceassert,nilfunc,slog,stringintconv,tests"
74-
go test -count=1 ./... -vet="${ANALYZERS}"
75-
popd
76-
fi

0 commit comments

Comments
 (0)