Skip to content

Merge pull request #607 from MUzairS15/comp-schema #660

Merge pull request #607 from MUzairS15/comp-schema

Merge pull request #607 from MUzairS15/comp-schema #660

Workflow file for this run

name: E2E Test Istio Adapter - Control Plane
on:
push:
branches:
- "*"
tags:
- "v*"
paths-ignore:
- 'docs/**'
pull_request:
branches:
- "*"
release:
types: [published]
jobs:
SetPatternfileForServicemeshInstall:
runs-on: ubuntu-22.04
outputs:
sm_version: ${{ steps.gettag.outputs.release }}
adapter_version: ${{ env.version }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Get version of adapter
run: |
if [ ${{ github.event_name }} == "release" ];then
echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
else
echo "version=edge" >> $GITHUB_ENV
fi
- name: Get latest release tag
id: gettag
uses: pozetroninc/github-action-get-latest-release@master
with:
repository: istio/istio
excludes: prerelease, draft, edge
- name: Change service mesh version in patternfile
run: |
yq e -i '.services.istio.version="${{ steps.gettag.outputs.release }}"' ./.github/install/deploy.yaml
cat ./.github/install/deploy.yaml
- name: Uploading file
uses: actions/upload-artifact@v2
with:
name: patternfile
path: ./.github/install/deploy.yaml
TestIstioForServicemeshInstall:
needs: SetPatternfileForServicemeshInstall
uses: meshery/meshery/.github/workflows/test_adaptersv2.yaml@master
with:
expected_resources: istiod,istio-egressgateway,istio-ingressgateway
expected_resources_types: pod,pod,pod
expected_resources_namespaces: istio-system,istio-system,istio-system
deployment_url: https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-istio-deployment.yaml
service_url: https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-istio-service.yaml
adapter_name: istio
patternfile_name: deploy.yaml
provider: Local
k8s_version: v1.20.1
sm_version: ${{ needs.SetPatternfileForServicemeshInstall.outputs.sm_version }}
adapter_version: ${{ needs.SetPatternfileForServicemeshInstall.outputs.adapter_version }}
output_filename: data.json
secrets:
token: ${{ secrets.PROVIDER_TOKEN }}
UpdateDocsForServicemeshInstall:
needs: TestIstioForServicemeshInstall
if: "always() && github.event_name != 'pull_request' "
runs-on: ubuntu-22.04
steps:
- name: Skip if needed
run: |
echo "this is it ${{ needs.SkipIfNeeded.outputs.skipdocupdate }} "
if [ "${{github.event_name }}" == "push" ];then
echo "version=edge" >> $GITHUB_ENV
fi
if [ "${{github.event_name }}" == "release" ];then
echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
fi
- uses: actions/checkout@v3
with:
repository: meshery/meshery
token: ${{ secrets.GH_ACCESS_TOKEN }}
- name: DownloadJSON
uses: actions/download-artifact@v2
with:
name: data.json
- name: Add commit SHORT_SHA
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: echo results
run: |
pretty=$(jq . data.json)
rm data.json
cd ./docs/_compatibility/meshery-istio
touch data.json
echo $pretty > data.json
cat data.json
touch test.md
filename=(`date +%m-%d-%Y-%H-%M-%m_${SHORT_SHA}`)
echo $filename
echo "---
timestamp: $(jq '.metadata.runon| strptime("%a %b %e %X %Z %Y") | strftime("%Y-%m-%d %X %Z %a")' data.json)
meshery-component: meshery-istio
meshery-component-version: $version
meshery-server-version: $(jq '.metadata."meshery-server-version"' data.json)
k8s-distro: minikube
k8s-version: $(jq '.metadata.k8s_version' data.json)
service-mesh: istio
service-mesh-version: $(jq '.metadata.service_mesh_version' data.json)
tests:
pod/istiod: $(jq '.resources_status."pod/istiod"' data.json)
pod/istio-egressgateway: $(jq '.resources_status."pod/istio-egressgateway"' data.json)
pod/istio-ingressgateway: $(jq '.resources_status."pod/istio-ingressgateway"' data.json)
overall-status: $(jq '."overall-status"' data.json)
---" > test.md
mv test.md $filename.md
rm data.json
- name: Commit
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: docs
commit_user_name: l5io
commit_user_email: [email protected]
commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
commit_options: '--signoff'
commit_message: '[Docs] Test status of adapter'
SetPatternfileForServicemeshAndAddon:
runs-on: ubuntu-22.04
outputs:
sm_version: ${{ steps.gettag.outputs.release }}
adapter_version: ${{ env.version }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Get version of adapter
run: |
if [ ${{ github.event_name }} == "release" ];then
echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
else
echo "version=edge" >> $GITHUB_ENV
fi
- name: Get latest release tag
id: gettag
uses: pozetroninc/github-action-get-latest-release@master
with:
repository: istio/istio
excludes: prerelease, draft, edge
- name: Change service mesh version in patternfile
run: |
yq e -i '.services.istio.version="${{ steps.gettag.outputs.release }}"' ./.github/install/deploywithaddons.yaml
yq e -i '.services.grafana.version="${{ steps.gettag.outputs.release }}"' ./.github/install/deploywithaddons.yaml
yq e -i '.services.prometheus.version="${{ steps.gettag.outputs.release }}"' ./.github/install/deploywithaddons.yaml
cat ./.github/install/deploywithaddons.yaml
- name: Uploading file
uses: actions/upload-artifact@v2
with:
name: patternfile
path: ./.github/install/deploywithaddons.yaml
TestIstioForServicemeshAndAddon:
needs: SetPatternfileForServicemeshAndAddon
uses: meshery/meshery/.github/workflows/test_adaptersv2.yaml@master
with:
expected_resources: istiod,istio-egressgateway,istio-ingressgateway,grafana,prometheus
expected_resources_types: pod,pod,pod,pod,pod
expected_resources_namespaces: istio-system,istio-system,istio-system,istio-system,istio-system
deployment_url: https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-istio-deployment.yaml
service_url: https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-istio-service.yaml
adapter_name: istio
patternfile_name: deploywithaddons.yaml
provider: Local
k8s_version: v1.20.1
sm_version: ${{ needs.SetPatternfileForServicemeshAndAddon.outputs.sm_version }}
adapter_version: ${{ needs.SetPatternfileForServicemeshAndAddon.outputs.adapter_version }}
output_filename: data.json
secrets:
token: ${{ secrets.PROVIDER_TOKEN }}
UpdateDocsForServicemeshAndAddon:
needs: TestIstioForServicemeshAndAddon
if: "always() && github.event_name != 'pull_request' "
runs-on: ubuntu-22.04
steps:
- name: Skip if needed
run: |
echo "this is it ${{ needs.SkipIfNeeded.outputs.skipdocupdate }} "
if [ "${{github.event_name }}" == "push" ];then
echo "version=edge" >> $GITHUB_ENV
fi
if [ "${{github.event_name }}" == "release" ];then
echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
fi
- uses: actions/checkout@v3
with:
repository: meshery/meshery
token: ${{ secrets.GH_ACCESS_TOKEN }}
- name: DownloadJSON
uses: actions/download-artifact@v2
with:
name: data.json
- name: Add commit SHORT_SHA
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: echo results
run: |
pretty=$(jq . data.json)
rm data.json
cd ./docs/_compatibility/meshery-istio
touch data.json
echo $pretty > data.json
cat data.json
touch test.md
filename=(`date +%m-%d-%Y-%H-%M-%m_${SHORT_SHA}`)
echo $filename
echo "---
timestamp: $(jq '.metadata.runon| strptime("%a %b %e %X %Z %Y") | strftime("%Y-%m-%d %X %Z %a")' data.json)
meshery-component: meshery-istio
meshery-component-version: $version
meshery-server-version: $(jq '.metadata."meshery-server-version"' data.json)
k8s-distro: minikube
k8s-version: $(jq '.metadata.k8s_version' data.json)
service-mesh: istio
service-mesh-version: $(jq '.metadata.service_mesh_version' data.json)
tests:
pod/istiod: $(jq '.resources_status."pod/istiod"' data.json)
pod/istio-egressgateway: $(jq '.resources_status."pod/istio-egressgateway"' data.json)
pod/istio-ingressgateway: $(jq '.resources_status."pod/istio-ingressgateway"' data.json)
pod/grafana-addon: $(jq '.resources_status."pod/grafana"' data.json)
pod/prometheus-addon: $(jq '.resources_status."pod/prometheus"' data.json)
overall-status: $(jq '."overall-status"' data.json)
---" > test.md
mv test.md $filename.md
rm data.json
- name: Commit
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: docs
commit_user_name: l5io
commit_user_email: [email protected]
commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
commit_options: '--signoff'
commit_message: '[Docs] Test status of adapter'
SetPatternfileForServicemeshAndSampleApp:
runs-on: ubuntu-22.04
outputs:
sm_version: ${{ steps.gettag.outputs.release }}
adapter_version: ${{ env.version }}
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Get version of adapter
run: |
if [ ${{ github.event_name }} == "release" ];then
echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
else
echo "version=edge" >> $GITHUB_ENV
fi
- name: Get latest release tag
id: gettag
uses: pozetroninc/github-action-get-latest-release@master
with:
repository: istio/istio
excludes: prerelease, draft, edge
- name: Change service mesh version in patternfile
run: |
yq e -i '.services.istioinstallation.settings.istioVersion="${{ steps.gettag.outputs.release }}"' ./.github/install/deploywithsampleapp.yaml
cat ./.github/install/deploywithsampleapp.yaml
- name: Uploading file
uses: actions/upload-artifact@v2
with:
name: patternfile
path: ./.github/install/deploywithsampleapp.yaml
TestIstioForServicemeshAndSampleApp:
needs: SetPatternfileForServicemeshAndSampleApp
uses: meshery/meshery/.github/workflows/test_adaptersv2.yaml@master
with:
expected_resources: istiod,details,productpage,ratings,reviews-v1,reviews-v2,reviews-v3
expected_resources_types: pod,pod,pod,pod,pod,pod,pod
expected_resources_namespaces: istio-system,default,default,default,default,default,default
deployment_url: https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-istio-deployment.yaml
service_url: https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-istio-service.yaml
adapter_name: istio
patternfile_name: deploywithsampleapp.yaml
provider: Local
k8s_version: v1.20.1
sm_version: ${{ needs.SetPatternfileForServicemeshAndSampleApp.outputs.sm_version }}
adapter_version: ${{ needs.SetPatternfileForServicemeshAndSampleApp.outputs.adapter_version }}
output_filename: data.json
secrets:
token: ${{ secrets.PROVIDER_TOKEN }}
UpdateDocsForServicemeshAndSampleApp:
needs: TestIstioForServicemeshAndSampleApp
if: "always() && github.event_name != 'pull_request' "
runs-on: ubuntu-22.04
steps:
- name: Skip if needed
run: |
echo "this is it ${{ needs.SkipIfNeeded.outputs.skipdocupdate }} "
if [ "${{github.event_name }}" == "push" ];then
echo "version=edge" >> $GITHUB_ENV
fi
if [ "${{github.event_name }}" == "release" ];then
echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
fi
- uses: actions/checkout@v3
with:
repository: meshery/meshery
token: ${{ secrets.GH_ACCESS_TOKEN }}
- name: DownloadJSON
uses: actions/download-artifact@v2
with:
name: data.json
- name: Add commit SHORT_SHA
run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV
- name: echo results
run: |
pretty=$(jq . data.json)
rm data.json
cd ./docs/_compatibility/meshery-istio
touch data.json
echo $pretty > data.json
cat data.json
touch test.md
filename=(`date +%m-%d-%Y-%H-%M-%m_${SHORT_SHA}`)
echo $filename
echo "---
timestamp: $(jq '.metadata.runon| strptime("%a %b %e %X %Z %Y") | strftime("%Y-%m-%d %X %Z %a")' data.json)
meshery-component: meshery-istio
meshery-component-version: $version
meshery-server-version: $(jq '.metadata."meshery-server-version"' data.json)
k8s-distro: minikube
k8s-version: $(jq '.metadata.k8s_version' data.json)
service-mesh: istio
service-mesh-version: $(jq '.metadata.service_mesh_version' data.json)
tests:
pod/istiod: $(jq '.resources_status."pod/istiod"' data.json)
pod/details: $(jq '.resources_status."pod/details"' data.json)
pod/productpage: $(jq '.resources_status."pod/productpage"' data.json)
pod/ratings: $(jq '.resources_status."pod/ratings"' data.json)
pod/reviews-v1: $(jq '.resources_status."pod/reviews-v1"' data.json)
pod/reviews-v2: $(jq '.resources_status."pod/reviews-v2"' data.json)
pod/reviews-v3: $(jq '.resources_status."pod/reviews-v3"' data.json)
overall-status: $(jq '."overall-status"' data.json)
---" > test.md
mv test.md $filename.md
rm data.json
- name: Commit
uses: stefanzweifel/git-auto-commit-action@v4
with:
file_pattern: docs
commit_user_name: l5io
commit_user_email: [email protected]
commit_author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
commit_options: '--signoff'
commit_message: '[Docs] Test status of adapter'