FELIX-6759 - Remove sun.misc.Unsafe - use plurl for URL handler factory multiplexing #590
This file contains hidden or 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: Github CI Build | |
| on: | |
| push: | |
| branches: [ "master" ] | |
| paths: | |
| - 'scr/**' | |
| - 'http/**' | |
| - 'tools/maven-bundle-plugin/**' | |
| - 'tools/osgicheck-maven-plugin/**' | |
| - 'log/**' | |
| - 'webconsole/**' | |
| - 'framework/**' | |
| - 'gogo/**' | |
| - 'framework.tck/**' | |
| pull_request: | |
| branches: [ "master", "feature/**", "maintenance/**" ] | |
| paths: | |
| - 'scr/**' | |
| - 'http/**' | |
| - 'tools/maven-bundle-plugin/**' | |
| - 'tools/osgicheck-maven-plugin/**' | |
| - 'webconsole/**' | |
| - 'log/**' | |
| - 'framework/**' | |
| - 'gogo/**' | |
| - 'framework.tck/**' | |
| # Cancel superseded runs when a branch is pushed again. github.head_ref is only set | |
| # for pull_request events, so pushes to master fall back to the unique run_id and are | |
| # never cancelled. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: {} | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| java: [17,21,23,25] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up JDK ${{ matrix.java }} | |
| uses: actions/setup-java@v5 | |
| with: | |
| java-version: ${{ matrix.java }} | |
| distribution: 'temurin' | |
| cache: maven | |
| - name: Set up Maven | |
| uses: stCarolas/setup-maven@d6af6abeda15e98926a57b5aa970a96bb37f97d1 # v5 | |
| with: | |
| maven-version: 3.9.9 | |
| - name: Check which subproject changed and build affected ones | |
| uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d | |
| id: changes | |
| with: | |
| filters: | | |
| scr: | |
| - 'scr/**' | |
| http: | |
| - 'http/**' | |
| maven-bundle-plugin: | |
| - 'tools/maven-bundle-plugin/**' | |
| maven-osgicheck-plugin: | |
| - 'tools/osgicheck-maven-plugin/**' | |
| webconsole: | |
| - 'webconsole/**' | |
| log: | |
| - 'log/**' | |
| framework: | |
| - 'framework/**' | |
| - 'framework.tck/**' | |
| gogo: | |
| - 'gogo/**' | |
| - name: Felix SCR | |
| if: steps.changes.outputs.scr == 'true' | |
| run: mvn -B -V -Dstyle.color=always --file scr/pom.xml clean verify | |
| - name: Felix Log | |
| if: steps.changes.outputs.log == 'true' | |
| run: mvn -B -V -Dstyle.color=always --file log/pom.xml clean verify | |
| - name: Felix HTTP | |
| if: steps.changes.outputs.http == 'true' | |
| run: mvn -B -V -Dstyle.color=always "-Dit.test=!MissingWebsocketDependenciesIT" --file http/pom.xml clean install verify "-Dmaven.repo.local=/home/runner/.m2/repository/" | |
| - name: Felix Maven bundle plugin | |
| if: steps.changes.outputs.maven-bundle-plugin == 'true' | |
| run: mvn -B -V -Dstyle.color=always --file tools/maven-bundle-plugin/pom.xml clean install verify | |
| - name: Felix Maven OSGi check plugin | |
| if: steps.changes.outputs.maven-osgicheck-plugin == 'true' | |
| run: mvn -B -V -Dstyle.color=always --file tools/osgicheck-maven-plugin/pom.xml clean install verify | |
| - name: Felix Webconsole | |
| if: steps.changes.outputs.webconsole == 'true' | |
| run: mvn -B -V -Dstyle.color=always --file webconsole/pom.xml clean install verify | |
| - name: Felix Framework | |
| if: steps.changes.outputs.framework == 'true' | |
| # install, not verify: the TCK below is a separate Maven invocation and resolves | |
| # the framework from the repository, so without installing it would silently test | |
| # whatever org.apache.felix.framework happens to be published rather than the | |
| # build under test. | |
| run: mvn -B -V -Dstyle.color=always --file framework/pom.xml clean install | |
| - name: OSGi-TCK Framework | |
| if: steps.changes.outputs.framework == 'true' | |
| run: mvn -B -V -Dstyle.color=always --file framework.tck/pom.xml clean verify | |
| - name: Felix Gogo Shell | |
| if: steps.changes.outputs.gogo == 'true' | |
| run: mvn -B -V -Dstyle.color=always --file gogo/pom.xml clean verify | |
| - name: Upload Test Results | |
| if: always() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: test-results-jdk${{ matrix.java }} | |
| if-no-files-found: warn | |
| path: | | |
| ${{ github.workspace }}/**/target/surefire-reports/*.xml | |
| ${{ github.workspace }}/**/target/failsafe-reports/*.xml | |
| ${{ github.workspace }}/**/target/test-reports/tck/*.xml | |