mirror of https://github.com/sbt/sbt.git
93 lines
3.1 KiB
YAML
93 lines
3.1 KiB
YAML
name: Client Test
|
|
on:
|
|
pull_request:
|
|
push:
|
|
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
java: 8
|
|
distribution: zulu
|
|
- os: macos-latest
|
|
java: 17
|
|
distribution: temurin
|
|
- os: windows-latest
|
|
java: 8
|
|
distribution: zulu
|
|
runs-on: ${{ matrix.os }}
|
|
env:
|
|
JAVA_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8
|
|
JVM_OPTS: -Xms800M -Xmx2G -Xss6M -XX:ReservedCodeCacheSize=128M -server -Dsbt.io.virtual=false -Dfile.encoding=UTF-8
|
|
SBT_ETC_FILE: $HOME/etc/sbt/sbtopts
|
|
TEST_SBT_VER: 1.11.4
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Setup JDK
|
|
uses: actions/setup-java@v5
|
|
with:
|
|
distribution: "zulu"
|
|
java-version: "8"
|
|
cache: sbt
|
|
- uses: sbt/setup-sbt@v1
|
|
- name: Set up Python 3.12
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: 3.12
|
|
- name: Setup Windows C++ toolchain
|
|
uses: ilammy/msvc-dev-cmd@v1
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
- name: Client test (Linux)
|
|
if: ${{ matrix.os == 'ubuntu-latest' }}
|
|
shell: bash
|
|
run: |
|
|
# test building sbtn on Linux
|
|
sbt "-Dsbt.io.virtual=false" nativeImage
|
|
# smoke test native Image
|
|
./client/target/bin/sbtn --sbt-script=$(pwd)/sbt about
|
|
./client/target/bin/sbtn --sbt-script=$(pwd)/sbt shutdown
|
|
# test launcher script
|
|
echo build using JDK 8 test using JDK 8 and JDK 11
|
|
cd launcher-package
|
|
sbt -Dsbt.build.version=$TEST_SBT_VER rpm:packageBin debian:packageBin
|
|
sbt -Dsbt.build.version=$TEST_SBT_VER integrationTest/test
|
|
cd citest && ./test.sh
|
|
$HOME/bin/jabba install $JDK11 && exec $HOME/bin/jabba which --home $JDK11
|
|
java -Xmx32m -version
|
|
./test.sh
|
|
- name: Client test (macOS)
|
|
if: ${{ matrix.os == 'macos-latest' }}
|
|
shell: bash
|
|
run: |
|
|
# test building sbtn on macOS
|
|
./sbt "-Dsbt.io.virtual=false" nativeImage
|
|
# test launcher script
|
|
cd launcher-package
|
|
bin/coursier resolve
|
|
../sbt -Dsbt.build.version=$TEST_SBT_VER integrationTest/test
|
|
# This fails due to the JLine issue
|
|
# cd citest && ./test.sh
|
|
- name: Client test (Windows)
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
shell: bash
|
|
run: |
|
|
# test building sbtn on Windows
|
|
sbt "-Dsbt.io.virtual=false" nativeImage
|
|
# smoke test native Image
|
|
./client/target/bin/sbtn --sbt-script=$(pwd)/launcher-package/src/universal/bin/sbt.bat about
|
|
./client/target/bin/sbtn --sbt-script=$(pwd)/launcher-package/src/universal/bin/sbt.bat shutdown
|
|
# test launcher script
|
|
echo build using JDK 8, test using JDK 8, on Windows
|
|
cd launcher-package
|
|
bin/coursier.bat resolve
|
|
sbt -Dsbt.build.version=$TEST_SBT_VER integrationTest/test
|
|
cd citest
|
|
./test.bat
|
|
test3/test3.bat
|