Skip to content

\!(get-type 'a') --> Char #123

\!(get-type 'a') --> Char

\!(get-type 'a') --> Char #123

Workflow file for this run

name: CI Job to Generate JUnit Reports with Diff and Allure Reports
on:
push:
branches:
- main
pull_request_target:
branches:
- main
permissions:
contents: write # Grant write permissions for contents
checks: write # Grant write permissions for checks, only effective on push
pull-requests: write # Explicitly grant write permissions for pull requests
jobs:
generate-reports:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install python packages
run: |
pip install ansi2html
pip install hyperon
pip install junit2html
- name: Make Install Script Executable
run: chmod +x INSTALL.sh
- name: Run Install Script to install Mettalog
run: |
. ./INSTALL.sh --easy
echo $PATH >> $GITHUB_PATH
- name: Make Test Script Executable
run: chmod +x scripts/run_commit_tests.sh
- name: Run Test Script to Generate Input File
continue-on-error: true
run: |
TIMESTAMP=$(date +"%Y-%m-%dT%H:%M:%S")
./scripts/run_commit_tests.sh -t $TIMESTAMP
echo "TIMESTAMP=$(echo $TIMESTAMP)" >> $GITHUB_ENV
env:
TERM: xterm-256color
- name: Run JUnit Report Generation Script
continue-on-error: true
run: |
python scripts/into_junit.py /tmp/SHARED.UNITS $TIMESTAMP > junit.xml
- name: Convert JUnit XML to Standard HTML Report
continue-on-error: true
run: |
junit2html junit.xml junit-standard-report.html
- name: Convert JUnit XML to Matrix HTML Report
continue-on-error: true
run: |
junit2html --report-matrix junit-matrix-report.html junit.xml
- name: Upload JUnit XML Report
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: junit-report
path: junit.xml
- name: Upload Standard HTML Report
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: junit-standard-html-report
path: junit-standard-report.html
- name: Upload Matrix HTML Report
continue-on-error: true
uses: actions/upload-artifact@v4
with:
name: junit-matrix-html-report
path: junit-matrix-report.html
- name: Display JUnit Test Results
if: github.event_name == 'push' # Only run this step on pushes to main
uses: dorny/test-reporter@v1
with:
name: 'JUnit Results'
path: 'junit.xml'
reporter: 'java-junit'
fail-on-error: false
- name: Provide Report Links
run: |
echo "JUnit reports are available as artifacts."
- name: Generate environment.properties
run: |
python scripts/generate_allure_environment.py ${{ github.sha }} ${{ github.ref_name }} > environment.properties
- name: Upload environment.properties
uses: actions/upload-artifact@v4
with:
name: environment
path: environment.properties
- name: Get Allure history
uses: actions/checkout@v4
with:
ref: test-results
path: test-results
- name: Download JUnit XML Results
uses: actions/download-artifact@v4
with:
name: junit-report
path: build/allure-results
- name: Include environment properties
uses: actions/download-artifact@v4
with:
name: environment
path: build/allure-results
- name: Generate Allure Report
uses: simple-elf/allure-report-action@master
if: always()
id: allure-report
with:
allure_results: build/allure-results
gh_pages: test-results
allure_report: allure-report
allure_history: allure-history
keep_reports: 20
- name: Deploy report to Github Pages
if: always()
uses: peaceiris/actions-gh-pages@v4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
personal_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: test-results
publish_dir: allure-history
- name: Auto-Approve the Pull Request
if: github.event_name == 'pull_request_target'
uses: hmarr/auto-approve-action@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}