Skip to content

2080: thread context was already set fix #2117

2080: thread context was already set fix

2080: thread context was already set fix #2117

Workflow file for this run

# This workflow will build a Java project with Gradle
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
name: Run automated tests
on:
pull_request:
branches: [ master, '*-develop', 'mainline*' ]
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
cache: gradle
- uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Gradle wrapper
run: gradle wrapper
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run automated tests
run: ./gradlew test -PexcludeTests="**/userInterface/**" --no-daemon
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
cache: gradle
- uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Gradle wrapper
run: gradle wrapper
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run automated tests
run: ./gradlew test -PexcludeTests="**/userInterface/**" --no-daemon
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
cache: gradle
- uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Gradle wrapper
run: gradle wrapper
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- name: Run automated tests
run: ./gradlew test -PexcludeTests="**/userInterface/**" --no-daemon
static-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
java-version: 17
distribution: 'temurin'
cache: gradle
- uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Gradle wrapper
run: gradle wrapper
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- id: file_changes
uses: trilom/[email protected]
- name: Filter Java Files
id: filter_java_files
run: |
# Get modified and added files
MODIFIED_FILES=${{ steps.file_changes.outputs.files_modified }}
ADDED_FILES=${{ steps.file_changes.outputs.files_added }}
echo "Modified files: $MODIFIED_FILES"
echo "Added files: $ADDED_FILES"
# Simple approach using shell commands to filter Java files
# Remove brackets and quotes from the JSON arrays
MODIFIED_FILES=$(echo "$MODIFIED_FILES" | sed 's/^\[//;s/\]$//;s/"//g;s/,/ /g')
ADDED_FILES=$(echo "$ADDED_FILES" | sed 's/^\[//;s/\]$//;s/"//g;s/,/ /g')
# Combine the files and filter for .java files
ALL_FILES="$MODIFIED_FILES $ADDED_FILES"
JAVA_FILES=""
# If there are files to process
if [ ! -z "$ALL_FILES" ]; then
# Filter for Java files and format as JSON array
for file in $ALL_FILES; do
if [[ "$file" == *.java ]]; then
if [ -z "$JAVA_FILES" ]; then
JAVA_FILES="\"$file\""
else
JAVA_FILES="$JAVA_FILES,\"$file\""
fi
fi
done
fi
# Create a proper JSON array
JAVA_FILES="[$JAVA_FILES]"
echo "JAVA_FILES=$JAVA_FILES" >> $GITHUB_ENV
echo "Filtered Java Files: $JAVA_FILES"
- name: Run Code Style Check
run: ./gradlew checkstyleCI --no-daemon
env:
MODIFIED_FILES: ${{ env.JAVA_FILES }}
ACTIONS_STEP_DEBUG: true
- name: Run PMD Quality Check
run: ./gradlew pmdCI --no-daemon
env:
MODIFIED_FILES: ${{ env.JAVA_FILES }}