started to add the functionality of URIUtil to ISourceLocation for better encapsulation of OS-specific behavior #275
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 and Deploy | |
on: | |
push: | |
branches: | |
- main | |
tags: | |
- 'v[0-9]+.*' | |
pull_request: | |
branches: | |
- main | |
env: | |
MAVEN_OPTS: "-Xmx4G -Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" | |
jobs: | |
test: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: test | |
run: mvn -B clean test | |
- name: Upload Unit Test Results | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Unit Test Results | |
path: target/surefire-reports/**/*.xml | |
publish-test-results: | |
name: "Publish Unit Tests Results" | |
needs: test | |
runs-on: ubuntu-latest | |
if: success() || failure() | |
steps: | |
- name: Download Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: artifacts | |
- name: Publish Unit Test Results | |
uses: EnricoMi/publish-unit-test-result-action/composite@v2 | |
with: | |
junit_files: artifacts/**/*.xml | |
checker-framework: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Verify using checker-framework | |
run: mvn -B clean compile -P checker-framework | |
codeql: | |
needs: [checker-framework, test] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: java | |
- name: Compile | |
run: mvn -B clean compile | |
- name: Analyze | |
uses: github/codeql-action/analyze@v2 | |
deploy: | |
needs: [checker-framework, test] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Attach artifact | |
id: build-artifact | |
uses: SWAT-engineering/maven-full-artifacts-action@v1 | |
- name: Prepare Draft Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
draft: true | |
files: ${{ steps.build-artifact.outputs.artifact-root-dir}}/**/* | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Deploy | |
if: startsWith(github.ref, 'refs/tags/v') | |
uses: usethesource/releases-maven-action@v1 | |
with: | |
maven-username: ${{ secrets.RELEASE_MAVEN_USERNAME }} | |
maven-password: ${{ secrets.RELEASE_MAVEN_PASSWORD }} | |
maven-local-port: ${{ secrets.RELEASE_MAVEN_LOCAL_PORT }} | |
ssh-hostname: ${{ secrets.RELEASE_SSH_SERVER }} | |
ssh-known-host: ${{ secrets.RELEASE_SSH_KNOWN_HOSTS }} | |
ssh-username: ${{ secrets.RELEASE_SSH_USERNAME }} | |
ssh-private-key: ${{ secrets.RELEASE_SSH_PRIVATE_KEY }} |