Prod Load Test hourly probe #249
This file contains hidden or 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: Prod Load Test hourly probe | |
on: | |
schedule: | |
- cron: "15 * * * *" | |
workflow_dispatch: | |
jobs: | |
load_test: | |
strategy: | |
fail-fast: false | |
matrix: | |
cluster: | |
- label: stone-prd-rh01 | |
repo: https://github.com/rhtap-perf-test/nodejs-devfile-sample1 | |
member_cluster_secret: MEMBER_CLUSTER_STONE_PRD_RH01 | |
ocp_prometheus_token_secret: OCP_PROMETHEUS_TOKEN_STONE_PRD_RH01 | |
users_secret: USERS_STONE_PRD_RH01 | |
should_fail: false | |
- label: stone-stg-rh01 | |
repo: https://github.com/rhtap-perf-test/nodejs-devfile-sample2 | |
member_cluster_secret: MEMBER_CLUSTER_STONE_STG_RH01 | |
ocp_prometheus_token_secret: OCP_PROMETHEUS_TOKEN_STONE_STG_RH01 | |
users_secret: USERS_STONE_STG_RH01 | |
should_fail: false | |
- label: kflux-prd-rh02 | |
repo: https://github.com/rhtap-perf-test/nodejs-devfile-sample3 | |
member_cluster_secret: MEMBER_CLUSTER_KFLUX_PRD_RH02 | |
ocp_prometheus_token_secret: OCP_PROMETHEUS_TOKEN_KFLUX_PRD_RH02 | |
users_secret: USERS_KFLUX_PRD_RH02 | |
should_fail: false | |
runs-on: ubuntu-latest | |
timeout-minutes: 120 | |
# continue even if the job fails | |
continue-on-error: true | |
# Make sure this action does not get scheduled by cron on e2e-tests forks | |
if: ${{ github.repository_owner == 'konflux-ci' || github.event_name != 'schedule' }} | |
env: | |
ARTIFACT_DIR: ${{ github.workspace }}/tests/load-test/artifacts/ | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up jq | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y jq | |
- name: Prepare list of users | |
working-directory: ./tests/load-tests | |
env: | |
USERS: ${{ secrets[matrix.cluster.users_secret] }} | |
run: echo "$USERS" > users.json | |
- name: Run Load Test | |
working-directory: ./tests/load-tests | |
env: | |
SCENARIO: COMPONENT_REPO=${{ matrix.cluster.repo }} CONCURRENCY=1 COMPONENT_DOCKERFILE_PATH=Dockerfile MY_GITHUB_ORG=rhtap-perf-test | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
MY_GITHUB_ORG: "rhtap-perf-test" | |
run: | | |
export $SCENARIO | |
./run-stage.sh | |
- name: Collect results | |
working-directory: ./tests/load-tests | |
env: | |
MEMBER_CLUSTER: ${{ secrets[matrix.cluster.member_cluster_secret] }} | |
OCP_PROMETHEUS_TOKEN: ${{ secrets[matrix.cluster.ocp_prometheus_token_secret] }} | |
run: | | |
export $SCENARIO | |
export MEMBER_CLUSTER | |
export OCP_PROMETHEUS_TOKEN | |
./ci-scripts/stage/collect-results.sh ${CONCURRENCY:-1} ${PWD} | |
- name: List files in the artifact directory | |
run: ls -la ${{ env.ARTIFACT_DIR }} | |
- name: Archive artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: rhtap-load-test-${{ matrix.cluster.label }} | |
path: ${{ env.ARTIFACT_DIR }} | |
include-hidden-files: true |