Skip to content

Complete rename from typo to typr including Maven coordinates (dev.typr) #741

Complete rename from typo to typr including Maven coordinates (dev.typr)

Complete rename from typo to typr including Maven coordinates (dev.typr) #741

Workflow file for this run

name: Build
on:
push:
tags: [ 'v*' ]
branches: [ 'main' ]
pull_request:
branches: [ 'main' ]
jobs:
scalafmt:
timeout-minutes: 10
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Scalafmt Check
run: bleep fmt --check
tests:
timeout-minutes: 10
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
env:
PG_MAJOR: 16
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Start Postgres
run: docker compose up -d postgres
- name: Wait for Postgres
run: |
for i in {1..30}; do
if docker compose exec -T postgres pg_isready -U postgres; then
echo "Postgres is ready"
break
fi
echo "Waiting for Postgres... ($i/30)"
sleep 2
done
- name: Run general tests
run: bleep test tests
build-scala212:
runs-on: ubuntu-latest
timeout-minutes: 20
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Compile for 2.12
run: bleep compile typo@jvm212
build-postgres:
runs-on: ubuntu-latest
timeout-minutes: 25
if: "!contains(github.event.head_commit.message, 'ci skip')"
strategy:
fail-fast: false
matrix:
postgres-version: [12, 16]
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Start Postgres
env:
PG_MAJOR: ${{ matrix.postgres-version }}
run: docker compose up -d postgres
- name: Wait for Postgres
run: |
for i in {1..30}; do
if docker compose exec -T postgres pg_isready -U postgres; then
echo "Postgres is ready"
break
fi
echo "Waiting for Postgres... ($i/30)"
sleep 2
done
- name: Compile all Scala versions
run: |
bleep compile typo@jvm213
bleep compile typo@jvm3
- name: Run Scala 2.13 Postgres tests
env:
CI: true
run: |
bleep test typr-tester-anorm@jvm213
bleep test typr-tester-doobie@jvm213
bleep test typr-tester-zio-jdbc@jvm213
- name: Run Scala 3 Postgres tests
env:
CI: true
run: |
bleep test typr-tester-anorm@jvm3
bleep test typr-tester-doobie@jvm3
bleep test typr-tester-zio-jdbc@jvm3
bleep test typr-tester-typr-scala-new
bleep test typr-tester-typr-scala-old
- name: Run Java Postgres tests
env:
CI: true
run: bleep test typr-tester-typr-java
- name: Sourcegen
run: bleep sourcegen
- name: Run Kotlin Postgres tests
env:
CI: true
run: ./gradlew :typr-tester-typr-kotlin:test
build-mariadb:
runs-on: ubuntu-latest
timeout-minutes: 20
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Start MariaDB
run: docker compose up -d mariadb
- name: Wait for MariaDB
run: |
for i in {1..30}; do
if docker compose exec -T mariadb mariadb -u typr -ppassword -e "SELECT 1" typr 2>/dev/null; then
echo "MariaDB is ready"
break
fi
echo "Waiting for MariaDB... ($i/30)"
sleep 2
done
- name: Run MariaDB Scala tests
env:
CI: true
run: bleep test typr-tester-mariadb-scala
- name: Run MariaDB Java tests
env:
CI: true
run: bleep test typr-tester-mariadb-java
- name: Sourcegen
run: bleep sourcegen
- name: Run MariaDB Kotlin tests
env:
CI: true
run: ./gradlew :typr-tester-mariadb-kotlin:test
build-oracle:
runs-on: ubuntu-latest
timeout-minutes: 30
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Start Oracle and wait for healthy
run: |
docker compose up -d oracle
echo "Waiting for Oracle to be healthy (this may take several minutes)..."
docker compose up -d --wait oracle
- name: Run Oracle Scala tests
env:
CI: true
run: |
bleep test typr-tester-oracle-scala
bleep test typr-tester-oracle-scala-new
- name: Run Oracle Java tests
env:
CI: true
run: bleep test typr-tester-oracle-java
- name: Sourcegen
run: bleep sourcegen
- name: Run Oracle Kotlin tests
env:
CI: true
run: ./gradlew :typr-tester-oracle-kotlin:test
build-duckdb:
runs-on: ubuntu-latest
timeout-minutes: 20
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Run DuckDB Scala tests
env:
CI: true
run: bleep test typr-tester-duckdb-scala
- name: Run DuckDB Java tests
env:
CI: true
run: bleep test typr-tester-duckdb-java
- name: Sourcegen
run: bleep sourcegen
- name: Run DuckDB Kotlin tests
env:
CI: true
run: ./gradlew :typr-tester-duckdb-kotlin:test
build-sqlserver:
runs-on: ubuntu-latest
timeout-minutes: 25
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Start SQL Server and wait for healthy
run: |
docker compose up -d sqlserver
echo "Waiting for SQL Server to be healthy..."
docker compose up -d --wait sqlserver
- name: Run SQL Server Scala tests
env:
CI: true
run: bleep test typr-tester-sqlserver-scala
- name: Run SQL Server Java tests
env:
CI: true
run: bleep test typr-tester-sqlserver-java
- name: Sourcegen
run: bleep sourcegen
- name: Run SQL Server Kotlin tests
env:
CI: true
run: ./gradlew :typr-tester-sqlserver-kotlin:test
build-openapi:
runs-on: ubuntu-latest
timeout-minutes: 20
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Compile Scala OpenAPI testers
run: |
bleep compile openapi-test-scala-http4s
bleep compile openapi-test-scala-spring
- name: Compile Java OpenAPI testers
run: |
bleep compile openapi-test-java-jaxrs-client-jdk
bleep compile openapi-test-java-quarkus
bleep compile openapi-test-java-spring
- name: Sourcegen
run: bleep sourcegen
- name: Compile Kotlin OpenAPI testers (via gradle)
run: |
./gradlew :openapi-test-kotlin-server-jaxrs-client-jdk:compileKotlin
./gradlew :openapi-test-kotlin-server-spring-client-jdk:compileKotlin
./gradlew :openapi-test-kotlin-server-quarkus-reactive-client-jdk:compileKotlin
build-docs:
timeout-minutes: 20
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
env:
PG_MAJOR: 14
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- name: Start up Postgres
run: docker compose up -d postgres
- name: Wait for Postgres
run: |
for i in {1..30}; do
if docker compose exec -T postgres pg_isready -U postgres; then
echo "Postgres is ready"
break
fi
echo "Waiting for Postgres... ($i/30)"
sleep 2
done
- name: Build docs
run: bleep generate-docs
release:
timeout-minutes: 15
runs-on: ubuntu-latest
needs: [ scalafmt, tests, build-postgres, build-mariadb, build-oracle, build-duckdb, build-sqlserver ]
if: "startsWith(github.ref, 'refs/tags/v')"
steps:
- uses: actions/checkout@v4
- uses: bleep-build/[email protected]
- uses: coursier/cache-action@v6
with:
extraFiles: bleep.yaml
- id: get_version
uses: battila7/get-version-action@v2
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Release
run: bleep --dev publish
env:
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
- name: Create github release
uses: softprops/action-gh-release@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
name: "${{ steps.get_version.outputs.version-without-v }}"
prerelease: false
generate_release_notes: true
permissions:
contents: write