Build linux sample with musl
- Change sample build to use musl on linux - Optionally remove version from jar so that e2e tests don't need to use version in path. - Add better matrix to e2e so that we're able to build on one OS and then test with others. - Fixes #576
This commit is contained in:
63
.github/workflows/e2e.yml
vendored
63
.github/workflows/e2e.yml
vendored
@@ -6,42 +6,40 @@ on:
|
||||
- cron: '0 0 * * 1,3,5'
|
||||
|
||||
jobs:
|
||||
e2e:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- nickname: win
|
||||
os: windows-latest
|
||||
os: windows-2022
|
||||
graal: 22.3.0
|
||||
musl: false
|
||||
- nickname: macos
|
||||
os: macos-latest
|
||||
os: macos-12
|
||||
graal: 22.3.0
|
||||
musl: false
|
||||
- nickname: linux
|
||||
os: ubuntu-latest
|
||||
os: ubuntu-22.04
|
||||
graal: 22.3.0
|
||||
name: E2E ${{ matrix.nickname }}
|
||||
musl: true
|
||||
name: Compile ${{ matrix.nickname }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: adopt
|
||||
java-version: 17
|
||||
cache: gradle
|
||||
- uses: graalvm/setup-graalvm@v1
|
||||
with:
|
||||
version: ${{ matrix.graal }}
|
||||
java-version: 17
|
||||
components: native-image
|
||||
set-java-home: false
|
||||
native-image-musl: ${{ matrix.musl }}
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
- run: |
|
||||
./gradlew clean build nativeCompile
|
||||
- uses: actions/upload-artifact@v2
|
||||
./gradlew clean build nativeCompile -PspringShellSampleMusl=${{ matrix.musl }} -PspringShellSampleE2E=true
|
||||
- uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: spring-shell-samples-${{ matrix.nickname }}
|
||||
retention-days: 1
|
||||
@@ -49,11 +47,50 @@ jobs:
|
||||
spring-shell-samples/build/libs/*.jar
|
||||
spring-shell-samples/build/native/nativeCompile/spring-shell-samples
|
||||
spring-shell-samples/build/native/nativeCompile/spring-shell-samples.exe
|
||||
e2e:
|
||||
runs-on: ${{ matrix.os }}
|
||||
needs: build
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-2022
|
||||
nickname: win
|
||||
# - os: windows-2019
|
||||
# nickname: win
|
||||
- os: macos-12
|
||||
nickname: macos
|
||||
- os: macos-11
|
||||
nickname: macos
|
||||
- os: ubuntu-22.04
|
||||
nickname: linux
|
||||
- os: ubuntu-20.04
|
||||
nickname: linux
|
||||
name: E2E ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: adopt
|
||||
java-version: 17
|
||||
cache: gradle
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: compile e2e module
|
||||
working-directory: e2e/spring-shell-e2e
|
||||
run: |
|
||||
npm install
|
||||
npm run build
|
||||
- uses: actions/download-artifact@v3
|
||||
with:
|
||||
name: spring-shell-samples-${{ matrix.nickname }}
|
||||
path: spring-shell-samples/build
|
||||
- name: fix artifacts
|
||||
if: runner.os != 'Windows'
|
||||
shell: bash
|
||||
run: |
|
||||
chmod +x spring-shell-samples/build/native/nativeCompile/spring-shell-samples
|
||||
- name: run e2e tests
|
||||
working-directory: e2e/spring-shell-e2e-tests
|
||||
run: |
|
||||
|
||||
19
.github/workflows/manual.yml
vendored
19
.github/workflows/manual.yml
vendored
@@ -13,12 +13,15 @@ jobs:
|
||||
- nickname: win
|
||||
os: windows-latest
|
||||
graal: 22.3.0
|
||||
musl: false
|
||||
- nickname: macos
|
||||
os: macos-latest
|
||||
graal: 22.3.0
|
||||
musl: false
|
||||
- nickname: linux
|
||||
os: ubuntu-latest
|
||||
graal: 22.3.0
|
||||
musl: true
|
||||
name: Build ${{ matrix.nickname }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -27,21 +30,15 @@ jobs:
|
||||
version: ${{ matrix.graal }}
|
||||
java-version: 17
|
||||
components: native-image
|
||||
set-java-home: true
|
||||
native-image-musl: ${{ matrix.musl }}
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
- run: |
|
||||
./mvnw clean package -Pnativex
|
||||
./gradlew build nativeCompile -PspringShellSampleMusl=${{ matrix.musl }}
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: spring-shell-samples-${{ matrix.nickname }}
|
||||
retention-days: 1
|
||||
path: |
|
||||
spring-shell-samples/target/*.jar
|
||||
spring-shell-samples/target/spring-shell-samples
|
||||
spring-shell-samples/target/spring-shell-samples.exe
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: surefire-reports-${{ matrix.nickname }}
|
||||
retention-days: 1
|
||||
path: |
|
||||
*/target/surefire-reports/*
|
||||
spring-shell-samples/build/libs/*.jar
|
||||
spring-shell-samples/build/native/nativeCompile/spring-shell-samples
|
||||
spring-shell-samples/build/native/nativeCompile/spring-shell-samples.exe
|
||||
|
||||
Reference in New Issue
Block a user