name: build on: [push, pull_request] jobs: build: runs-on: ubuntu-latest timeout-minutes: 30 strategy: matrix: java: [17, 21] steps: - uses: actions/checkout@v4 - name: Cache uses: actions/cache@v4 env: cache-name: cache-sbt-libs with: path: | ~/.ivy2/cache ~/.sbt ~/.cache/coursier/v1 key: build-${{ env.cache-name }}-${{ hashFiles('build.sbt') }} - name: Set up JDK uses: actions/setup-java@v4 with: java-version: ${{ matrix.java }} distribution: adopt - name: Run tests run: sbt scalafmtSbtCheck scalafmtCheckAll test - name: Scala 3 run: sbt '++ 3.x' update # TODO - name: Build executable run: sbt executable - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: gitbucket-java${{ matrix.java }}-${{ github.sha }} path: ./target/executable/gitbucket.*