diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c3f48063..9cd3b550 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -69,6 +69,3 @@ jobs: echo "PR #${PR_NUMBER}" java -version .github/workflows/sbt-build-all.sh ${{ matrix.scala.version }} ${{ matrix.scala.report }} - - - if: ${{ github.event_name == 'pull_request' && matrix.scala.report == 'report' }} - uses: codecov/codecov-action@v4 diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 00000000..0ef4ef2b --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,84 @@ +name: "Test Coverage" + +on: + push: + branches: + - 'main' + + pull_request: + branches: + - main + - 'effectie-1' + +env: + GH_SBT_OPTS: "-Xss64m -Xms1024m -XX:MaxMetaspaceSize=1G -Xmx4G -XX:MaxInlineLevel=18 -XX:+UnlockExperimentalVMOptions" + GH_JVM_OPTS: "-Xss64m -Xms1024m -XX:MaxMetaspaceSize=1G -Xmx4G -XX:MaxInlineLevel=18 -XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler" + +jobs: + + build: + runs-on: ubuntu-latest + + strategy: + matrix: + scala: + - { name: "Scala 2", version: "2.13.6", binary-version: "2.13", java-version: "11", java-distribution: "temurin", report: "report" } + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + java-version: ${{ matrix.scala.java-version }} + distribution: ${{ matrix.scala.java-distribution }} + + - name: Cache SBT + uses: actions/cache@v4 + with: + path: | + ~/.ivy2/cache + ~/.cache/coursier + ~/.sbt + key: ${{ runner.os }}-sbt-${{ matrix.scala.binary-version }}-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('**/build.properties') }} + restore-keys: | + ${{ runner.os }}-sbt-${{ matrix.scala.binary-version }}- + + - name: "[Codecov] Report ${{ matrix.scala.name }} ${{ matrix.scala.version }} - ${{ github.run_number }}" + if: ${{ matrix.scala.report == 'report' && github.event_name == 'push' }} + env: + CURRENT_BRANCH_NAME: ${{ github.ref }} + RUN_ID: ${{ github.run_id }} + RUN_NUMBER: ${{ github.run_number }} + JVM_OPTS: ${{ env.GH_JVM_OPTS }} + SBT_OPTS: ${{ env.GH_SBT_OPTS }} + run: | + echo "[BEFORE]CURRENT_BRANCH_NAME=${CURRENT_BRANCH_NAME}" + export CURRENT_BRANCH_NAME="${CURRENT_BRANCH_NAME#refs/heads/}" + echo " [AFTER]CURRENT_BRANCH_NAME=${CURRENT_BRANCH_NAME}" + echo "RUN_ID=${RUN_ID}" + echo "RUN_NUMBER=${RUN_NUMBER}" + echo "Push #${PUSH_NUMBER}" + java -version + .github/workflows/sbt-build-all.sh ${{ matrix.scala.version }} ${{ matrix.scala.report }} + + + - name: "[Codecov] Report ${{ matrix.scala.name }} ${{ matrix.scala.version }} - ${{ github.run_number }} - PR-#${{ github.event.pull_request.number }} - ${{ github.run_number }}" + if: ${{ matrix.scala.report == 'report' && github.event_name == 'pull_request' }} + env: + CURRENT_BRANCH_NAME: ${{ github.base_ref }} + RUN_ID: ${{ github.run_id }} + RUN_NUMBER: ${{ github.run_number }} + PR_NUMBER: ${{ github.event.pull_request.number }} + JVM_OPTS: ${{ env.GH_JVM_OPTS }} + SBT_OPTS: ${{ env.GH_SBT_OPTS }} + run: | + echo "Rull request to the '${CURRENT_BRANCH_NAME}' branch" + echo "RUN_ID=${RUN_ID}" + echo "RUN_NUMBER=${RUN_NUMBER}" + echo "PR #${PR_NUMBER}" + java -version + .github/workflows/sbt-build-all.sh ${{ matrix.scala.version }} ${{ matrix.scala.report }} + + - if: ${{ matrix.scala.report == 'report' }} + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5268d4d1..5c1370d9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -69,6 +69,7 @@ jobs: test_report: runs-on: ubuntu-latest + if: startsWith(github.ref, 'refs/tags/v') strategy: matrix: @@ -109,6 +110,8 @@ jobs: - if: ${{ matrix.scala.report == 'report' }} uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} gh-release: