Skip to content

e2e (main)

e2e (main) #876

Workflow file for this run

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-12
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-12
nickname: macos
- os: macos-13
nickname: macos
- os: macos-14
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
- name: Use Python 3.11
uses: actions/setup-python@v4
with:
python-version: '3.11'
- 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