name: Juick on: pull_request: push: branches: [master] concurrency: group: ${{ github.head_ref || github.ref }} cancel-in-progress: true jobs: current: runs-on: self-hosted timeout-minutes: 15 strategy: matrix: profile: [default, postgres, mysql, sqlserver] services: postgres: image: postgres ports: - 5434:5432 env: POSTGRES_DB: juick POSTGRES_USER: juick POSTGRES_PASSWORD: secret options: --health-cmd="pg_isready -U juick" --health-interval=10s --health-retries=3 --health-timeout=5s --health-start-period=15s mysql: image: mariadb ports: - 3306:3306 env: MARIADB_DATABASE: juick MARIADB_ROOT_PASSWORD: secret options: --health-cmd="mysqladmin ping" --health-interval=10s --health-retries=3 --health-timeout=5s --health-start-period=15s sqlserver: image: mcr.microsoft.com/mssql/server:2022-latest ports: - 1433:1433 options: --health-cmd="/opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P \"$MSSQL_SA_PASSWORD\" -Q \"SELECT 1\"" --health-interval=10s --health-retries=3 --health-timeout=5s --health-start-period=15s env: ACCEPT_EULA: Y MSSQL_SA_PASSWORD: Passw00rd! MSSQL_PID: Express MSSQL_COLLATION: Cyrillic_General_100_CI_AS_WS_SC_UTF8 steps: - uses: actions/checkout@v2 - name: Set up JDK 17 uses: actions/setup-java@v3 with: distribution: "temurin" java-version: 17 cache: "maven" - name: Setup Node.JS 18 uses: actions/setup-node@v3 with: node-version: "18" cache: "npm" - run: npm install - name: Run tests run: ./mvnw -P${{ matrix.profile }} clean package - uses: mikepenz/action-junit-report@v2 with: report_paths: "**/target/surefire-reports/TEST-*.xml" github_token: ${{ secrets.GITHUB_TOKEN }} vnext: defaults: run: working-directory: vnext runs-on: self-hosted timeout-minutes: 15 steps: - uses: actions/checkout@v2 - name: Setup Node.JS 18 uses: actions/setup-node@v3 with: node-version: "18" cache: "npm" - run: npm ci - run: npm run vnext:test - run: npm run vnext:lint - run: npm run vnext:build - run: npm run vnext:build:ssr