Skip to content

Update CI to use SBT action #516

Update CI to use SBT action

Update CI to use SBT action #516

Workflow file for this run

name: CI
on:
pull_request:
branches: ['**']
push:
branches: ['**']
tags: [v*]
# release:
# types: [published]
jobs:
build:
name: Build and Test
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'sbt/sbt-jni'
strategy:
matrix:
os: [macos-latest, ubuntu-latest]
java: [11, 17, 21]
distribution: [temurin]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: coursier/cache-action@v6
- uses: actions/setup-java@v4
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
- name: Install sbt
uses: sbt/setup-sbt@v1
- run: python3 -m pip install --break-system-packages meson ninja
if: ${{ matrix.os == 'macos-latest' }}
- run: python3 -m pip install meson ninja
if: ${{ matrix.os == 'ubuntu-latest' }}
- name: Check formatting
run: sbt scalafmtCheckAll
- name: Build project
run: sbt test-plugin
publish:
name: Publish Artifacts
needs: [build]
if: github.event_name != 'pull_request' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
strategy:
matrix:
os: [ubuntu-latest]
java: [11]
distribution: [temurin]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: coursier/cache-action@v6
- uses: actions/setup-java@v4
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}
- name: Install sbt
uses: sbt/setup-sbt@v1
- name: Release
run: sbt ci-release
env:
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }}
PGP_SECRET: ${{ secrets.PGP_SECRET }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
if: ${{ env.SONATYPE_PASSWORD != '' && env.SONATYPE_USERNAME != '' }}