mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-15 15:03:49 +00:00
Run slice-validation sweep on engine PRs in CI
This commit is contained in:
24
.github/workflows/build_all.yml
vendored
24
.github/workflows/build_all.yml
vendored
@@ -165,6 +165,30 @@ jobs:
|
||||
os: ${{ vars.SELF_HOSTED && 'orca-macos-arm64' || 'macos-14' }}
|
||||
artifact: ${{ github.sha }}-tests-macos-arm64
|
||||
test-dir: build/arm64/tests
|
||||
# Slice a two-colour cube through every shipped printer with this PR's engine
|
||||
# so all custom g-code (change_filament_gcode, machine start/end, etc.) is
|
||||
# expanded - catches slicing regressions the static profile checks and unit
|
||||
# tests can't see. Profile-only PRs are covered by check_profiles.yml (nightly
|
||||
# binary); this covers src/engine PRs with the PR-built binary. Runs in
|
||||
# parallel off build_linux's artifact so it doesn't lengthen the build leg.
|
||||
slice_check_linux:
|
||||
name: Slice check (Linux x86_64)
|
||||
needs: build_linux
|
||||
if: ${{ !cancelled() && success() }}
|
||||
runs-on: ${{ vars.SELF_HOSTED && 'orca-lnx-server' || 'ubuntu-24.04' }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v7
|
||||
- name: Download profile validator
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: ${{ github.sha }}-profile-validator-linux-x86_64
|
||||
path: validator-bin
|
||||
- name: Validate slice (expand custom g-code)
|
||||
timeout-minutes: 60
|
||||
run: |
|
||||
chmod +x validator-bin/OrcaSlicer_profile_validator
|
||||
./validator-bin/OrcaSlicer_profile_validator -p "${{ github.workspace }}/resources/profiles" -s -l 2
|
||||
publish_test_results:
|
||||
name: Publish Test Results
|
||||
needs: [unit_tests_linux_x86_64, unit_tests_linux_aarch64, unit_tests_windows_x64, unit_tests_windows_arm64, unit_tests_macos_arm64]
|
||||
|
||||
14
.github/workflows/build_orca.yml
vendored
14
.github/workflows/build_orca.yml
vendored
@@ -508,6 +508,20 @@ jobs:
|
||||
retention-days: 5
|
||||
if-no-files-found: error
|
||||
|
||||
# Ship the freshly-built validator so the parallel slice_check_linux job
|
||||
# (build_all.yml) can slice-sweep the shipped profiles with this PR's
|
||||
# engine. Stable sha-based name mirrors the tests artifact above so the
|
||||
# downstream job downloads it by exact name.
|
||||
- name: Upload profile validator (for slice check)
|
||||
if: runner.os == 'Linux' && inputs.arch != 'aarch64'
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: ${{ github.sha }}-profile-validator-linux-x86_64
|
||||
overwrite: true
|
||||
path: ./build/src/Release/OrcaSlicer_profile_validator
|
||||
retention-days: 5
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Run external slicer regression tests
|
||||
if: runner.os == 'Linux' && inputs.arch != 'aarch64'
|
||||
timeout-minutes: 20
|
||||
|
||||
Reference in New Issue
Block a user