84 lines
3.4 KiB
YAML
84 lines
3.4 KiB
YAML
name: VoronUsers PR CI
|
|
run-name: "#${{github.event.number}} - ${{github.event.pull_request.title}}"
|
|
on:
|
|
pull_request:
|
|
types: [opened, reopened, synchronize]
|
|
concurrency:
|
|
group: ${{ github.ref }}
|
|
cancel-in-progress: true
|
|
permissions:
|
|
pull-requests: write
|
|
jobs:
|
|
checkout_check_whitespace:
|
|
name: Checkout & Check Whitespace
|
|
uses: VoronDesign/.github/.github/workflows/pr_checkout_check_whitespace_cache.yml@v3
|
|
with:
|
|
branch: ${{ github.ref }}
|
|
cache-key: file-cache-${{github.sha}}
|
|
cache-directory: pr-files
|
|
setup_python:
|
|
needs: [checkout_check_whitespace]
|
|
name: Prepare python environment
|
|
if: ${{ needs.checkout_check_whitespace.outputs.stl == 'true' }}
|
|
uses: VoronDesign/.github/.github/workflows/prepare-environment.yml@v3
|
|
with:
|
|
apt-packages: "admesh, libadmesh-dev"
|
|
pip-packages: "admesh imagekitio git+https://github.com/ChristophSchranz/Tweaker-3.git"
|
|
python-cache-key: voronusers-python-cache
|
|
check_stls:
|
|
name: Check STL corruption
|
|
needs: [setup_python]
|
|
if: ${{ needs.checkout_check_whitespace.outputs.stl == 'true' }}
|
|
uses: VoronDesign/.github/.github/workflows/check-stl-corruption.yml@v3
|
|
with:
|
|
cache-key: file-cache-${{github.sha}}
|
|
cache-directory: pr-files
|
|
python-cache-key: voronusers-python-cache
|
|
check_stl_rotation:
|
|
name: Check STL rotation
|
|
needs: [setup_python]
|
|
if: ${{ needs.checkout_check_whitespace.outputs.stl == 'true' }}
|
|
uses: VoronDesign/.github/.github/workflows/check-stl-rotation.yml@v3
|
|
secrets:
|
|
# ToDo: Change to secrets: inherit once it's in the VoronDesign org
|
|
IMAGEKIT_PRIVATE_KEY: ${{ secrets.IMAGEKIT_PRIVATE_KEY }}
|
|
IMAGEKIT_PUBLIC_KEY: ${{ secrets.IMAGEKIT_PUBLIC_KEY }}
|
|
with:
|
|
imagekit-url-endpoint: https://ik.imagekit.io/vorondesign
|
|
cache-key: file-cache-${{github.sha}}
|
|
cache-directory: pr-files
|
|
python-cache-key: voronusers-python-cache
|
|
validate_metadata:
|
|
name: Check metadata files
|
|
needs: [checkout_check_whitespace]
|
|
if: ${{ needs.checkout_check_whitespace.outputs.yaml == 'true' }}
|
|
uses: VoronDesign/.github/.github/workflows/validate-metadata-files.yml@v3
|
|
with:
|
|
cache-key: file-cache-${{github.sha}}
|
|
cache-directory: pr-files
|
|
preview_readme:
|
|
name: Preview README.md
|
|
needs: [validate_metadata]
|
|
uses: VoronDesign/.github/.github/workflows/preview-readme.yml@v3
|
|
with:
|
|
subdirectory: printer_mods
|
|
cache-key: file-cache-${{github.sha}}
|
|
cache-directory: pr-files
|
|
prepare_pr_comment:
|
|
name: Store PR comment parameters
|
|
# The create_pr_common workflow listens for completion of this workload and executes.
|
|
# This allows us to run in the context of our repo, with sufficient credentials to do PR comments/set labels. We pass the
|
|
# information that the dispatched workflow can't deduce on its own via an uploaded artifact
|
|
needs: [checkout_check_whitespace, check_stls, check_stl_rotation, validate_metadata, preview_readme]
|
|
if: ${{ always() }}
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Save PR number
|
|
run: |
|
|
mkdir -p ${{ runner.temp }}/pr
|
|
echo -n ${{ github.event.number }} > ${{ runner.temp }}/pr/pr_number
|
|
echo -n ${{ github.run_id }} > ${{ runner.temp }}/pr/action_run_id
|
|
- uses: actions/upload-artifact@65d862660abb392b8c4a3d1195a2108db131dd05
|
|
with:
|
|
name: pr
|
|
path: ${{ runner.temp }}/pr |