add functionality to convert windows paths (all shapes and sizes) to loc
values
#1416
Workflow file for this run
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-linux: | |
if: ${{ !(github.ref == 'refs/heads/main' && contains(github.event.head_commit.message, '[maven-release-plugin]')) }} | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Run Tests | |
run: mvn -B -Drascal.compile.skip -Drascal.tutor.skip -Drascal.test.memory=14 test | |
- uses: codecov/codecov-action@v3 | |
continue-on-error: true # sometimes this one fails, that shouldn't stop a build | |
with: | |
token: e8b4481a-d178-4148-a4ff-502906390512 | |
- name: Publish Test Report on github action | |
if: ${{ always() && github.event_name != 'pull_request' }} # to bad this doesn't work nicely with external pull requests | |
continue-on-error: true # sometimes this one fails, that shouldn't stop a build | |
uses: scacap/action-surefire-report@v1 | |
with: | |
check_name: "Test Report - ${{ runner.os }}" | |
builds: | |
if: ${{ !(github.ref == 'refs/heads/main' && contains(github.event.head_commit.message, '[maven-release-plugin]')) }} | |
needs: [test-linux] | |
permissions: | |
contents: write | |
runs-on: buildjet-4vcpu-ubuntu-2204 | |
steps: | |
- uses: browser-actions/setup-chrome@latest | |
with: | |
chrome-version: 1047731 # v107 | |
- run: which chrome | |
- uses: nanasess/setup-chromedriver@v1 | |
with: | |
chromedriver-version: '107.0.5304.62' | |
- run: which chromedriver | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Compile & Bootstrap | |
run: mvn -B compile -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver -Dwebdriver.chrome.browser=`which chrome` | |
env: | |
MAVEN_OPTS: "-Xmx14G -Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" | |
- name: Test if release # just to be extra sure for a release | |
if: startsWith(github.ref, 'refs/tags/v') | |
run: mvn -Drascal.test.memory=10 -Drascal.compile.skip -Drascal.tutor.skip test | |
- name: Attach artifact | |
id: build-artifact | |
uses: SWAT-engineering/maven-full-artifacts-action@v1 | |
with: | |
maven-options: | | |
-Drascal.compile.skip | |
-Drascal.tutor.skip | |
-DskipTests | |
- name: Making sure test have succeeded in the parallel jobs | |
if: startsWith(github.ref, 'refs/tags/') | |
uses: yogeshlonkar/wait-for-jobs@v0 | |
with: | |
gh-token: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | | |
tests (macos-latest) | |
tests (windows-latest) | |
tests (buildjet-4vcpu-ubuntu-2204-arm) | |
ttl: 15 | |
- 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 }} | |
- 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 }} | |
tests: | |
if: ${{ !(github.ref == 'refs/heads/main' && contains(github.event.head_commit.message, '[maven-release-plugin]')) }} | |
needs: [test-linux] | |
runs-on: ${{matrix.os}} | |
strategy: | |
matrix: | |
os: [windows-latest, macos-latest, buildjet-4vcpu-ubuntu-2204-arm] | |
env: | |
MAVEN_OPTS: "-Xmx1G -Dhttps.protocols=TLSv1.2 -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
java-version: 11 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Run Tests | |
# single quotes to help windows deal with argument splitting | |
run: mvn -B '-Drascal.compile.skip' '-Drascal.tutor.skip' '-Drascal.test.memory=3' test | |
- uses: codecov/codecov-action@v3 | |
continue-on-error: true # sometimes this one fails, that shouldn't stop a build | |
with: | |
token: e8b4481a-d178-4148-a4ff-502906390512 | |
- name: Publish Test Report on github action | |
if: ${{ always() && github.event_name != 'pull_request' }} # to bad this doesn't work nicely with external pull requests | |
continue-on-error: true # sometimes this one fails, that shouldn't stop a build | |
uses: scacap/action-surefire-report@v1 | |
with: | |
check_name: "Test Report - ${{ runner.os }}" | |