Skip to content

improved workflows #130

improved workflows

improved workflows #130

Workflow file for this run

name: Testing
on:
pull_request:
branches:
- main
types:
- opened
- reopened
- synchronize
- ready_for_review
paths:
- 'src/**'
- 'test/**'
- 'Project.toml'
- '.github/workflows/run-tests.yml'
- '.github/workflows/run-tests-reusable.yml'
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}-${{ github.event.pull_request.merged }}"
cancel-in-progress: true
jobs:
changed-files:
name: Check for changed files
runs-on: ubuntu-latest
outputs:
changed-workflows: ${{ steps.changed-files.outputs.workflows_any_changed }}
changed-src: ${{ steps.changed-files.outputs.src_any_changed }}
changed-test: ${{ steps.changed-files.outputs.test_any_changed }}
changed-examples: ${{ steps.changed-files.outputs.examples_any_changed }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v46
with:
files_yaml: |
workflows:
- .github/workflows/run-tests*.yaml
src:
- src/**
- Project.toml
- Artifacts.toml
test:
- test/**
examples:
- examples/**
test-matrix:
needs: [changed-files]
if: ${{ needs.changed-files.outputs.changed-workflows || needs.changed-files.outputs.changed-src || needs.changed-files.outputs.changed-test || needs.changed-files.outputs.changed-examples }}
strategy:
fail-fast: false
matrix:
os: [winodws-latest]
julia-version: ['1.7', '1.8', '1.9', '1.10', '1.11']
matlab-version: ['R2021b', 'R2022a', 'R2022b', 'R2023a', 'R2023b', 'R2024a', 'R2024b', 'R2025a']
uses: ./.github/workflows/run-tests-reusable.yml
with:
os: ${{ matrix.os }}
julia-version: ${{ matrix.julia-version }}
matlab-version: ${{ matrix.matlab-version }}
summary:
name: Summary
needs: [changed-files, test-matrix]
if: ${{ !cancelled() }}
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
- name: Generate JUnit summary
if: ${{ needs.changed-files.outputs.changed-workflows || needs.changed-files.outputs.changed-src || needs.changed-files.outputs.changed-test || needs.changed-files.outputs.changed-examples }}
uses: mikepenz/action-junit-report@v5
with:
report_paths: results-*/results.xml
fail_on_error: true