🐛 Only delele serviceaccount managed by the addon agent #430
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Go | |
on: | |
workflow_dispatch: {} | |
push: | |
branches: | |
- main | |
- release-* | |
pull_request: | |
branches: | |
- main | |
- release-* | |
env: | |
# Common versions | |
GO_VERSION: '1.22' | |
GO_REQUIRED_MIN_VERSION: '' | |
jobs: | |
build: | |
name: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout code | |
uses: actions/checkout@v4 | |
- name: install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: build | |
run: make build | |
unit: | |
name: unit | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout code | |
uses: actions/checkout@v4 | |
- name: install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: unit | |
run: make test | |
- name: report coverage | |
uses: codecov/codecov-action@v5 | |
with: | |
token: ${{ secrets.CODECOV_UPLOAD_TOKEN }} | |
files: ./cover.out | |
flags: unit | |
name: unit | |
verbose: true | |
fail_ci_if_error: true | |
integration: | |
name: integration | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout code | |
uses: actions/checkout@v4 | |
- name: install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: integration | |
run: make test-integration | |
e2e: | |
name: e2e | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout code | |
uses: actions/checkout@v4 | |
- name: install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Install clusteradm | |
run: curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/main/install.sh | bash | |
- name: Create k8s Kind Cluster | |
uses: helm/kind-action@v1.10.0 | |
- name: Prepare OCM testing environment | |
run: | | |
clusteradm init --output-join-command-file join.sh --wait | |
sh -c "$(cat join.sh) loopback --force-internal-endpoint-lookup" | |
clusteradm accept --clusters loopback --wait 30 | |
kubectl wait --for=condition=ManagedClusterConditionAvailable managedcluster/loopback | |
- name: Build image | |
run: | | |
make images | |
kind load docker-image quay.io/open-cluster-management/managed-serviceaccount:latest --name chart-testing | |
- name: Install latest managed-serviceaccount | |
run: | | |
helm install \ | |
-n open-cluster-management-addon --create-namespace \ | |
managed-serviceaccount charts/managed-serviceaccount/ \ | |
--set tag=latest \ | |
--set featureGates.ephemeralIdentity=true | |
- name: Run e2e test | |
run: make test-e2e GENKGO_ARGS='--ginkgo.label-filter='\''!template-install'\''' | |
e2e-addon-template: | |
name: e2e-addon-template | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout code | |
uses: actions/checkout@v4 | |
- name: install Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Install clusteradm | |
run: | | |
git clone --depth 1 https://github.com/open-cluster-management-io/clusteradm.git | |
cd clusteradm | |
make build | |
- name: Create k8s Kind Cluster | |
uses: helm/kind-action@v1.10.0 | |
- name: Prepare OCM testing environment | |
run: | | |
clusteradm init --bundle-version='latest' --output-join-command-file join.sh --wait | |
sh -c "$(cat join.sh) loopback --force-internal-endpoint-lookup --bundle-version='latest'" | |
clusteradm accept --clusters loopback --wait 30 | |
kubectl wait --for=condition=ManagedClusterConditionAvailable managedcluster/loopback | |
- name: Build image | |
run: | | |
make images | |
kind load docker-image quay.io/open-cluster-management/managed-serviceaccount:latest --name chart-testing | |
- name: Install latest managed-serviceaccount | |
run: | | |
helm install \ | |
-n open-cluster-management-addon --create-namespace \ | |
managed-serviceaccount charts/managed-serviceaccount/ \ | |
--set tag=latest \ | |
--set featureGates.ephemeralIdentity=true \ | |
--set hubDeployMode=AddOnTemplate \ | |
--set targetCluster=loopback | |
- name: Run e2e test | |
run: | | |
make test-e2e GENKGO_ARGS='--ginkgo.label-filter='\''!ephemeral&&!install'\''' | |
# run ephemeral tests after non-ephemeral and non-install tests to wait for the addon agent to be steady | |
make test-e2e GENKGO_ARGS='--ginkgo.label-filter=ephemeral' | |
# run install tests after non-ephemeral tests since it may cause the addon agent to be restarted | |
make test-e2e GENKGO_ARGS='--ginkgo.label-filter=install' |