| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # license agreements; and to You under the Apache License, version 2.0: |
| # |
| # https://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # This file is part of the Apache Pekko project, which was derived from Akka. |
| # |
| |
| name: Basic checks |
| |
| on: |
| pull_request: |
| push: |
| branches: |
| - main |
| tags-ignore: [ v.* ] |
| |
| jobs: |
| check-code-style: |
| name: Check Code Style |
| runs-on: ubuntu-22.04 |
| steps: |
| - name: Checkout |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 |
| with: |
| # we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves |
| fetch-depth: 0 |
| fetch-tags: true |
| |
| - name: Checkout GitHub merge |
| if: github.event.pull_request |
| run: |- |
| git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch |
| git checkout scratch |
| |
| - name: Set up JDK 17 |
| uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 |
| with: |
| java-version: 17 |
| distribution: temurin |
| |
| - name: Install sbt |
| uses: sbt/setup-sbt@3afe9cf056c5d139bfc46579af1192d77a2f0821 # v1.4.0 |
| |
| - name: Cache Coursier cache |
| uses: coursier/cache-action@95e5b1029b6b86e7bac033ee44a0697d8a527d2d # v8.1.1 |
| |
| - name: Code style check and binary-compatibility check |
| run: sbt "checkCodeStyle; mimaReportBinaryIssues" |
| |
| check-code-compilation: |
| name: Check Code Compilation |
| runs-on: ubuntu-22.04 |
| steps: |
| - name: Checkout |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 |
| with: |
| fetch-depth: 0 |
| fetch-tags: true |
| |
| - name: Checkout GitHub merge |
| if: github.event.pull_request |
| run: |- |
| git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch |
| git checkout scratch |
| |
| - name: Set up JDK 17 |
| uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 |
| with: |
| java-version: 17 |
| distribution: temurin |
| |
| - name: Install sbt |
| uses: sbt/setup-sbt@3afe9cf056c5d139bfc46579af1192d77a2f0821 # v1.4.0 |
| |
| - name: Cache Coursier cache |
| uses: coursier/cache-action@95e5b1029b6b86e7bac033ee44a0697d8a527d2d # v8.1.1 |
| |
| - name: Cross Compile all code with fatal warnings |
| run: sbt "clean ; +Test/compile" |
| |
| check-docs: |
| name: Check Docs |
| runs-on: ubuntu-22.04 |
| steps: |
| - name: Checkout |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 |
| with: |
| fetch-depth: 0 |
| fetch-tags: true |
| |
| - name: Checkout GitHub merge |
| if: github.event.pull_request |
| run: |- |
| git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch |
| git checkout scratch |
| |
| - name: Set up JDK 17 |
| uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5.4.0 |
| with: |
| java-version: 17 |
| distribution: temurin |
| |
| - name: Install sbt |
| uses: sbt/setup-sbt@3afe9cf056c5d139bfc46579af1192d77a2f0821 # v1.4.0 |
| |
| - name: Cache Coursier cache |
| uses: coursier/cache-action@95e5b1029b6b86e7bac033ee44a0697d8a527d2d # v8.1.1 |
| |
| - name: Create all API docs for artifacts/website and all reference docs |
| run: sbt "unidoc; docs/paradox" |