.Net: Adapted broken link to KernelFunctionStrategies (#6853) #1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Java Semantic Kernel | |
# Triggers the workflow on manual dispatch, push, and pull request events | |
# for the specified branches and paths | |
on: | |
workflow_dispatch: | |
push: | |
branches: [ "main", "java-development" ] | |
paths: | |
- 'java/**' | |
pull_request: | |
branches: [ "main", "java-development" ] | |
paths: | |
- 'java/**' | |
permissions: | |
contents: read | |
jobs: | |
# Determines if Java files have changed | |
paths-filter: | |
runs-on: ubuntu-latest | |
outputs: | |
javaChanges: ${{ steps.filter.outputs.java }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: | | |
java: | |
- 'java/**' | |
- '**/java/**' | |
- name: java tests | |
if: steps.filter.outputs.java == 'true' | |
run: echo "Java file" | |
- name: not java tests | |
if: steps.filter.outputs.java != 'true' | |
run: echo "NOT java file" | |
# Builds and tests the Java project | |
java-build: | |
runs-on: ubuntu-latest | |
needs: paths-filter | |
if: needs.paths-filter.outputs.javaChanges == 'true' | |
strategy: | |
fail-fast: false | |
matrix: | |
# Defines a matrix strategy for JDK versions 8 and 17 | |
java-versions: [8, 17] | |
name: Java CI on JDK${{ matrix.java-versions }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
# Need to use JDK 11 to build for JDK 8 | |
- name: Set JDK | |
id: set-jdk | |
shell: bash | |
run: | | |
if [[ ${{ matrix.java-versions }} == 8 ]]; then | |
echo "JDK_VERSION=11" >> $GITHUB_OUTPUT | |
else | |
version=${{ matrix.java-versions }} | |
echo "JDK_VERSION=$version" >> $GITHUB_OUTPUT | |
fi | |
# Sets up the specified JDK version from the matrix | |
- uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ steps.set-jdk.outputs.JDK_VERSION }} | |
distribution: microsoft | |
cache: maven | |
# Builds the project with Maven using the matrix JDK version | |
- name: Build with Maven | |
run: ./mvnw -B -Pbug-check -DskipTests -Pcompile-jdk${{ matrix.java-versions }} clean install --file pom.xml | |
working-directory: java | |
# Runs tests with Maven using the matrix JDK version | |
- name: Run tests | |
run: ./mvnw -B -Pbug-check -Pcompile-jdk${{ matrix.java-versions }} test --file pom.xml | |
working-directory: java | |
# Uploads test artifacts for each JDK version | |
- uses: actions/upload-artifact@v2 | |
if: always() | |
with: | |
name: test_output_sk_jdk${{ matrix.java-versions }}u | |
path: java/**/target/surefire-reports/*Test.txt |