KUBEAN_E2E_TEST_CI #403
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: KUBEAN_E2E_TEST_CI | |
on: | |
workflow_dispatch: #manual run | |
workflow_call: # called by Auto Release CI | |
schedule: | |
- cron: '0 0 * * FRI' # on every weekend for P3 jobs in weekend with if condition (if: github.event.schedule == '0 0 * * FRI') | |
- cron: '0 7 * * *' # default: on every night for P2 jobs | |
- cron: '0 0 1 1 *' # next at 2024-01-01 00:00:00 | |
env: | |
VSPHERE_USER: ${{ secrets.VSPHERE_USER }} | |
VSPHERE_PASSWD: ${{ secrets.VSPHERE_PASSWD }} | |
AMD_ROOT_PASSWORD: ${{ secrets.AMD_ROOT_PASSWORD }} | |
KYLIN_VM_PASSWORD: ${{ secrets.KYLIN_VM_PASSWORD }} | |
jobs: | |
build-push-for-e2e: | |
uses: ./.github/workflows/build-push-for-e2e.yml | |
get_helm_version: | |
runs-on: ubuntu-latest | |
outputs: | |
CONTAINER_TAG: ${{ steps.get_variables.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ steps.get_variables.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ steps.get_variables.outputs.TAG_SECOND_PART }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Get HELM_CHART_VERSION | |
id: get_variables | |
run: | | |
CONTAINER_TAG="$(git describe --tags --abbrev=8 --dirty)-e2e" | |
HELM_CHART_VERSION=`echo ${CONTAINER_TAG}|awk -F "-" '{print $1 }'` | |
TAG_SECOND_PART=`echo ${CONTAINER_TAG}|awk -F "-" '{print $2 }'` | |
if [[ ${TAG_SECOND_PART} =~ rc[0-9]+ ]];then | |
HELM_CHART_VERSION=`echo ${CONTAINER_TAG}|awk -F "-" '{print $1"-"$2 }'` | |
fi | |
echo "CONTAINER_TAG=$CONTAINER_TAG" >> "$GITHUB_OUTPUT" | |
echo "HELM_CHART_VERSION=$HELM_CHART_VERSION" >> "$GITHUB_OUTPUT" | |
echo "TAG_SECOND_PART=$TAG_SECOND_PART" >> "$GITHUB_OUTPUT" | |
centos_calico_airgap: | |
#runs-on: [self-hosted, offline] #for test | |
runs-on: ubuntu-latest | |
needs: [get_helm_version, build-push-for-e2e] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="CENTOS7" | |
ARCH="amd64" | |
Network_TYPE="calico" | |
GAP_TYPE="OFFLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: centos_calico_airgap | |
run: | | |
# export runner_name=${{ runner.name }} | |
# bash ./hack/newE2E.sh | |
echo "network online testcases" | |
centos_calico_online: # skip | |
#runs-on: [self-hosted, online] #for test | |
runs-on: ubuntu-latest | |
needs: [centos_calico_airgap, get_helm_version] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
if: github.event.schedule == '0 0 1 1 *' | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="CENTOS7" | |
ARCH="amd64" | |
Network_TYPE="calico" | |
GAP_TYPE="ONLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: centos_calico_online | |
continue-on-error: ${{ vars.CENTOS_CALICO_ONLINE_ALLOW_FAILURE != 'false' }} | |
run: | | |
# export runner_name=${{ runner.name }} | |
# bash ./hack/newE2E.sh | |
echo "network online testcases" | |
centos_cilium_online: # skip | |
# This is actually e2e_offline action | |
# runs-on: [self-hosted, offline] #for test | |
runs-on: ubuntu-latest # for test | |
needs: [centos_calico_airgap, get_helm_version] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
#if: github.event.schedule == '0 0 * * FRI' | |
if: github.event.schedule == '0 0 1 1 *' | |
steps: | |
- name: Install yq tool | |
uses: mikefarah/yq@v4.42.1 | |
- name: Set env for this job | |
run: | | |
OS_TYPE="CENTOS7" | |
ARCH="amd64" | |
Network_TYPE="cilium" | |
GAP_TYPE="ONLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# - uses: actions/setup-go@v4 | |
# with: | |
# go-version: 1.20.4 | |
- name: centos_cilium_online | |
continue-on-error: ${{ vars.CENTOS_CILIUM_ONLINE_ALLOW_FAILURE != 'false' }} | |
run: | | |
# export runner_name=${{ runner.name }} | |
# bash ./hack/newE2E.sh | |
echo "network online testcases" | |
centos_cilium_airgap: | |
# runs-on: [self-hosted, offline] | |
runs-on: [self-hosted, online] # test network testcases online in Jun | |
needs: [centos_calico_airgap, get_helm_version] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="CENTOS7" | |
ARCH="amd64" | |
Network_TYPE="cilium" | |
#GAP_TYPE="OFFLINE" # for test | |
GAP_TYPE="ONLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: centos_cilium_airgap | |
continue-on-error: ${{ vars.CENTOS_CILIUM_AIRGAP_ALLOW_FAILURE != 'false' }} | |
run: | | |
export runner_name=${{ runner.name }} | |
export OS_TYPE="CENTOS7" # for test | |
export GAP_TYPE="ONLINE" # for test | |
bash ./hack/newE2E.sh | |
redhat_calico_online: | |
runs-on: [self-hosted, online] | |
needs: [centos_calico_airgap, get_helm_version] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
#if: github.event.schedule == '0 0 * * FRI' #skip | |
if: github.event.schedule == '0 0 1 1 *' | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="REDHAT8" | |
ARCH="amd64" | |
Network_TYPE="calico" | |
GAP_TYPE="ONLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: redhat_calico_online | |
continue-on-error: ${{ vars.REDHAT_CALICO_ONLINE_ALLOW_FAILURE != 'false' }} | |
run: | | |
export runner_name=${{ runner.name }} | |
bash ./hack/newE2E.sh | |
redhat_calico_airgap: | |
runs-on: [self-hosted, offline] | |
needs: [centos_calico_airgap, get_helm_version] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
if: github.event.schedule == '0 0 1 1 *' | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="REDHAT8" | |
ARCH="amd64" | |
Network_TYPE="calico" | |
GAP_TYPE="OFFLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: redhat_calico_airgap | |
continue-on-error: ${{ vars.REDHAT_CALICO_AIRGAP_ALLOW_FAILURE != 'false' }} | |
run: | | |
export runner_name=${{ runner.name }} | |
bash ./hack/newE2E.sh | |
redhat_cilium_airgap: | |
runs-on: [self-hosted, offline] | |
needs: [centos_calico_airgap, get_helm_version] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
if: github.event.schedule == '0 0 1 1 *' | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="REDHAT8" | |
ARCH="amd64" | |
Network_TYPE="cilium" | |
GAP_TYPE="OFFLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: redhat_cilium_airgap | |
continue-on-error: ${{ vars.REDHAT_CILIUM_AIRGAP_ALLOW_FAILURE != 'false' }} | |
run: | | |
export runner_name=${{ runner.name }} | |
bash ./hack/newE2E.sh | |
redhat_cilium_online: | |
needs: [get_helm_version, centos_calico_online, centos_cilium_online, centos_cilium_airgap, redhat_calico_online, redhat_calico_airgap, redhat_cilium_airgap] | |
runs-on: [self-hosted, online] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
# if: github.event.schedule == '0 0 * * FRI' #skip | |
if: github.event.schedule == '0 0 1 1 *' | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="REDHAT8" | |
ARCH="amd64" | |
Network_TYPE="cilium" | |
GAP_TYPE="ONLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: redhat_cilium_online | |
continue-on-error: ${{ vars.REDHAT_CILIUM_ONLINE_ALLOW_FAILURE != 'false' }} | |
run: | | |
export runner_name=${{ runner.name }} | |
bash ./hack/newE2E.sh | |
kylin_calico_online: | |
needs: [get_helm_version, centos_calico_online, centos_cilium_online, centos_cilium_airgap, redhat_calico_online, redhat_calico_airgap, redhat_cilium_airgap] | |
runs-on: [self-hosted, online] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
#if: github.event.schedule == '0 0 * * FRI' #skip | |
if: github.event.schedule == '0 0 1 1 *' | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="kylin" | |
ARCH="arm" | |
Network_TYPE="calico" | |
GAP_TYPE="ONLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: kylin_calico_online | |
continue-on-error: ${{ vars.KYLIN_CALICO_ONLINE_ALLOW_FAILURE != 'false' }} | |
run: | | |
export runner_name=${{ runner.name }} | |
bash ./hack/newE2E.sh | |
kylin_calico_airgap: | |
needs: [get_helm_version, centos_calico_online, centos_cilium_online, centos_cilium_airgap, redhat_calico_online, redhat_calico_airgap, redhat_cilium_airgap] | |
runs-on: [self-hosted, offline] | |
env: | |
CONTAINER_TAG: ${{ needs.get_helm_version.outputs.CONTAINER_TAG }} | |
HELM_CHART_VERSION: ${{ needs.get_helm_version.outputs.HELM_CHART_VERSION }} | |
TAG_SECOND_PART: ${{ needs.get_helm_version.outputs.TAG_SECOND_PART }} | |
#if: github.event.schedule == '0 0 * * FRI' #skip | |
if: github.event.schedule == '0 0 1 1 *' | |
steps: | |
- name: Set env for this job | |
run: | | |
OS_TYPE="kylin" | |
ARCH="arm" | |
Network_TYPE="calico" | |
GAP_TYPE="OFFLINE" | |
echo "OS_TYPE=${OS_TYPE,,}" >> ${GITHUB_ENV} | |
echo "ARCH=${ARCH,,}" >> ${GITHUB_ENV} | |
echo "Network_TYPE=${Network_TYPE,,}" >> ${GITHUB_ENV} | |
echo "GAP_TYPE=${GAP_TYPE,,}" >> ${GITHUB_ENV} | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-go@v4 | |
with: | |
go-version: 1.20.4 | |
- name: kylin_calico_airgap | |
continue-on-error: ${{ vars.KYLIN_CALICO_AIRGAP_ALLOW_FAILURE != 'false' }} | |
run: | | |
export runner_name=${{ runner.name }} | |
bash ./hack/newE2E.sh |