Modernize Processing sketches and add ribbon and field shaders #5
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Processing 4 | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| permissions: | |
| contents: read | |
| jobs: | |
| verify: | |
| name: Java 17 / Processing 4.5.6 | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up Java 17 | |
| uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0 | |
| with: | |
| distribution: temurin | |
| java-version: "17.0.20+101" | |
| cache: maven | |
| - name: Compile library; run parser tests; regenerate API documentation | |
| run: mvn --batch-mode --no-transfer-progress clean verify javadoc:javadoc | |
| - name: Verify bundled library and documentation are current | |
| run: | | |
| cmp target/BVHParser.jar p5f_sample/code/BVHParser.jar | |
| find target/reports/apidocs -type f \( -name '*.html' -o -name '*.css' -o -name '*.js' \ | |
| -o -name 'ADDITIONAL_LICENSE_INFO' \) \ | |
| -exec perl -pi -e 's/[ \t]+$//' {} + | |
| diff --recursive --brief target/reports/apidocs p5f_sample/lib/doc | |
| - name: Restore Processing 4.5.6 cache | |
| id: processing-cache | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: ${{ runner.temp }}/processing-4.5.6 | |
| key: processing-4.5.6-linux-x64-ddb816ca | |
| - name: Download Processing 4.5.6 | |
| if: steps.processing-cache.outputs.cache-hit != 'true' | |
| env: | |
| PROCESSING_URL: https://github.com/processing/processing4/releases/download/processing-1434-4.5.6/processing-4.5.6-linux-x64-portable.zip | |
| PROCESSING_SHA256: ddb816ca2c02e862a5dcf22b96bb4f81f412c4878673752b36837a7770970a6c | |
| run: | | |
| curl --fail --location --retry 3 --output "${RUNNER_TEMP}/processing.zip" "${PROCESSING_URL}" | |
| echo "${PROCESSING_SHA256} ${RUNNER_TEMP}/processing.zip" | sha256sum --check | |
| mkdir -p "${RUNNER_TEMP}/processing-4.5.6" | |
| unzip -q "${RUNNER_TEMP}/processing.zip" -d "${RUNNER_TEMP}/processing-4.5.6" | |
| - name: Compile and render all sketches; reject invalid and missing shaders | |
| run: | | |
| PROCESSING_BIN=$(find "${RUNNER_TEMP}/processing-4.5.6" -type f \( -name processing -o -name Processing \) -print -quit) | |
| test -n "${PROCESSING_BIN}" | |
| chmod +x "${PROCESSING_BIN}" | |
| xvfb-run --auto-servernum ./scripts/verify-sketches.sh \ | |
| "${PROCESSING_BIN}" "${RUNNER_TEMP}/sketch-verification" | |
| - name: Preserve rendered frames and runtime logs | |
| if: always() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: processing-render-verification | |
| path: | | |
| ${{ runner.temp }}/sketch-verification/**/frame.png | |
| ${{ runner.temp }}/sketch-verification/**/runtime.log | |
| if-no-files-found: warn |