49 lines
1.1 KiB
YAML
49 lines
1.1 KiB
YAML
name: ABE Exploratory Testing
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
explore:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
|
|
- name: Install dependencies
|
|
run: npm install
|
|
|
|
- name: Start application
|
|
run: docker-compose up -d app
|
|
# assumes the project has a docker-compose with the target app
|
|
|
|
- name: Wait for app
|
|
run: npx wait-on http://localhost:3000 --timeout 30000
|
|
|
|
- name: Run ABE
|
|
run: |
|
|
npm run abe -- run \
|
|
--url http://localhost:3000 \
|
|
--max-states 30 \
|
|
--fail-on-severity high \
|
|
--output junit
|
|
|
|
- name: Upload results
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: abe-reports
|
|
path: reports/
|
|
|
|
- name: Publish test results
|
|
if: always()
|
|
uses: EnricoMi/publish-unit-test-result-action@v2
|
|
with:
|
|
files: abe-results.xml
|