mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-07-27 04:42:33 +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' }}
|
os: ${{ vars.SELF_HOSTED && 'orca-macos-arm64' || 'macos-14' }}
|
||||||
artifact: ${{ github.sha }}-tests-macos-arm64
|
artifact: ${{ github.sha }}-tests-macos-arm64
|
||||||
test-dir: build/arm64/tests
|
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:
|
publish_test_results:
|
||||||
name: 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]
|
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
|
retention-days: 5
|
||||||
if-no-files-found: error
|
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
|
- name: Run external slicer regression tests
|
||||||
if: runner.os == 'Linux' && inputs.arch != 'aarch64'
|
if: runner.os == 'Linux' && inputs.arch != 'aarch64'
|
||||||
timeout-minutes: 20
|
timeout-minutes: 20
|
||||||
|
|||||||
Reference in New Issue
Block a user