Skip to content

Run OpenSIPS Conformance Tests #481

Run OpenSIPS Conformance Tests

Run OpenSIPS Conformance Tests #481

Workflow file for this run

name: Run OpenSIPS Conformance Tests
on:
# Triggers the workflow on all push or pull request events
push:
pull_request:
workflow_run:
workflows:
- Build SIPSsert Image
types:
- completed
schedule:
- cron: '0 2 * * Mon'
workflow_call:
jobs:
setup-matrix:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Checkout Tests repo
uses: actions/checkout@v4
with:
repository: OpenSIPS/sipssert-opensips-tests
path: tests
- name: Read and parse YAML file
id: set-matrix
uses: OpenSIPS/SIPssert/.github/actions/Set_Matrix@main
test:
needs: setup-matrix
strategy:
fail-fast: false
matrix: ${{fromJson(needs.setup-matrix.outputs.matrix)}}
runs-on: ${{ matrix.os }}
steps:
- name: Prepare SIPssert
uses: OpenSIPS/SIPssert/.github/actions/Prepare_SIPssert@main
with:
sipssert-repo: OpenSIPS/SIPSsert
tests-repo: OpenSIPS/sipssert-opensips-tests
- name: Run Test
uses: OpenSIPS/SIPssert/.github/actions/Run_Tests@main
with:
tests: ${{ matrix.tests }}
aggregate:
needs: test
runs-on: ubuntu-latest
if: always()
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
repository: OpenSIPS/sipssert-opensips-tests
path: tests
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: junit-reports
- name: Aggregate JUnit Reports
run: |
pip install junitparser
python tests/.github/scripts/aggregate_junit_reports.py
env:
REPORTS_DIR: junit-reports
OUTPUT_FILE: junit-final-report.xml
- name: Upload JUnit XML
uses: actions/upload-artifact@v4
with:
name: junit-final-report
path: junit-final-report.xml
- name: Print tests summary
uses: mikepenz/action-junit-report@v5
id: summary
if: success() || failure()
with:
check_name: 'SIPssert tests report'
report_paths: junit-final-report.xml
annotate_only: true
fail_on_failure: true
detailed_summary: true
include_passed: true