feat: enable drift detection + takeover experience in work applier [full DRAFT] #3814
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: ci | |
on: | |
push: | |
branches: | |
- main | |
- release-* | |
workflow_dispatch: {} | |
pull_request: | |
branches: | |
- main | |
- release-* | |
paths-ignore: [docs/**, "**.md", "**.mdx", "**.png", "**.jpg"] | |
env: | |
GO_VERSION: '1.22.7' | |
jobs: | |
detect-noop: | |
runs-on: ubuntu-latest | |
outputs: | |
noop: ${{ steps.noop.outputs.should_skip }} | |
steps: | |
- name: Detect No-op Changes | |
id: noop | |
uses: fkirc/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
do_not_skip: '["workflow_dispatch", "schedule", "push"]' | |
concurrent_skipping: false | |
unit-tests: | |
runs-on: ubuntu-latest | |
needs: detect-noop | |
if: needs.detect-noop.outputs.noop != 'true' | |
steps: | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
- name: Set up Ginkgo CLI | |
run: | | |
go install github.com/onsi/ginkgo/v2/[email protected] | |
- name: Run unit tests & Generate coverage | |
run: make test | |
- name: Upload Codecov report | |
uses: codecov/codecov-action@v4 | |
with: | |
## Repository upload token - get it from codecov.io. Required only for private repositories | |
token: ${{ secrets.CODECOV_TOKEN }} | |
## Comma-separated list of files to upload | |
files: ./it-coverage.xml;./ut-coverage.xml | |
e2e-tests-v1alpha1: | |
runs-on: ubuntu-latest | |
needs: [ | |
detect-noop, | |
] | |
if: needs.detect-noop.outputs.noop != 'true' | |
steps: | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
- name: Install Kind | |
# Before updating the kind version to use, verify that the current kind image | |
# is still supported by the version. | |
run: | | |
go install sigs.k8s.io/[email protected] | |
- name: Run e2e tests | |
run: | | |
OUTPUT_TYPE=type=docker make docker-build-member-agent docker-build-hub-agent docker-build-refresh-token e2e-tests-v1alpha1 | |
env: | |
KUBECONFIG: '/home/runner/.kube/config' | |
HUB_SERVER_URL: 'https://172.19.0.2:6443' | |
e2e-tests: | |
runs-on: ubuntu-latest | |
needs: [ | |
detect-noop, | |
] | |
if: needs.detect-noop.outputs.noop != 'true' | |
steps: | |
- name: Remove unnecessary files | |
run: | | |
sudo rm -rf /usr/share/dotnet | |
sudo rm -rf /opt/ghc | |
sudo rm -rf "/usr/local/share/boost" | |
sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Check out code into the Go module directory | |
uses: actions/checkout@v4 | |
- name: Install Ginkgo CLI | |
run: | | |
go install github.com/onsi/ginkgo/v2/[email protected] | |
- name: Install Kind | |
# Before updating the kind version to use, verify that the current kind image | |
# is still supported by the version. | |
run: | | |
go install sigs.k8s.io/[email protected] | |
- name: Run e2e tests | |
run: | | |
make e2e-tests | |
env: | |
KUBECONFIG: '/home/runner/.kube/config' | |
HUB_SERVER_URL: 'https://172.19.0.2:6443' | |
# Temporarily enable the AKS property provider for the E2E tests, in order | |
# to verify the property-based scheduling experience. | |
# | |
# TO-DO (chenyu1): to ensure a vendor-neutral experience, switch to a dummy | |
# property provider once the AKS one is split out. | |
PROPERTY_PROVIDER: 'azure' | |