Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: add larva autorun workflow #479

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
00f4284
ci: add larva autorun workflow
DelanoWAF Dec 4, 2024
c2de17a
add temp workflow
DelanoWAF Dec 4, 2024
378a6c1
check ci change
DelanoWAF Dec 4, 2024
58bc77f
move ci in order
DelanoWAF Dec 4, 2024
2e55a66
docker instead of compose
DelanoWAF Dec 5, 2024
3cd3c11
Merge pull request #481 from wearefrank/master
DelanoWAF Dec 5, 2024
ed9d594
reuse docker compose from ci
DelanoWAF Dec 5, 2024
0f5ce7b
retry docker-compose
DelanoWAF Dec 5, 2024
093c533
increase timeout
DelanoWAF Dec 5, 2024
43c4756
refactor: set version to latest
DelanoWAF Dec 6, 2024
440cb4a
Merge pull request #482 from wearefrank/master
DelanoWAF Dec 6, 2024
41c6925
remove excess file
DelanoWAF Dec 6, 2024
dd09fff
change ci order
DelanoWAF Dec 6, 2024
287bf44
undo stage change
DelanoWAF Dec 6, 2024
f0623b4
attempt failed test trigger
DelanoWAF Dec 9, 2024
f312b8b
add more failed tests
DelanoWAF Dec 9, 2024
5d704d3
force logging
DelanoWAF Dec 9, 2024
a971abb
force more test failures
DelanoWAF Dec 9, 2024
4f1cd85
force another failure
DelanoWAF Dec 9, 2024
1ba5d19
change startup
DelanoWAF Dec 9, 2024
6f00db1
change order
DelanoWAF Dec 9, 2024
4805710
force log
DelanoWAF Dec 9, 2024
ce47fef
set proper command and version
DelanoWAF Dec 10, 2024
8effc61
rebuild
DelanoWAF Dec 10, 2024
c0462b4
keep only zaakbrug
DelanoWAF Dec 10, 2024
511ef99
add logging
DelanoWAF Dec 10, 2024
10f9797
undo logging
DelanoWAF Dec 10, 2024
969e838
reset to base state
DelanoWAF Dec 11, 2024
ef44852
Revert "force log"
DelanoWAF Dec 11, 2024
6b7032d
Revert "force another failure"
DelanoWAF Dec 12, 2024
17d93fa
Revert "force more test failures"
DelanoWAF Dec 12, 2024
875e638
Revert "add more failed tests"
DelanoWAF Dec 12, 2024
dfb0420
Revert "attempt failed test trigger"
DelanoWAF Dec 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,14 @@ jobs:
upload-sarif-to-security: false
run-frank-till-healthy-enabled: false

run-larva-scenarios:
uses: ./.github/workflows/run-larva-scenarios.yml
needs:
- version-next
- ci
with:
APP_VERSION: ${{ needs.version-next.outputs.version-next }}

run-soapui-tests:
runs-on: ubuntu-latest
needs:
Expand Down Expand Up @@ -108,4 +116,4 @@ jobs:
if: always()
with:
name: reports-soapui-testreports
path: ./*/reports
path: ./*/reports
69 changes: 69 additions & 0 deletions .github/workflows/run-larva-scenarios.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: Run Larva Scenarios

on:
workflow_call:
inputs:
APP_VERSION:
type: string
required: true

jobs:
run-larva-scenarios:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 #4.1.7

- name: Download Docker tar
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 #4.1.8
with:
name: build-docker-image

- name: Load Docker tar
shell: bash
run: |
docker load --input image.tar
docker image ls -a

- name: Start Application
run: |
docker run -d --name zaakbrug -p 8080:8080 -e dtap.stage=LOC wearefrank/zaakbrug:${{ inputs.APP_VERSION }}
timeout-minutes: 2

- name: Wait for Application to be Healthy
run: |
start_time=$(date +%s)
timeout=60
while true; do
if [ "$(curl -s -o /dev/null -w ''%{http_code}'' http://localhost:8080/iaf/api/server/health)" == "200" ]; then
echo "Application is healthy."
break
fi
current_time=$(date +%s)
elapsed_time=$((current_time - start_time))
if [ $elapsed_time -ge $timeout ]; then
echo "Application did not become healthy within $timeout seconds. Failing the job."
exit 1
fi
echo "Waiting for application to be healthy..."
sleep 5
done
timeout-minutes: 2

- name: Trigger Larva Tool
run: |
curl -X POST 'http://localhost:8080/iaf/larva/index.jsp' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'scenariosrootdirectory=/opt/frank/testtool' \
--data-urlencode 'waitbeforecleanup=100' \
--data-urlencode 'loglevel=WRONG_PIPELINE_MESSAGES_PREPARED_FOR_DIFF' \
--data-urlencode 'execute=/opt/frank/testtool' \
--data-urlencode 'submit=start' > results.html

- name: Check if all scenarios passed
run: |
if ! grep -q 'All scenarios passed' results.html; then
echo "Not all scenarios passed. Failing the job."
cat results.html
exit 1
fi
Loading