Merge pull request #813 from usommerl/update/scalafmt-core-3.11.0 #2066
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: ci | |
| on: [push, pull_request] | |
| jobs: | |
| ci: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| cache: sbt | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Run tests | |
| run: sbt coverage test coverageReport | |
| - name: Upload coverage reports | |
| uses: codecov/codecov-action@v6 | |
| with: | |
| fail_ci_if_error: true | |
| verbose: true | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| create-github-release-draft: | |
| needs: [ci] | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| - name: Create GitHub release draft | |
| uses: release-drafter/release-drafter@v7 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| version: ${{ github.ref }} | |
| build-docker-images: | |
| needs: [ci] | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6.0.2 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| cache: sbt | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Login to GitHub Container Registry | |
| uses: docker/login-action@v4.1.0 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.repository_owner }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Create and publish a docker image with a UPX compressed executable | |
| run: export UPX_COMPRESSION='--best'; sbt ';docker;dockerPush' | |
| - name: Create and publish a docker image without compression | |
| run: sbt ';docker;dockerPush' | |
| - name: Remove image with UPX compressed executable | |
| run: docker rmi $(docker images -q 'ghcr.io/usommerl/graalnative4s*upx*') | |
| - name: Tag remaining image for Google Container Registry | |
| run: | | |
| export IMAGE_GHCR=$(docker images ghcr.io/usommerl/graalnative4s --format "{{.Repository}}:{{.Tag}}") | |
| export IMAGE_GCR=$(echo $IMAGE_GHCR | sed 's/ghcr.io\/usommerl/eu.gcr.io\/usommerl-02/') | |
| docker tag $IMAGE_GHCR $IMAGE_GCR | |
| echo "image_gcr=$IMAGE_GCR" >> $GITHUB_ENV | |
| - name: Login to Google Artifact Registry | |
| uses: docker/login-action@v4.1.0 | |
| with: | |
| registry: eu.gcr.io | |
| username: _json_key | |
| password: ${{ secrets.GCP_SA_KEY_JSON }} | |
| - name: Push image to Google Artifact Registry | |
| run: docker push ${{ env.image_gcr }} |