Skip to content

Commit

Permalink
Merge pull request #304 from Zanda256/add-e2e-tests/#249
Browse files Browse the repository at this point in the history
Add e2e tests/#249
  • Loading branch information
Revolyssup authored Sep 27, 2022
2 parents 6b16aa5 + 70b65b0 commit 6cf960c
Show file tree
Hide file tree
Showing 3 changed files with 143 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .github/install/deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: ConsulMesh
services:
consul:
type: ConsulMesh
namespace: consul
version: #will be inserted dynamically
10 changes: 10 additions & 0 deletions .github/install/installconsul.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: user
vars:
controlplaneNS: consul
consulVersion: 1.12.2
profile: default
services:
consulservicemesh:
type: ConsulMesh
namespace: $(#ref.vars.controlplaneNS)
version: $(#ref.vars.consulVersion)
127 changes: 127 additions & 0 deletions .github/workflows/e2etests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
name: Meshery Adapter for Consul Tests

on:
push:
branches:
- "*"
tags:
- "v*"
paths-ignore:
- 'docs/**'
pull_request:
branches:
- "*"
release:
types: [published]
jobs:
SetPatternfileForServicemeshInstall:
runs-on: ubuntu-latest
outputs:
sm_version: ${{ steps.gettag.outputs.release }}
adapter_version: ${{ env.version }}
steps:
- name: Checkout Code
uses: actions/checkout@v2
- 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: hashicorp/consul-k8s
excludes: prerelease, draft, edge
- name: Change service mesh version in patternfile
run: |
yq e -i '.services.consul.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

TestAdapterForServicemeshInstall:
needs: SetPatternfileForServicemeshInstall
uses: meshery/meshery/.github/workflows/test_adapters.yaml@master
with:
expected_resources: consul-client, consul-server
expected_resources_types: pod,pod
expected_resources_namespaces: consul, consul
deployment_url: https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-consul-deployment.yaml
service_url: https://raw.githubusercontent.com/meshery/meshery/master/install/deployment_yamls/k8s/meshery-consul-service.yaml
adapter_name: consul
patternfile_name: deploy.yaml
provider: Local
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: TestAdapterForServicemeshInstall
if: "always() && github.event_name != 'pull_request' "
runs-on: ubuntu-latest
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@master
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
mkdir -p ./docs/_compatibility/meshery-consul
cd ./docs/_compatibility/meshery-consul
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-consul
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: Consul
service-mesh-version: $(jq '.metadata.service_mesh_version' data.json)
tests:
consul-client: $(jq '.pods_status."consul-client"' data.json)
consul-server: $(jq '.pods_status."consul-server"' 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'

0 comments on commit 6cf960c

Please sign in to comment.