Skip to content

Bump org.codehaus.groovy:groovy-all from 2.4.12 to 2.4.21 #373

Bump org.codehaus.groovy:groovy-all from 2.4.12 to 2.4.21

Bump org.codehaus.groovy:groovy-all from 2.4.12 to 2.4.21 #373

Workflow file for this run

name: Run tests for posmulten
on:
push:
jobs:
compilation_and_unit_tests:
runs-on: ubuntu-latest
name: "Compilation and unit tests"
steps:
- name: Git checkout
uses: actions/checkout@v2
# Install JDKs and maven toolchain
- uses: actions/setup-java@v3
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- name: Set up JDK 1.8
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: cactuslab/maven-toolchains-xml-action@v1
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Build with Maven
run: ./mvnw clean install -DskipTests --quiet && ./mvnw test
# Running tests for a different locale https://github.com/starnowski/posmulten/issues/270
- name: Running tests with different locale
run: |
echo "Setting locale to de_DE.UTF-8"
sudo locale-gen de_DE.UTF-8
sudo update-locale LANG=de_DE.UTF-8
echo "Printing date for test"
date
./mvnw test
env:
LANG: "de_DE.UTF-8"
compilation_and_unit_tests_java_11:
runs-on: ubuntu-latest
name: "Compilation and unit tests for java 11"
steps:
- name: Git checkout
uses: actions/checkout@v2
# Install JDKs and maven toolchain
- name: Set up JDK 1.8
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: actions/setup-java@v3
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- uses: cactuslab/maven-toolchains-xml-action@v1
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Build with Maven
run: ./mvnw clean install -DskipTests --quiet && ./mvnw -pl :configuration-yaml-jakarta-interpreter -P jdk11 test
# Running tests for a different locale https://github.com/starnowski/posmulten/issues/270
- name: Running tests with different locale
run: |
echo "Setting locale to de_DE.UTF-8"
sudo locale-gen de_DE.UTF-8
sudo update-locale LANG=de_DE.UTF-8
echo "Printing date for test"
date
./mvnw -pl :configuration-yaml-jakarta-interpreter -P jdk11 test
env:
LANG: "de_DE.UTF-8"
database_tests:
runs-on: ubuntu-latest
name: "Database creation tests for multiple postgres versions 9.6, 10, 11, 12, 13"
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Install bats
run: .travis/bats/bats-core-installation.sh "$GITHUB_WORKSPACE/.travis/bats"
- name: Run bats tests
run: export PATH="$GITHUB_WORKSPACE/.travis/bats/bats-core/bin:$PATH" && bats/run_bats_test_for_all_db_version.sh
testing_configuration_jar:
runs-on: ubuntu-latest
name: "Testing configuration jar"
steps:
- name: Git checkout
uses: actions/checkout@v2
- name: Install bats
run: .travis/bats/bats-core-installation.sh "$GITHUB_WORKSPACE/.travis/bats"
- name: Install other libs
run: sudo apt-get update && sudo apt-get -y install libxml2-utils
# Install JDKs and maven toolchain
- uses: actions/setup-java@v3
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- name: Set up JDK 1.8
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: cactuslab/maven-toolchains-xml-action@v1
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Run bats tests
run: ./mvnw -DskipTests --quiet clean install && export PATH="$GITHUB_WORKSPACE/.travis/bats/bats-core/bin:$PATH" && bats -tr bats/configuration-jar
integraion_tests:
needs: [compilation_and_unit_tests, compilation_and_unit_tests_java_11, database_tests, testing_configuration_jar]
runs-on: ubuntu-latest
name: "Integration and functional tests in postgresql-core module"
services:
postgres:
image: postgres:9.6
env:
POSTGRES_DB: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_HOST: localhost
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Git checkout
uses: actions/checkout@v2
# Install JDKs and maven toolchain
- uses: actions/setup-java@v3
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- name: Set up JDK 1.8
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: cactuslab/maven-toolchains-xml-action@v1
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Install library for postgres
run: sudo apt-get -y install libpq-dev postgresql-client
- name: Create database
run: export PGPASSWORD=postgres && psql -f 'db_scripts/prepare_postgresql-core_db.sql' -U postgres -h 127.0.0.1
- name: Run tests
run: ./mvnw -DskipTests --quiet clean install && ./mvnw -pl :postgresql-core -P !unit-tests,integration-tests test && ./mvnw -pl :postgresql-core-functional-tests,:configuration-yaml-interpreter-functional-tests,:configuration-yaml-jakarta-interpreter-functional-tests -P !unit-tests,functional-tests test
configuration_e2e_tests:
needs: [compilation_and_unit_tests, compilation_and_unit_tests_java_11, database_tests, testing_configuration_jar]
runs-on: ubuntu-latest
name: "E2E smoke tests for configuration jar"
services:
postgres:
image: postgres:9.6
env:
POSTGRES_DB: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_HOST: localhost
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Git checkout
uses: actions/checkout@v2
# Install JDKs and maven toolchain
- uses: actions/setup-java@v3
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- name: Set up JDK 1.8
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: cactuslab/maven-toolchains-xml-action@v1
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Install bats
run: .travis/bats/bats-core-installation.sh "$GITHUB_WORKSPACE/.travis/bats"
- name: Install library for postgres
run: sudo apt-get -y install libpq-dev postgresql-client
- name: Create database
run: export PGPASSWORD=postgres && psql -f 'db_scripts/prepare_postgresql-core_db.sql' -U postgres -h 127.0.0.1
- name: Run tests
run: ./mvnw -DskipTests --quiet clean install && export PATH="$GITHUB_WORKSPACE/.travis/bats/bats-core/bin:$PATH" && bats -tr bats/configuration-integration
documentation_tests:
needs: [compilation_and_unit_tests, compilation_and_unit_tests_java_11, database_tests, testing_configuration_jar]
runs-on: ubuntu-latest
name: "Tests for configuration jar documentations"
steps:
- name: Git checkout
uses: actions/checkout@v2
# Install JDKs and maven toolchain
- uses: actions/setup-java@v3
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- name: Set up JDK 1.8
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: cactuslab/maven-toolchains-xml-action@v1
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Install bats
run: .travis/bats/bats-core-installation.sh "$GITHUB_WORKSPACE/.travis/bats"
- name: Use Node.js 14.x
uses: actions/setup-node@v1
with:
node-version: 14.x
- run: npm install
working-directory: ./configuration-parent/configuration-yaml-interpreter-readme-converter
env:
CI: true
- name: Run tests
run: ./mvnw -DskipTests --quiet clean install && export PATH="$GITHUB_WORKSPACE/.travis/bats/bats-core/bin:$PATH" && bats -tr bats/configuration-documentation
testing_swing_app:
needs: [compilation_and_unit_tests, compilation_and_unit_tests_java_11, database_tests, testing_configuration_jar]
runs-on: ubuntu-latest
name: "Testing Swing Application"
steps:
- name: Git checkout
uses: actions/checkout@v2
# Install JDKs and maven toolchain
- uses: actions/setup-java@v3
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- name: Set up JDK 1.8
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: cactuslab/maven-toolchains-xml-action@v1
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Install tightvncserver
run: sudo apt-get update && sudo apt install tightvncserver
- name: Install openbox
run: sudo apt install openbox
- name: Copy xstartup
run: mkdir $HOME/.vnc && cp ./swing/xstartup $HOME/.vnc/xstartup && chmod +x $HOME/.vnc/xstartup
- name: Setting password for tightvncserver
run: ./swing/setpassword.sh
- name: Run Swing tests
id: swingTest1
continue-on-error: true
run: ./mvnw -DskipTests --quiet clean install && ./swing/execute-on-vnc.sh ./mvnw -pl :openwebstart '-DxvfbRunningTests=true' -P !unit-tests,swing-tests test
#https://www.thisdot.co/blog/how-to-retry-failed-steps-in-github-action-workflows/
# https://stackoverflow.com/questions/54443705/change-default-screen-resolution-on-headless-ubuntu
- name: Run Swing tests (Second time)
id: swingTest2
if: steps.swingTest1.outcome == 'failure'
run: ./mvnw -DskipTests --quiet clean install && ./swing/execute-on-vnc.sh ./mvnw -pl :openwebstart '-DxvfbRunningTests=true' -P !unit-tests,swing-tests test
compatibility_tests:
needs: [configuration_e2e_tests, integraion_tests, documentation_tests, testing_swing_app]
runs-on: ubuntu-latest
name: "Running integration and functional tests that checks if code is compatible with postgres versions 10, 11, 12, 13"
steps:
- name: Git checkout
uses: actions/checkout@v2
# Install JDKs and maven toolchain
- uses: actions/setup-java@v3
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- name: Set up JDK 1.8
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: cactuslab/maven-toolchains-xml-action@v1
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Build with Maven
run: bats/run_integration_test_for_all_db_version.sh
publish:
name: "Publish to the Maven Central Repository"
needs: [compatibility_tests]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
if: startsWith(github.ref, 'refs/tags/v')
# Install JDKs and maven toolchain
- uses: actions/setup-java@v3
if: startsWith(github.ref, 'refs/tags/v')
name: Set up JDK 11
id: setupJava11
with:
distribution: 'zulu' # See 'Supported distributions' for available options
java-version: '11'
- name: Set up JDK 1.8
if: startsWith(github.ref, 'refs/tags/v')
id: setupJava8
uses: actions/setup-java@v1
with:
java-version: 1.8
- uses: cactuslab/maven-toolchains-xml-action@v1
if: startsWith(github.ref, 'refs/tags/v')
with:
toolchains: |
[
{"jdkVersion": "8", "jdkHome": "${{steps.setupJava8.outputs.path}}"},
{"jdkVersion": "11", "jdkHome": "${{steps.setupJava11.outputs.path}}"}
]
- name: Publish to the Maven Central Repository
if: startsWith(github.ref, 'refs/tags/v')
run: deploy/release.sh
env:
MAVEN_USERNAME: '${{ secrets.POSMULTEN_MAVEN_USERNAME }}'
MAVEN_PASSWORD: '${{ secrets.POSMULTEN_MAVEN_PASSWORD }}'
ENCRYPTION_PASSWORD: '${{ secrets.POSMULTEN_ENCRYPTION_PASSWORD }}'
GPG_KEYNAME: '${{ secrets.POSMULTEN_GPG_KEYNAME }}'
GPG_PASSPHRASE: '${{ secrets.POSMULTEN_GPG_PASSPHRASE }}'