generated from layer5io/layer5-repo-template
-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Lifted changes from alphaX86:enhance and changed Bookinfo URL + Wrote…
… emojivoto to a file Signed-off-by: hershd23 <[email protected]>
- Loading branch information
Showing
9 changed files
with
129 additions
and
105 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
{"meshery-provider":"None","token":""} |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,64 +1,68 @@ | ||
# This workflow runs performance benchmarks with Meshery based on the configuration provided | ||
# This workflow needs to be triggered manually by providing the test configuration | ||
|
||
name: Configurable Benchmark Test | ||
on: | ||
# for triggering the workflow, provide these inputs | ||
workflow_dispatch: | ||
inputs: | ||
profile_name: | ||
description: "performance profile to use" | ||
required: false | ||
profile_filename: | ||
description: "test configuration file" | ||
required: false | ||
service_mesh: | ||
type: choice | ||
required: false | ||
description: "service mesh being tested" | ||
options: | ||
- istio | ||
- linkerd | ||
load_generator: | ||
type: choice | ||
required: false | ||
description: "load generator to run tests with" | ||
options: | ||
- fortio | ||
- wrk2 | ||
- nighthawk | ||
|
||
jobs: | ||
manual-test: | ||
name: Configurable Benchmark Test | ||
runs-on: ubuntu-latest | ||
if: ${{ github.event_name == 'workflow_dispatch' }} | ||
steps: | ||
- name: Setup Kubernetes | ||
uses: manusa/[email protected] | ||
with: | ||
minikube version: 'v1.23.2' | ||
kubernetes version: 'v1.23.2' | ||
driver: docker | ||
start args: "--v=5" | ||
|
||
- name: Checkout Code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install Service Mesh and Deploy Application | ||
run: | | ||
chmod +x .github/workflows/scripts/${{ github.event.inputs.service_mesh }}_deploy.sh | ||
.github/workflows/scripts/${{ github.event.inputs.service_mesh }}_deploy.sh | ||
shell: bash | ||
|
||
- name: Run Benchmark Tests | ||
uses: layer5io/meshery-smp-action@master | ||
with: | ||
provider_token: ${{ secrets.MESHERY_TOKEN }} | ||
platform: docker | ||
profile_name: ${{ github.event.inputs.profile_name }} | ||
profile_filename: ${{ github.event.inputs.profile_filename }} | ||
endpoint_url: ${{env.ENDPOINT_URL}} | ||
service_mesh: ${{env.SERVICE_MESH}} | ||
load_generator: ${{ github.event.inputs.load_generator }} | ||
test_name: '${{ github.event.inputs.service_mesh }}-${{ github.event.inputs.load_generator }}-${{ github.event.inputs.profile_filename }}${{ github.event.inputs.profile_name }}' | ||
# This workflow runs performance benchmarks with Meshery based on the configuration provided | ||
# This workflow needs to be triggered manually by providing the test configuration | ||
|
||
name: Configurable Benchmark Test | ||
on: | ||
# for triggering the workflow, provide these inputs | ||
workflow_dispatch: | ||
inputs: | ||
profile_name: | ||
description: "performance profile to use" | ||
required: false | ||
profile_filename: | ||
description: "test configuration file" | ||
required: false | ||
service_mesh: | ||
type: choice | ||
required: false | ||
description: "service mesh being tested" | ||
options: | ||
- istio | ||
- linkerd | ||
load_generator: | ||
type: choice | ||
required: false | ||
description: "load generator to run tests with" | ||
options: | ||
- fortio | ||
- wrk2 | ||
- nighthawk | ||
|
||
jobs: | ||
manual-test: | ||
name: Configurable Benchmark Test | ||
runs-on: ubuntu-latest | ||
if: ${{ github.event_name == 'workflow_dispatch' }} | ||
steps: | ||
- name: Setup Kubernetes | ||
uses: medyagh/[email protected] | ||
with: | ||
minikube version: v1.23.2 | ||
kubernetes version: v1.23.2 | ||
driver: docker | ||
apus: 4 | ||
memory: 5192 | ||
|
||
- name: Checkout Code | ||
uses: actions/checkout@v2 | ||
|
||
- name: Install Service Mesh and Deploy Application | ||
run: | | ||
chmod +x .github/workflows/scripts/${{ github.event.inputs.service_mesh }}_deploy.sh | ||
.github/workflows/scripts/${{ github.event.inputs.service_mesh }}_deploy.sh | ||
shell: bash | ||
|
||
- name: Initiate tmate session | ||
uses: mxschmitt/action-tmate@v3 | ||
|
||
- name: Run Benchmark Tests | ||
uses: layer5io/meshery-smp-action@master | ||
with: | ||
provider_token: ${{ secrets.MESHERY_TOKEN }} | ||
platform: docker | ||
profile_name: ${{ github.event.inputs.profile_name }} | ||
profile_filename: ${{ github.event.inputs.profile_filename }} | ||
endpoint_url: ${{env.ENDPOINT_URL}} | ||
service_mesh: ${{env.SERVICE_MESH}} | ||
load_generator: ${{ github.event.inputs.load_generator }} | ||
test_name: '${{ github.event.inputs.service_mesh }}-${{ github.event.inputs.load_generator }}-${{ github.event.inputs.profile_filename }}${{ github.event.inputs.profile_name }}' |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,14 +12,15 @@ on: | |
profile_filename: | ||
description: "test configuration file" | ||
required: false | ||
# scheduled to run at everyday at 13:00 | ||
# scheduled to run on everyhour | ||
schedule: | ||
- cron: '0 13 * * *' | ||
- cron: '0 * * * *' | ||
|
||
jobs: | ||
# Manual Benchmark Test | ||
start-runners-manual: | ||
name: Start self-hosted CNCF CIL runners for manual test | ||
timeout-minutes: 60 | ||
runs-on: ubuntu-latest | ||
if: ${{ github.event_name == 'workflow_dispatch' }} | ||
strategy: | ||
|
@@ -60,6 +61,7 @@ jobs: | |
|
||
manual-test: | ||
name: Manual Benchmark Test | ||
timeout-minutes: 60 | ||
needs: | ||
- start-runners-manual | ||
runs-on: ${{ matrix.service-mesh }}-${{ matrix.load-generator }}-${{ github.run_id }} | ||
|
@@ -84,6 +86,8 @@ jobs: | |
sudo apt-cache policy docker-ce | ||
sudo apt install -y docker-ce | ||
sudo systemctl status docker | ||
sudo mkdir -p ~/.kube | ||
sudo chmod 777 ~/.kube | ||
- name: Setup Kubernetes | ||
uses: manusa/[email protected] | ||
|
@@ -119,6 +123,7 @@ jobs: | |
|
||
stop-runner-manual: | ||
name: Stop self-hosted runner | ||
timeout-minutes: 60 | ||
needs: | ||
- start-runners-manual # required to get output from the start-runner job | ||
- manual-test # required to wait when the main job is done | ||
|
@@ -140,6 +145,7 @@ jobs: | |
shell: bash | ||
|
||
- name: Remove CNCF CIL runner from github repository | ||
if: always() | ||
run: | | ||
runner_id=$(curl -s -H 'Authorization: token ${{ secrets.GH_ACCESS_TOKEN }}' -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${{github.repository}}/actions/runners | jq '.runners[] | select(.name == "${{ matrix.service-mesh }}-${{ matrix.load-generator }}-${{ needs.start-runners-manual.outputs.github_run_id }}") | {id}' | jq -r .id) | ||
curl -X DELETE -H 'Authorization: token ${{ secrets.GH_ACCESS_TOKEN }}' -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${{github.repository}}/actions/runners/$runner_id | ||
|
@@ -148,6 +154,7 @@ jobs: | |
# Scheduled Benchmark Test | ||
start-runners-scheduled: | ||
name: Start self-hosted CNCF CIL runners for scheduled test | ||
timeout-minutes: 60 | ||
runs-on: ubuntu-latest | ||
if: ${{ github.event_name == 'schedule' }} | ||
strategy: | ||
|
@@ -189,6 +196,7 @@ jobs: | |
|
||
scheduled-test: | ||
name: Scheduled Benchmark Test | ||
timeout-minutes: 60 | ||
needs: | ||
- start-runners-scheduled | ||
runs-on: ${{ matrix.service-mesh }}-${{ matrix.load-generator }}-${{ matrix.test-configuration }}-${{ github.run_id }} | ||
|
@@ -214,6 +222,8 @@ jobs: | |
sudo apt-cache policy docker-ce | ||
sudo apt install -y docker-ce | ||
sudo systemctl status docker | ||
sudo mkdir -p ~/.kube | ||
sudo chmod 777 ~/.kube | ||
- name: Setup Kubernetes | ||
uses: manusa/[email protected] | ||
|
@@ -236,7 +246,7 @@ jobs: | |
run: echo "::set-output name=date::$(date +'%Y-%m-%d-%H.%M.%S')" | ||
|
||
- name: Run Benchmark Tests | ||
uses: layer5io/meshery-smp-action@self-hosted | ||
uses: layer5io/meshery-smp-action@master | ||
with: | ||
provider_token: ${{ secrets.MESHERY_TOKEN }} | ||
platform: docker | ||
|
@@ -249,6 +259,7 @@ jobs: | |
|
||
stop-runner-scheduled: | ||
name: Stop self-hosted runner | ||
timeout-minutes: 60 | ||
needs: | ||
- start-runners-scheduled # required to get output from the start-runner job | ||
- scheduled-test # required to wait when the main job is done | ||
|
@@ -271,7 +282,8 @@ jobs: | |
shell: bash | ||
|
||
- name: Remove CNCF CIL runner from github repository | ||
if: always() | ||
run: | | ||
runner_id=$(curl -s -H 'Authorization: token ${{ secrets.GH_ACCESS_TOKEN }}' -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${{github.repository}}/actions/runners | jq '.runners[] | select(.name == "${{ matrix.service-mesh }}-${{ matrix.load-generator }}-${{ matrix.test-configuration }}-${{ needs.start-runners-scheduled.outputs.github_run_id }}") | {id}' | jq -r .id) | ||
curl -X DELETE -H 'Authorization: token ${{ secrets.GH_ACCESS_TOKEN }}' -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/${{github.repository}}/actions/runners/$runner_id | ||
shell: bash | ||
shell: bash |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -28,10 +28,10 @@ jobs: | |
load-generator: ['fortio', 'wrk2'] | ||
steps: | ||
- name: Setup Kubernetes | ||
uses: manusa/[email protected].1 | ||
uses: manusa/[email protected].3 | ||
with: | ||
minikube version: 'v1.23.2' | ||
kubernetes version: 'v1.22.2' | ||
kubernetes version: 'v1.23.2' | ||
driver: docker | ||
|
||
- name: Checkout Code | ||
|
@@ -71,10 +71,10 @@ jobs: | |
test-configuration: ['load-test.yaml','soak-test.yaml'] | ||
steps: | ||
- name: Setup Kubernetes | ||
uses: manusa/[email protected].1 | ||
uses: manusa/[email protected].3 | ||
with: | ||
minikube version: 'v1.23.2' | ||
kubernetes version: 'v1.22.2' | ||
kubernetes version: 'v1.23.2' | ||
driver: docker | ||
|
||
- name: Checkout Code | ||
|
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
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
Oops, something went wrong.