perf: Optimize source apply when empty or one elem seq (#32858) #337
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Check samples | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| concurrency: | |
| # Only run once for latest commit per ref and cancel other (previous) runs. | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| check-samples: | |
| name: Check Sample Projects | |
| runs-on: Akka-Default | |
| env: | |
| SCALA3_VERSION: 3.3.7 | |
| steps: | |
| - name: Checkout Global Scripts | |
| # This MUST be before the main checkout or else the dynver will not work | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: akka/github-actions-scripts | |
| path: scripts | |
| fetch-depth: 0 | |
| - name: Setup global resolver | |
| run: | | |
| chmod +x ./scripts/setup_global_resolver.sh | |
| ./scripts/setup_global_resolver.sh | |
| - name: Checkout | |
| # https://github.com/actions/checkout/releases | |
| # v4.1.1 | |
| uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
| with: | |
| fetch-depth: 0 | |
| - 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: Cache Coursier cache | |
| # https://github.com/coursier/cache-action/releases | |
| # v7.0.0 | |
| uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 | |
| - name: Set up JDK 17 | |
| # https://github.com/coursier/setup-action/releases | |
| # v1.3.5 | |
| uses: coursier/setup-action@7bde40eee928896f074dbb76d22dd772eed5c65f | |
| with: | |
| jvm: temurin:1.17 | |
| - name: Gather version | |
| # some cleanup of the sbt output to get the version sbt will use when publishing below | |
| run: |- | |
| sbt --no-colors "print akka-actor/version" | tail -n 1 | tr -d '\n' > ~/.version | |
| echo [$(cat ~/.version)] | |
| # useful for debugging: hexdump -c ~/.version | |
| - name: Publish artifacts locally | |
| run: |- | |
| sbt "+publishLocal; publishM2" | |
| - name: Test akka-quickstart-java | |
| run: |- | |
| cd samples/akka-quickstart-java | |
| mvn test -nsu -ntp -Dakka.version=`cat ~/.version` | |
| - name: Test akka-quickstart-scala | |
| run: |- | |
| cd samples/akka-quickstart-scala | |
| sbt test -Dakka.version=`cat ~/.version` | |
| sbt "clean; ++${SCALA3_VERSION}!; test" -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-cluster-java | |
| run: |- | |
| cd samples/akka-sample-cluster-java | |
| mvn test -nsu -ntp -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-cluster-scala | |
| run: |- | |
| cd samples/akka-sample-cluster-scala | |
| sbt test -Dakka.version=`cat ~/.version` | |
| sbt "clean; ++${SCALA3_VERSION}!; test" -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-distributed-data-java | |
| run: |- | |
| cd samples/akka-sample-distributed-data-java | |
| mvn test -nsu -ntp -Dakka.version=`cat ~/.version` | |
| sbt test multi-jvm:test -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-distributed-data-scala | |
| run: |- | |
| cd samples/akka-sample-distributed-data-scala | |
| sbt test multi-jvm:test -Dakka.version=`cat ~/.version` | |
| sbt "clean; ++${SCALA3_VERSION}!; test; multi-jvm:test" -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-fsm-java | |
| run: |- | |
| cd samples/akka-sample-fsm-java | |
| mvn test -nsu -ntp -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-fsm-scala | |
| run: |- | |
| cd samples/akka-sample-fsm-scala | |
| sbt test -Dakka.version=`cat ~/.version` | |
| sbt "clean; ++${SCALA3_VERSION}!; test" -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-sharding-java | |
| run: |- | |
| cd samples/akka-sample-sharding-java | |
| mvn test -nsu -ntp -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-sharding-scala | |
| run: |- | |
| cd samples/akka-sample-sharding-scala | |
| sbt test -Dakka.version=`cat ~/.version` | |
| sbt "clean; ++${SCALA3_VERSION}!; test" -Dakka.version=`cat ~/.version` | |
| - name: Test akka-sample-kafka-to-sharding-scala | |
| run: |- | |
| cd samples/akka-sample-kafka-to-sharding-scala | |
| sbt test -Dakka.version=`cat ~/.version` | |
| sbt "clean; ++${SCALA3_VERSION}!; test" -Dakka.version=`cat ~/.version` | |
| - name: Email on failure | |
| if: ${{ failure() }} | |
| uses: dawidd6/action-send-mail@6063705cefe50cb915fc53bb06d4049cae2953b2 | |
| with: | |
| server_address: smtp.gmail.com | |
| server_port: 465 | |
| secure: true | |
| username: ${{secrets.MAIL_USERNAME}} | |
| password: ${{secrets.MAIL_PASSWORD}} | |
| subject: "Failed: ${{ github.workflow }} / ${{ github.job }}" | |
| to: ${{secrets.MAIL_SEND_TO}} | |
| from: Akka CI | |
| body: | | |
| Job ${{ github.job }} in workflow ${{ github.workflow }} of ${{github.repository}} failed! | |
| https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} |