- Bump node-pty from 0.11.0-beta19 to 1.0.0
- Bump xterm-headless from 4.18.0 to 5.5.0
- Rename xterm-headless to @xterm/headless as per https://www.npmjs.com/package/xterm-headless
- Unpin Python 3.11 in e2e test by reverting commit 8097f1eb91 because it's no longer necessary as explained in https://github.com/spring-projects/spring-shell/issues/909#issuecomment-2188962147
- Fixes https://github.com/spring-projects/spring-shell/issues/909
- Fixes https://github.com/spring-projects/spring-shell/issues/921
126 lines
4.0 KiB
YAML
126 lines
4.0 KiB
YAML
name: e2e
|
|
run-name: ${{ format('{0} ({1})', github.workflow, github.ref_name) }}
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- nickname: win
|
|
os: windows-2022
|
|
graal: latest
|
|
musl: false
|
|
- nickname: macos
|
|
os: macos-latest
|
|
graal: latest
|
|
musl: false
|
|
- nickname: linux
|
|
os: ubuntu-22.04
|
|
graal: latest
|
|
musl: true
|
|
name: Compile ${{ matrix.nickname }}
|
|
steps:
|
|
- name: macos info
|
|
if: runner.os == 'macOS'
|
|
shell: bash
|
|
run: |
|
|
sysctl machdep.cpu
|
|
- uses: actions/checkout@v3
|
|
- uses: graalvm/setup-graalvm@v1
|
|
with:
|
|
version: ${{ matrix.graal }}
|
|
java-version: 22
|
|
components: native-image
|
|
native-image-musl: ${{ matrix.musl }}
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
- uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '16'
|
|
- run: |
|
|
./gradlew clean build nativeCompile -PspringShellSampleMusl=${{ matrix.musl }} -PspringShellSampleNative=true -PspringShellSampleE2E=true
|
|
timeout-minutes: 30
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
name: spring-shell-samples-${{ matrix.nickname }}
|
|
retention-days: 1
|
|
path: |
|
|
spring-shell-samples/spring-shell-sample-commands/build/libs/*.jar
|
|
spring-shell-samples/spring-shell-sample-commands/build/native/nativeCompile/spring-shell-sample-commands
|
|
spring-shell-samples/spring-shell-sample-commands/build/native/nativeCompile/spring-shell-sample-commands.exe
|
|
spring-shell-samples/spring-shell-sample-e2e/build/libs/*.jar
|
|
spring-shell-samples/spring-shell-sample-e2e/build/native/nativeCompile/spring-shell-sample-e2e
|
|
spring-shell-samples/spring-shell-sample-e2e/build/native/nativeCompile/spring-shell-sample-e2e.exe
|
|
- name: Upload Build Logs
|
|
if: ${{ failure() }}
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: buildlogs-${{ matrix.nickname }}
|
|
path: |
|
|
*/build/reports
|
|
*/*/build/reports
|
|
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-14
|
|
nickname: macos
|
|
- os: macos-15
|
|
nickname: macos
|
|
- os: ubuntu-22.04
|
|
nickname: linux
|
|
- os: ubuntu-20.04
|
|
nickname: linux
|
|
name: E2E ${{ matrix.os }}
|
|
steps:
|
|
- name: macos info
|
|
if: runner.os == 'macOS'
|
|
shell: bash
|
|
run: |
|
|
sysctl machdep.cpu
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-java@v3
|
|
with:
|
|
distribution: adopt
|
|
java-version: 22
|
|
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
|
|
- name: fix artifacts
|
|
if: runner.os != 'Windows'
|
|
shell: bash
|
|
run: |
|
|
chmod +x spring-shell-samples/spring-shell-sample-commands/build/native/nativeCompile/spring-shell-sample-commands
|
|
chmod +x spring-shell-samples/spring-shell-sample-e2e/build/native/nativeCompile/spring-shell-sample-e2e
|
|
- name: run e2e tests
|
|
working-directory: e2e/spring-shell-e2e-tests
|
|
run: |
|
|
npm install
|
|
npm test
|
|
- name: Publish Test Results
|
|
uses: EnricoMi/publish-unit-test-result-action/composite@v2
|
|
if: always()
|
|
with:
|
|
files: e2e/spring-shell-e2e-tests/junit.xml
|