mirror of
				https://github.com/Frooodle/Stirling-PDF.git
				synced 2025-10-25 11:17:28 +02:00 
			
		
		
		
	ci: add matrix strategy for spring-security and improve test report check logic (#3768)
# Description of Changes - Introduced a new matrix axis `spring-security` in the GitHub Actions workflow to run tests with and without Spring Security features enabled. - Removed duplicated build steps and unified them into a single Gradle task using the matrix value. - Refactored the test report check step to dynamically iterate over expected directories using a Bash array, improving maintainability and readability. - Ensured test report artifacts are uploaded regardless of test success, with clearer naming and a fallback if files are missing. --- ## Checklist ### General - [x] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [x] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md) (if applicable) - [x] I have performed a self-review of my own code - [x] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#6-testing) for more details.
This commit is contained in:
		
							parent
							
								
									387ae5934d
								
							
						
					
					
						commit
						5a8162ff60
					
				
							
								
								
									
										51
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										51
									
								
								.github/workflows/build.yml
									
									
									
									
										vendored
									
									
								
							| @ -21,6 +21,7 @@ jobs: | ||||
|       fail-fast: false | ||||
|       matrix: | ||||
|         jdk-version: [17, 21] | ||||
|         spring-security: [true, false] | ||||
| 
 | ||||
|     steps: | ||||
|       - name: Harden Runner | ||||
| @ -37,56 +38,41 @@ jobs: | ||||
|           java-version: ${{ matrix.jdk-version }} | ||||
|           distribution: "temurin" | ||||
| 
 | ||||
|       - name: Build with Gradle and no spring security | ||||
|       - name: Build with Gradle and spring security ${{ matrix.spring-security }} | ||||
|         run: ./gradlew clean build | ||||
|         env: | ||||
|           DISABLE_ADDITIONAL_FEATURES: true | ||||
| 
 | ||||
|       - name: Build with Gradle and with spring security | ||||
|         run: ./gradlew clean build | ||||
|         env: | ||||
|           DISABLE_ADDITIONAL_FEATURES: false | ||||
|           DISABLE_ADDITIONAL_FEATURES: ${{ matrix.spring-security }} | ||||
| 
 | ||||
|       - name: Check Test Reports Exist | ||||
|         id: check-reports | ||||
|         if: always() | ||||
|         run: | | ||||
|           declare -a dirs=( | ||||
|             "stirling-pdf/build/reports/tests/" | ||||
|             "stirling-pdf/build/test-results/" | ||||
|             "common/build/reports/tests/" | ||||
|             "common/build/test-results/" | ||||
|             "proprietary/build/reports/tests/" | ||||
|             "proprietary/build/test-results/" | ||||
|           ) | ||||
|           missing_reports=() | ||||
|            | ||||
|           # Check for required test report directories | ||||
|           if [ ! -d "stirling-pdf/build/reports/tests/" ]; then | ||||
|             missing_reports+=("stirling-pdf/build/reports/tests/") | ||||
|           fi | ||||
|           if [ ! -d "stirling-pdf/build/test-results/" ]; then | ||||
|             missing_reports+=("stirling-pdf/build/test-results/") | ||||
|           fi | ||||
|           if [ ! -d "common/build/reports/tests/" ]; then | ||||
|             missing_reports+=("common/build/reports/tests/") | ||||
|           fi | ||||
|           if [ ! -d "common/build/test-results/" ]; then | ||||
|             missing_reports+=("common/build/test-results/") | ||||
|           fi | ||||
|           if [ ! -d "proprietary/build/reports/tests/" ]; then | ||||
|             missing_reports+=("proprietary/build/reports/tests/") | ||||
|           fi | ||||
|           if [ ! -d "proprietary/build/test-results/" ]; then | ||||
|             missing_reports+=("proprietary/build/test-results/") | ||||
|           fi | ||||
|            | ||||
|           # Fail if any required reports are missing | ||||
|           for dir in "${dirs[@]}"; do | ||||
|             if [ ! -d "$dir" ]; then | ||||
|               missing_reports+=("$dir") | ||||
|             fi | ||||
|           done | ||||
|           if [ ${#missing_reports[@]} -gt 0 ]; then | ||||
|             echo "ERROR: The following required test report directories are missing:" | ||||
|             printf '%s\n' "${missing_reports[@]}" | ||||
|             exit 1 | ||||
|           fi | ||||
|            | ||||
|           echo "All required test report directories are present" | ||||
| 
 | ||||
|       - name: Upload Test Reports | ||||
|         if: steps.check-reports.outcome == 'success' | ||||
|         if: always() | ||||
|         uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 | ||||
|         with: | ||||
|           name: test-reports-jdk-${{ matrix.jdk-version }} | ||||
|           name: test-reports-jdk-${{ matrix.jdk-version }}-spring-security-${{ matrix.spring-security }} | ||||
|           path: | | ||||
|             stirling-pdf/build/reports/tests/ | ||||
|             stirling-pdf/build/test-results/ | ||||
| @ -98,6 +84,7 @@ jobs: | ||||
|             proprietary/build/test-results/ | ||||
|             proprietary/build/reports/problems/ | ||||
|           retention-days: 3 | ||||
|           if-no-files-found: warn | ||||
| 
 | ||||
|   check-licence: | ||||
|     runs-on: ubuntu-latest | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user