Include end-to-end local monitoring tests #2567
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: Test on Pull Request | |
# Controls when the action will run. | |
on: | |
pull_request: | |
paths-ignore: | |
- 'docs/**' | |
- 'design/**' | |
- 'examples/**' | |
- 'extensions/**' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
# This workflow contains two jobs called "build autotune" and "build crc" | |
build_autotune: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-20.04 | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
- name: Setup Minikube | |
uses: manusa/[email protected] | |
with: | |
minikube version: 'v1.16.0' | |
kubernetes version: 'v1.19.2' | |
- name: Build autotune | |
run: | | |
echo Build autotune | |
pr_number=${{ github.event.pull_request.number }} | |
echo "pr_number=${pr_number}" >> "$GITHUB_ENV" | |
./build.sh -i autotune_operator:pr_${pr_number} | |
docker images | grep autotune | |
- name: Check cluster info on minikube | |
run: | | |
kubectl cluster-info | |
kubectl get pods -n kube-system | |
- name: Install Prometheus on minikube | |
run: | | |
echo Install Prometheus on minikube | |
cd scripts | |
./prometheus_on_minikube.sh -as | |
- name: Deploy kruize in experiment mode | |
run: | | |
echo Deploy kruize in experiment mode | |
cp ./manifests/autotune/autotune-operator-deployment.yaml_template ./manifests/autotune/autotune-operator-deployment.yaml_template.old | |
sed -e "s/imagePullPolicy: Always/imagePullPolicy: IfNotPresent/g" ./manifests/autotune/autotune-operator-deployment.yaml_template.old > ./manifests/autotune/autotune-operator-deployment.yaml_template | |
echo "***************************************************************" | |
cat ./manifests/autotune/autotune-operator-deployment.yaml_template | |
echo "***************************************************************" | |
echo "PR_NUMBER = ${{ env.pr_number }}" | |
./deploy.sh -c minikube -i autotune_operator:pr_${{ env.pr_number }} | |
sleep 20 | |
- name: Capture ffdc logs | |
if: always() | |
run: | | |
echo "Capturing ffdc logs" | |
./scripts/ffdc.sh -d ${GITHUB_WORKSPACE} | |
- name: Archive results | |
if: always() | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
tar cvf autotune_results.tar kruize_*log.txt | |
- name: Upload results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: autotune-results | |
path: ./autotune_results.tar | |
retention-days: 2 | |
build_crc: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-20.04 | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
with: | |
repository: kruize/autotune | |
- name: Setup Minikube | |
uses: manusa/[email protected] | |
with: | |
minikube version: 'v1.16.0' | |
kubernetes version: 'v1.19.2' | |
- name: Build crc | |
run: | | |
echo Build crc | |
pr_number=${{ github.event.pull_request.number }} | |
echo "pr_number=${pr_number}" >> "$GITHUB_ENV" | |
./build.sh -i autotune_operator:pr_${pr_number} | |
docker images | grep autotune | |
- name: Check cluster info on minikube | |
run: | | |
kubectl cluster-info | |
kubectl get pods -n kube-system | |
- name: Install Prometheus on minikube | |
run: | | |
echo Install Prometheus on minikube | |
cd scripts | |
./prometheus_on_minikube.sh -as | |
- name: Deploy Kruize in crc mode | |
run: | | |
echo Deploy kruize in crc mode | |
echo "***************************************************************" | |
cp ./manifests/crc/default-db-included-installation/minikube/kruize-crc-minikube.yaml ./manifests/crc/default-db-included-installation/minikube/kruize-crc-minikube.yaml.old | |
sed -e "s/imagePullPolicy: Always/imagePullPolicy: IfNotPresent/g" ./manifests/crc/default-db-included-installation/minikube/kruize-crc-minikube.yaml.old > ./manifests/crc/default-db-included-installation/minikube/kruize-crc-minikube.yaml | |
cat ./manifests/crc/default-db-included-installation/minikube/kruize-crc-minikube.yaml | |
cd tests | |
echo "PR_NUMBER = ${{ env.pr_number }}" | |
./test_autotune.sh -c minikube -i autotune_operator:pr_${{ env.pr_number }} --testsuite=remote_monitoring_tests --testcase=test_e2e --resultsdir=${GITHUB_WORKSPACE} | |
- name: Capture ffdc logs | |
if: always() | |
run: | | |
echo "Capturing ffdc logs" | |
./scripts/ffdc.sh -m crc -d ${GITHUB_WORKSPACE}/kruize_test_results | |
- name: Archive results | |
if: always() | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
tar cvf crc_results.tar kruize_test_results | |
- name: Upload results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: crc-results | |
path: ./crc_results.tar | |
retention-days: 2 | |
test_crc_manifest_build: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-20.04 | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v3 | |
- name: Setup Minikube | |
uses: manusa/[email protected] | |
with: | |
minikube version: 'v1.16.0' | |
kubernetes version: 'v1.19.2' | |
- name: Check cluster info on minikube | |
run: | | |
kubectl cluster-info | |
kubectl get pods -n kube-system | |
- name: Install Prometheus on minikube | |
run: | | |
echo Install Prometheus on minikube | |
cd scripts | |
./prometheus_on_minikube.sh -as | |
- name: Test with manifest kruize build in crc mode | |
run: | | |
echo Test with manifest kruize build in crc mode | |
echo "***************************************************************" | |
cd tests | |
./test_autotune.sh -c minikube --testsuite=remote_monitoring_tests --testcase=test_e2e --resultsdir=${GITHUB_WORKSPACE} | |
- name: Capture ffdc logs | |
if: always() | |
run: | | |
./scripts/ffdc.sh -m crc -d ${GITHUB_WORKSPACE}/kruize_test_results | |
- name: Archive results | |
if: always() | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
tar cvf crc_manifest_results.tar kruize_test_results | |
- name: Upload results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: crc-manifest-results | |
path: ./crc_manifest_results.tar | |
retention-days: 2 | |