Skip to content

added optional storage of constructor names and datatype names while serializing to JSON. Wired this through the different webservers as well #1979

added optional storage of constructor names and datatype names while serializing to JSON. Wired this through the different webservers as well

added optional storage of constructor names and datatype names while serializing to JSON. Wired this through the different webservers as well #1979

Workflow file for this run

name: Build and Deploy
on:
push:
branches:
- main
tags:
- 'v[0-9]+.*'
pull_request:
branches:
- main
- 'feat/*'
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@v4
- uses: actions/setup-java@v4
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@v4
continue-on-error: true # sometimes this one fails, that shouldn't stop a build
with:
fail_ci_if_error: false
verbose: true
token: ${{ secrets.CODECOV_TOKEN }}
- 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@v2
with:
chromedriver-version: '107.0.5304.62'
- run: which chromedriver
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
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@v2
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@v4
- uses: actions/setup-java@v4
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@v4
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 }}"