Skip to content

#295 - Changing window location to fix Swing tests (-800, -200) comme… #228

#295 - Changing window location to fix Swing tests (-800, -200) comme…

#295 - Changing window location to fix Swing tests (-800, -200) comme… #228

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"
#
# 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, 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 -P !unit-tests,functional-tests test
#
# configuration_e2e_tests:
# needs: [compilation_and_unit_tests, 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, 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, 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: Run Swing tests
id: swingTest1
continue-on-error: true
run: ./mvnw -DskipTests --quiet clean install && xvfb-run --auto-servernum --server-args "-screen 0 1600x900x24" ./mvnw -pl :openwebstart -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 && xvfb-run --auto-servernum --server-args "-screen 0 1600x900x24" ./mvnw -pl :openwebstart -P !unit-tests,swing-tests test
- name: Cleanup xvfb pidx
uses: bcomnes/cleanup-xvfb@v1
# 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 }}'