Skip to content

[PR109] Example repo update #276

[PR109] Example repo update

[PR109] Example repo update #276

Workflow file for this run

name: Build and test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-jvm:
# prevent from running on forks
if: github.repository_owner == 'restatedev'
runs-on: ubuntu-latest
strategy:
matrix:
jvm-version: [ 17 ]
steps:
- uses: actions/checkout@v3
- name: Use JVM ${{ matrix.jvm-version }}
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.jvm-version }}
# When adding a new example make sure it's listed here
- name: Test Java Gradle Template
uses: gradle/gradle-build-action@v2
with:
arguments: check
build-root-directory: templates/java-gradle
- name: Test java/food-ordering
uses: gradle/gradle-build-action@v2
with:
arguments: check
build-root-directory: end-to-end-applications/java/food-ordering/app
- name: Test java/patterns/sagas
uses: gradle/gradle-build-action@v2
with:
arguments: check
build-root-directory: patterns-use-cases/sagas/sagas-java
- name: Test java/tour-of-restate
uses: gradle/gradle-build-action@v2
with:
arguments: check
build-root-directory: tutorials/tour-of-restate-java
- name: Test Kotlin Template
uses: gradle/gradle-build-action@v2
with:
arguments: check
build-root-directory: templates/kotlin-gradle
- name: Build Scala Template
run: sbt -v +package
working-directory: templates/scala-sbt
build-ts:
# prevent from running on forks
if: github.repository_owner == 'restatedev'
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [19.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
registry-url: 'https://registry.npmjs.org'
# to avoid using workspaces, which couples the examples together and makes them harder
# to use independently, we list them here individually
# basics
- run: npm i --prefix basics/basics-typescript && npm --prefix basics/basics-typescript run build
# templates
- run: npm i --prefix templates/typescript && npm --prefix templates/typescript run build
# tutorials
- run: npm i --prefix tutorials/tour-of-restate-typescript && npm --prefix tutorials/tour-of-restate-typescript run build
# patterns
- run: npm i --prefix patterns-use-cases/async-signals-payment/async-signals-payment-typescript && npm --prefix patterns-use-cases/async-signals-payment/async-signals-payment-typescript run build
- run: npm i --prefix patterns-use-cases/durable-promises/durable-promises-typescript && npm --prefix patterns-use-cases/durable-promises/durable-promises-typescript run build
- run: npm i --prefix patterns-use-cases/payment-state-machine/payment-state-machine-typescript && npm --prefix patterns-use-cases/payment-state-machine/payment-state-machine-typescript run build
- run: npm i --prefix patterns-use-cases/sagas/sagas-typescript && npm --prefix patterns-use-cases/sagas/sagas-typescript run build
- run: npm i --prefix patterns-use-cases/state-machines/state-machines-typescript && npm --prefix patterns-use-cases/state-machines/state-machines-typescript run build
- run: npm i --prefix patterns-use-cases/ticket-reservation/ticket-reservation-typescript && npm --prefix patterns-use-cases/ticket-reservation/ticket-reservation-typescript run build
# e2e apps
- run: npm i --prefix end-to-end-applications/typescript/ai-image-workflows && npm --prefix end-to-end-applications/typescript/ai-image-workflows run build
- run: npm i --prefix end-to-end-applications/typescript/ecommerce-store/services && npm --prefix end-to-end-applications/typescript/ecommerce-store/services run proto && npm --prefix end-to-end-applications/typescript/ecommerce-store/services run build
- run: npm i --prefix end-to-end-applications/typescript/food-ordering/app && npm --prefix end-to-end-applications/typescript/food-ordering/app run build