Skip to content

Commit

Permalink
OF-2767: Merge database tests into main CI workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
Fishbowler committed Jan 2, 2024
1 parent 98b02d6 commit 5e8016e
Show file tree
Hide file tree
Showing 2 changed files with 149 additions and 180 deletions.
150 changes: 149 additions & 1 deletion .github/workflows/continuous-integration-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ jobs:
chmod +x ./runConnectivityIntegrationTests
- name: Run connectivity tests
run: ./runConnectivityIntegrationTests -d -l -i 127.0.0.1

smack:

name: Execute Smack-based CI tests
Expand Down Expand Up @@ -179,6 +178,155 @@ jobs:
- name: Run smack tests
run: ./runIntegrationTests -d -l -i 127.0.0.1

should-do-database-upgrade-tests:
name: Check if database upgrade tests should be run
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
check: ${{ steps.filter.outputs.database-relevant-files }}
steps:
- name: Checkout Openfire
uses: actions/checkout@v4
- name: Check for differences
uses: dorny/paths-filter@v2
id: filter
with:
filters: |
database-relevant-files:
- 'distribution/src/database/**'
- 'build/ci/**'
- '.github/workflows/continuous-integration-workflow.yml'
- 'xmppserver/pom.xml'
sqlserver:
name: Test SQL Server Upgrades
needs: [build, should-do-database-upgrade-tests]
runs-on: ubuntu-latest
if: ${{ needs.should-do-database-upgrade-tests.outputs.check == 'true' }}
steps:
- name: Checkout Openfire
uses: actions/checkout@v4
- name: Set up JDK 11 Zulu
uses: actions/setup-java@v4
with:
java-version: 11
distribution: zulu
cache: maven
- name: Set environment variables
run: |
echo "CONNECTION_STRING=jdbc:sqlserver://localhost:1433;databaseName=openfire;applicationName=Openfire" >> $GITHUB_ENV
echo "CONNECTION_DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver" >> $GITHUB_ENV
echo "CONNECTION_USERNAME=sa" >> $GITHUB_ENV
echo "CONNECTION_PASSWORD=SecurePa55w0rd" >> $GITHUB_ENV
OPENFIREVSN=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "OPENFIREVSN=$OPENFIREVSN" >> $GITHUB_ENV
echo "JAVA_HOME=$(echo $JAVA_HOME_11_X64)" >> $GITHUB_ENV
- name: Download old Openfire database script
run: |
mkdir olddb
curl https://raw.githubusercontent.com/igniterealtime/Openfire/v3.9.3/src/database/openfire_sqlserver.sql > $GITHUB_WORKSPACE/olddb/openfire_sqlserver.sql
- name: Start database server and install database
run: docker-compose -f ./build/ci/compose/mssql.yml up --detach
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build & run update tester
run: |
pushd ./build/ci/updater
./mvnw package
java -jar ./target/updaterunner-1.0.0-jar-with-dependencies.jar
postgres:
name: Test Postgres Upgrades
needs: [build, should-do-database-upgrade-tests]
runs-on: ubuntu-latest
if: ${{ needs.should-do-database-upgrade-tests.outputs.check == 'true' }}
steps:
- name: Checkout Openfire
uses: actions/checkout@v4
- name: Set up JDK 11 Zulu
uses: actions/setup-java@v4
with:
java-version: 11
distribution: zulu
cache: maven
- name: Set environment variables
run: |
echo "CONNECTION_STRING=jdbc:postgresql://localhost:5432/openfire" >> $GITHUB_ENV
echo "CONNECTION_DRIVER=org.postgresql.Driver" >> $GITHUB_ENV
echo "CONNECTION_USERNAME=openfire" >> $GITHUB_ENV
echo "CONNECTION_PASSWORD=SecurePa55w0rd" >> $GITHUB_ENV
OPENFIREVSN=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "OPENFIREVSN=$OPENFIREVSN" >> $GITHUB_ENV
echo "JAVA_HOME=$(echo $JAVA_HOME_11_X64)" >> $GITHUB_ENV
- name: Download old Openfire database script
run: |
mkdir olddb
curl https://raw.githubusercontent.com/igniterealtime/Openfire/v3.9.3/src/database/openfire_postgresql.sql > $GITHUB_WORKSPACE/olddb/openfire_postgresql.sql
- name: Start database server and install database
run: docker-compose -f ./build/ci/compose/postgresql.yml up --detach
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build & run update tester
run: |
pushd ./build/ci/updater
./mvnw package
java -jar ./target/updaterunner-1.0.0-jar-with-dependencies.jar
mysql:
name: Test MySQL Upgrades
needs: [build, should-do-database-upgrade-tests]
runs-on: ubuntu-latest
if: ${{ needs.should-do-database-upgrade-tests.outputs.check == 'true' }}
steps:
- name: Checkout Openfire
uses: actions/checkout@v4
- name: Set up JDK 11 Zulu
uses: actions/setup-java@v4
with:
java-version: 11
distribution: zulu
cache: maven
- name: Set environment variables
run: |
echo "CONNECTION_STRING=jdbc:mysql://localhost:3306/openfire?rewriteBatchedStatements=true&characterEncoding=UTF-8&characterSetResults=UTF-8&serverTimezone=UTC" >> $GITHUB_ENV
echo "CONNECTION_DRIVER=com.mysql.cj.jdbc.Driver" >> $GITHUB_ENV
echo "CONNECTION_USERNAME=root" >> $GITHUB_ENV
echo "CONNECTION_PASSWORD=SecurePa55w0rd" >> $GITHUB_ENV
OPENFIREVSN=$(./mvnw help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "OPENFIREVSN=$OPENFIREVSN" >> $GITHUB_ENV
echo "JAVA_HOME=$(echo $JAVA_HOME_11_X64)" >> $GITHUB_ENV
- name: Download old Openfire database script
run: |
mkdir olddb
curl https://raw.githubusercontent.com/igniterealtime/Openfire/v3.9.3/src/database/openfire_mysql.sql > $GITHUB_WORKSPACE/olddb/openfire_mysql.sql
- name: Start database server and install database
run: docker-compose -f ./build/ci/compose/mysql.yml up --detach
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Build & run update tester
run: |
pushd ./build/ci/updater
./mvnw package
java -jar ./target/updaterunner-1.0.0-jar-with-dependencies.jar
publish-maven:

name: Publish to Maven
Expand Down
179 changes: 0 additions & 179 deletions .github/workflows/database-upgrades.yml

This file was deleted.

0 comments on commit 5e8016e

Please sign in to comment.