Skip to content

Msp fix action

Msp fix action #351

Workflow file for this run

# *******************************************************************************
# Copyright (c) 2025 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
name: Consumer Tests
on:
workflow_call:
pull_request:
types: [opened, reopened, synchronize]
merge_group:
types: [checks_requested]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
consumer: ["process_description", "score", "module_template"]
steps:
- name: Checkout PR
uses: actions/checkout@v4.2.2
- name: Prepare Python
run: |
bazel run //:ide_support
- name: Prepare report directory
run: |
mkdir -p reports
# The pipefail ensures that non 0 exit codes inside the pytest execution get carried into the pipe
# & make the tests red in the end. Without this we only would check the exit code of the 'tee' command.
- name: Run Consumer tests
run: |
set -o pipefail
.venv_docs/bin/python -m pytest -s -vv src/tests/ --repo="$CONSUMER" --junitxml="reports/${{ matrix.consumer }}.xml" | tee "reports/${{ matrix.consumer }}.log"
env:
FORCE_COLOR: "1"
TERM: xterm-256color
PYTHONUNBUFFERED: "1"
CONSUMER: ${{ matrix.consumer }}
- name: Upload consumer test report
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: tests-${{ matrix.consumer }}
path: reports/
summarize:
needs: test
runs-on: ubuntu-latest
if: ${{ always() }}
steps:
- name: Prepare consumer report directory
run: |
mkdir -p tests-report
- name: Download individual consumer reports
uses: actions/download-artifact@v4
with:
pattern: tests-*
path: tests-report
merge-multiple: true
- name: Upload bundled consumer report
if: ${{ always() }}
uses: actions/upload-artifact@v4
with:
name: tests-report
path: tests-report