name: build-test
on:
  push:
  pull_request:
  schedule:
    - cron: '0 15 * * *'
jobs:
  build-javacode:
    name: javacode
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
      - uses: actions/checkout@v4
      - name: Checkout submodules
        run: make git
      - uses: actions/setup-java@v4
        with:
          distribution: 'temurin'
          java-version: '19.0.0'
          architecture: x64
      - run: java -version
      - name: Make java-code
        run: make java-code
  build-pythoncode:
    name: pythoncode
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
      - uses: actions/checkout@v4
      - name: Checkout submodules
        run: make git
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
          architecture: 'x64'
      - run: python --version
      - run: python -m pip install --upgrade pip
      - run: python -m pip install -r requirements.txt
      - name: Make python-code
        run: make python-code
  build-csharpcode:
    name: csharpcode
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest, windows-latest]
    steps:
      - uses: actions/checkout@v4
      - name: Checkout submodules
        run: make git
      - uses: actions/setup-dotnet@v4
        with:
          dotnet-version: '6.0.x'
          include-prerelease: true
      - uses: actions/setup-python@v5
        with:
          python-version: '3.11'
          architecture: 'x64'
      - run: python --version
      - run: python -m pip install --upgrade pip
      - run: dotnet --version
      - name: Make csharp-code
        run: make csharp-code
