Skip to content

Bump path-to-regexp from 1.8.0 to 1.9.0 in /plugins/grafana-custom-plugins/grafana-dependency-plugin #3039

Bump path-to-regexp from 1.8.0 to 1.9.0 in /plugins/grafana-custom-plugins/grafana-dependency-plugin

Bump path-to-regexp from 1.8.0 to 1.9.0 in /plugins/grafana-custom-plugins/grafana-dependency-plugin #3039

Workflow file for this run

name: Kind
on:
pull_request:
branches:
- main
- release-*
- feature/*
push:
branches:
- main
- release-*
- feature/*
env:
KIND_VERSION: v0.12.0
jobs:
check-changes:
name: Check whether tests need to be run based on diff
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: antrea-io/has-changes@v2
id: check_diff
with:
paths-ignore: docs/* ci/jenkins/* *.md hack/.notableofcontents
outputs:
has_changes: ${{ steps.check_diff.outputs.has_changes }}
build-spark-jobs-image:
name: Build Spark Jobs image to be used for Kind e2e tests
needs: check-changes
if: ${{ needs.check-changes.outputs.has_changes == 'yes' }}
runs-on: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
- run: make spark-jobs
- name: Save Spark jobs image to tarball
run: docker save -o spark-jobs.tar antrea/theia-spark-jobs
- name: Upload Spark jobs image for subsequent jobs
uses: actions/upload-artifact@v4
with:
name: spark-jobs
path: spark-jobs.tar
retention-days: 1 # minimum value, in case artifact deletion by 'artifact-cleanup' job fails
build-clickhouse-monitor-image:
name: Build ClickHouse monitor image to be used for Kind e2e tests
needs: check-changes
if: ${{ needs.check-changes.outputs.has_changes == 'yes' }}
runs-on: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
- run: make clickhouse-monitor
- name: Save ClickHouse monitor image to tarball
run: docker save -o clickhouse-monitor.tar antrea/theia-clickhouse-monitor
- name: Upload ClickHouse monitor image for subsequent jobs
uses: actions/upload-artifact@v4
with:
name: clickhouse-monitor
path: clickhouse-monitor.tar
retention-days: 1 # minimum value, in case artifact deletion by 'artifact-cleanup' job fails
build-clickhouse-server-image:
name: Build ClickHouse server image to be used for Kind e2e tests
needs: check-changes
if: ${{ needs.check-changes.outputs.has_changes == 'yes' }}
runs-on: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
- run: make clickhouse-server
- name: Save ClickHouse server image to tarball
run: docker save -o clickhouse-server.tar antrea/theia-clickhouse-server
- name: Upload ClickHouse server image for subsequent jobs
uses: actions/upload-artifact@v4
with:
name: clickhouse-server
path: clickhouse-server.tar
retention-days: 1 # minimum value, in case artifact deletion by 'artifact-cleanup' job fails
build-theia-manager-image:
name: Build Theia Manager image to be used for Kind e2e tests
needs: check-changes
if: ${{ needs.check-changes.outputs.has_changes == 'yes' }}
runs-on: [ ubuntu-latest ]
steps:
- uses: actions/checkout@v4
- run: make theia-manager
- name: Save Theia Manager image to tarball
run: docker save -o theia-manager.tar antrea/theia-manager
- name: Upload Theia Manager image for subsequent jobs
uses: actions/upload-artifact@v4
with:
name: theia-manager
path: theia-manager.tar
retention-days: 1 # minimum value, in case artifact deletion by 'artifact-cleanup' job fails
test-e2e-encap:
name: E2e tests on a Kind cluster on Linux
needs:
- build-spark-jobs-image
- build-clickhouse-monitor-image
- build-clickhouse-server-image
- build-theia-manager-image
runs-on: [ubuntu-latest]
steps:
- name: Free disk space
# https://github.com/actions/virtual-environments/issues/709
run: |
sudo apt-get clean
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
sudo rm -rf "/usr/local/lib/android"
docker system prune -a -f --filter "until=1h" || true > /dev/null
df -h
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Download Spark jobs images from previous jobs
uses: actions/download-artifact@v4
with:
name: spark-jobs
- name: Download ClickHouse monitor images from previous jobs
uses: actions/download-artifact@v4
with:
name: clickhouse-monitor
- name: Download ClickHouse server images from previous jobs
uses: actions/download-artifact@v4
with:
name: clickhouse-server
- name: Download Theia Manager images from previous jobs
uses: actions/download-artifact@v4
with:
name: theia-manager
- name: Load Theia image
run: |
docker load -i spark-jobs.tar
docker tag antrea/theia-spark-jobs:latest projects.registry.vmware.com/antrea/theia-spark-jobs:latest
docker load -i clickhouse-monitor.tar
docker tag antrea/theia-clickhouse-monitor:latest projects.registry.vmware.com/antrea/theia-clickhouse-monitor:latest
docker load -i clickhouse-server.tar
docker tag antrea/theia-clickhouse-server:latest projects.registry.vmware.com/antrea/theia-clickhouse-server:latest
docker load -i theia-manager.tar
docker tag antrea/theia-manager:latest projects.registry.vmware.com/antrea/theia-manager:latest
- name: Remove Theia images tar files
run: |
rm -rf clickhouse-server.tar
rm -rf clickhouse-monitor.tar
rm -rf spark-jobs.tar
rm -rf theia-manager.tar
- name: Install Kind
run: |
curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64
chmod +x ./kind
sudo mv kind /usr/local/bin
- name: Run e2e tests
run: |
mkdir log
ANTREA_LOG_DIR=$PWD/log ./ci/kind/test-e2e-kind.sh --coverage
- name: Tar log files
if: ${{ failure() }}
run: tar -czf log.tar.gz log
- name: Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: .coverage/complete-kind-e2e-coverage.txt
fail_ci_if_error: ${{ github.event_name == 'push' }}
flags: kind-e2e-tests
name: codecov-kind-e2e-test
- name: Upload test log
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: e2e-kind-fa.tar.gz
path: log.tar.gz
retention-days: 30
test-e2e-multicluster:
name: E2e tests on a Kind cluster for multi-cluster feature on Linux
needs:
- build-clickhouse-monitor-image
- build-clickhouse-server-image
runs-on: [ubuntu-latest]
steps:
- name: Free disk space
# https://github.com/actions/virtual-environments/issues/709
run: |
sudo apt-get clean
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
sudo rm -rf "/usr/local/lib/android"
docker system prune -a -f --filter "until=1h" || true > /dev/null
df -h
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Download ClickHouse monitor images from previous jobs
uses: actions/download-artifact@v4
with:
name: clickhouse-monitor
- name: Download ClickHouse server images from previous jobs
uses: actions/download-artifact@v4
with:
name: clickhouse-server
- name: Load Theia image
run: |
docker load -i clickhouse-monitor.tar
docker tag antrea/theia-clickhouse-monitor:latest projects.registry.vmware.com/antrea/theia-clickhouse-monitor:latest
docker load -i clickhouse-server.tar
docker tag antrea/theia-clickhouse-server:latest projects.registry.vmware.com/antrea/theia-clickhouse-server:latest
- name: Remove Theia images tar files
run: |
rm -rf clickhouse-server.tar
rm -rf clickhouse-monitor.tar
- name: Install Kind
run: |
curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64
chmod +x ./kind
sudo mv kind /usr/local/bin
- name: Run e2e tests for multi-cluster feature
run: |
mkdir log
ANTREA_LOG_DIR=$PWD/log ./ci/kind/test-multi-cluster.sh --coverage
- name: Tar log files
if: ${{ failure() }}
run: tar -czf log.tar.gz log
- name: Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: .coverage/complete-multi-cluster-kind-e2e-coverage.txt
fail_ci_if_error: ${{ github.event_name == 'push' }}
flags: kind-multi-cluster-e2e-tests
name: codecov-multi-cluster-kind-e2e-test
- name: Upload test log
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: e2e-kind-multi-cluster.tar.gz
path: log.tar.gz
retention-days: 30
test-upgrade-from-N-1:
name: Upgrade from Theia version N-1
needs:
- build-spark-jobs-image
- build-clickhouse-monitor-image
- build-clickhouse-server-image
- build-theia-manager-image
runs-on: [ubuntu-latest]
steps:
- name: Free disk space
# https://github.com/actions/virtual-environments/issues/709
run: |
sudo apt-get clean
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
sudo rm -rf "/usr/local/lib/android"
sudo apt-get autoremove
sudo apt-get clean
sudo apt-get autoclean
docker system prune -a -f --filter "until=1h" || true > /dev/null
df -h
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Download Spark jobs images from previous jobs
uses: actions/download-artifact@v4
with:
name: spark-jobs
- name: Download ClickHouse monitor images from previous jobs
uses: actions/download-artifact@v4
with:
name: clickhouse-monitor
- name: Download ClickHouse server images from previous jobs
uses: actions/download-artifact@v4
with:
name: clickhouse-server
- name: Download Theia Manager images from previous jobs
uses: actions/download-artifact@v4
with:
name: theia-manager
- name: Load Theia image
run: |
docker load -i spark-jobs.tar
docker tag antrea/theia-spark-jobs:latest projects.registry.vmware.com/antrea/theia-spark-jobs:latest
docker load -i clickhouse-monitor.tar
docker tag antrea/theia-clickhouse-monitor:latest projects.registry.vmware.com/antrea/theia-clickhouse-monitor:latest
docker load -i clickhouse-server.tar
docker tag antrea/theia-clickhouse-server:latest projects.registry.vmware.com/antrea/theia-clickhouse-server:latest
docker load -i theia-manager.tar
docker tag antrea/theia-manager:latest projects.registry.vmware.com/antrea/theia-manager:latest
- name: Remove Theia images tar files
run: |
rm -rf clickhouse-server.tar
rm -rf clickhouse-monitor.tar
rm -rf spark-jobs.tar
rm -rf theia-manager.tar
- name: Install Kind
run: |
curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64
chmod +x ./kind
sudo mv kind /usr/local/bin
- name: Run test
run: |
mkdir log
ANTREA_LOG_DIR=$PWD/log ./ci/kind/test-upgrade-theia.sh --from-version-n-minus 1
- name: Tar log files
if: ${{ failure() }}
run: tar -czf log.tar.gz log
- name: Upload test log
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: upgrade-from-theia-version-n-1.tar.gz
path: log.tar.gz
retention-days: 30
test-ClickHouse-migrate-from-N-1:
name: Migrate ClickHouse from Theia version N-1
needs:
- build-clickhouse-monitor-image
- build-clickhouse-server-image
runs-on: [ubuntu-latest]
steps:
- name: Free disk space
# https://github.com/actions/virtual-environments/issues/709
run: |
sudo apt-get clean
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
sudo rm -rf "/usr/local/lib/android"
sudo apt-get autoremove
sudo apt-get autoclean
docker system prune -a -f --filter "until=1h" || true > /dev/null
df -h
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Download ClickHouse monitor images from previous jobs
uses: actions/download-artifact@v4
with:
name: clickhouse-monitor
- name: Download ClickHouse server images from previous jobs
uses: actions/download-artifact@v4
with:
name: clickhouse-server
- name: Load Theia clickhouse images
run: |
docker load -i clickhouse-monitor.tar
docker tag antrea/theia-clickhouse-monitor:latest projects.registry.vmware.com/antrea/theia-clickhouse-monitor:latest
docker load -i clickhouse-server.tar
docker tag antrea/theia-clickhouse-server:latest projects.registry.vmware.com/antrea/theia-clickhouse-server:latest
- name: Remove Theia images tar files
run: |
rm -rf clickhouse-server.tar
rm -rf clickhouse-monitor.tar
- name: Install Kind
run: |
curl -Lo ./kind https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-$(uname)-amd64
chmod +x ./kind
sudo mv kind /usr/local/bin
- name: Run migrate test
run: |
mkdir log
ANTREA_LOG_DIR=$PWD/log ./ci/kind/test-migrate-clickhouse.sh --from-version-n-minus 1
- name: Tar log files
if: ${{ failure() }}
run: tar -czf log.tar.gz log
- name: Upload test log
uses: actions/upload-artifact@v4
if: ${{ failure() }}
with:
name: migrate-clickhouse-from-theia-version-n-1.tar.gz
path: log.tar.gz
retention-days: 30
# Runs after all other jobs in the workflow succeed and deletes Theia Docker images uploaded as temporary
# artifacts. It uses a third-party, MIT-licensed action (geekyeggo/delete-artifact). While Github
# exposes an API for deleting artifacts, they do not support an official delete-artifact action
# yet.
artifact-cleanup:
name: Delete uploaded images
needs:
- build-spark-jobs-image
- build-clickhouse-monitor-image
- build-clickhouse-server-image
- build-theia-manager-image
- test-e2e-encap
- test-e2e-multicluster
- test-upgrade-from-N-1
- test-ClickHouse-migrate-from-N-1
runs-on: [ubuntu-latest]
steps:
- name: Delete spark-jobs
if: ${{ needs.build-spark-jobs-image.result == 'success' }}
uses: geekyeggo/delete-artifact@v4
with:
name: spark-jobs
- name: Delete clickhouse-monitor
if: ${{ needs.build-clickhouse-monitor-image.result == 'success' }}
uses: geekyeggo/delete-artifact@v4
with:
name: clickhouse-monitor
- name: Delete clickhouse-server
if: ${{ needs.build-clickhouse-server-image.result == 'success' }}
uses: geekyeggo/delete-artifact@v4
with:
name: clickhouse-server
- name: Delete theia-manager
if: ${{ needs.build-theia-manager-image.result == 'success' }}
uses: geekyeggo/delete-artifact@v4
with:
name: theia-manager