Skip to content

Add generic contract for select functionality #117

Add generic contract for select functionality

Add generic contract for select functionality #117

Workflow file for this run

name: CI
on:
push:
branches:
- master
- "[0-9]+"
- "[0-9]+.[0-9]+"
workflow_dispatch:
pull_request:
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Prepare
run: sudo mkdir -m 777 /var/log/scalar
- name: Lint Dockerfile
run: |
./gradlew \
client:dockerfileLint \
ledger:dockerfileLint \
- name: Run unit tests
run: ./gradlew check
- name: Package artifacts
if: always()
run: |
rm -rf artifacts
mkdir artifacts
for x in ./*/build/reports/tests; do cp -a --parents $x ./artifacts/${x%%/*}; done
zip -r artifacts.zip artifacts
- uses: actions/upload-artifact@v4
if: always()
with:
name: artifacts
path: artifacts.zip
integration-test-with-mysql:
name: Integration test with Consensus Commit transaction manager on MySQL
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.1
env:
MYSQL_ROOT_PASSWORD: mysql
ports:
- 3306:3306
steps:
- uses: actions/checkout@v4
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build
run: |
./gradlew assemble
./gradlew testJar
# due to a gradle bug we must run the integration test separately
- name: Run integration tests
run: |
cd ledger
java -cp "build/test-libs/*:build/libs/*:build/classes/java/integrationTest" org.junit.platform.console.ConsoleLauncher execute -c=com.scalar.dl.ledger.service.LedgerServiceIntegrationTest
java -cp "build/test-libs/*:build/libs/*:build/classes/java/integrationTest" -Dscalardb.storage=jdbc -Dscalardb.contact_points=jdbc:mysql://localhost/ -Dscalardb.username=root -Dscalardb.password=mysql org.junit.platform.console.ConsoleLauncher execute -c=com.scalar.dl.ledger.service.LedgerServiceEndToEndTest
integration-test-with-mysql-jdbc-transaction:
name: Integration test with JDBC transaction manager on MySQL
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.1
env:
MYSQL_ROOT_PASSWORD: mysql
ports:
- 3306:3306
steps:
- uses: actions/checkout@v4
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Build
run: |
./gradlew assemble
./gradlew testJar
# due to a gradle bug we must run the integration test separately
- name: Run integration tests
run: |
cd ledger
java -cp "build/test-libs/*:build/libs/*:build/classes/java/integrationTest" -Dscalardb.storage=jdbc -Dscalardb.contact_points=jdbc:mysql://localhost/ -Dscalardb.username=root -Dscalardb.password=mysql -Dscalardb.transaction_manager=jdbc org.junit.platform.console.ConsoleLauncher execute -c=com.scalar.dl.ledger.service.LedgerServiceEndToEndTest
integration-test-for-generic-contracts:
name: Integration test for generic contracts
runs-on: ubuntu-latest
services:
mysql:
image: mysql:8.1
env:
MYSQL_ROOT_PASSWORD: mysql
ports:
- 3306:3306
steps:
- uses: actions/checkout@v4
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Run integration tests
run: ./gradlew :generic-contracts:integrationTest
- name: Upload Gradle test reports
if: always()
uses: actions/upload-artifact@v4
with:
name: integration_test_reports_for_generic_contracts
path: generic-contracts/build/reports/tests/integrationTest
permission-test:
name: Permission test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 1.8
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '8'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: Prepare
run: sudo mkdir -m 777 /var/log/scalar
- name: Build
run: |
./gradlew assemble
./gradlew testJar
# due to a gradle bug we must run the permission test separately
- name: Run permission tests
run: |
cd ledger
java -cp "build/test-libs/*:build/libs/*:build/classes/java/permissionTest" org.junit.platform.console.ConsoleLauncher execute -c=com.scalar.dl.ledger.service.LedgerServicePermissionTest