Loading .gitlab-ci.yml +61 −17 Original line number Diff line number Diff line Loading @@ -257,7 +257,8 @@ prebuild-for-render: - rendering/librender/*.stl # render assemblies - uses xvfb as a virtual x-server render: # Split into three groups running in parallel .render-job: extends: - .scad-job - .rules_common Loading @@ -265,9 +266,6 @@ render: dependencies: ["prebuild-for-render", "version"] needs: ["prebuild-for-render", "version"] script: - xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ./render.py --force-clean --png-only artifacts: expire_in: 1 week name: "${CI_PROJECT_NAME}-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}-renders" Loading @@ -275,7 +273,31 @@ render: paths: - docs/renders/*.png gltf: render_1: extends: - .render-job script: - xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ./render.py --force-clean --png-1-only render_2: extends: - .render-job script: - xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ./render.py --force-clean --png-2-only render_3: extends: - .render-job script: - xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ./render.py --force-clean --png-3-only # compose GLB 3D models of complete microscopes # split into two groups running in parallel .gltf-job: extends: - .scad-job - .rules_common Loading @@ -283,22 +305,37 @@ gltf: dependencies: ["prebuild-for-render", "version"] needs: ["prebuild-for-render", "version"] artifacts: expire_in: 1 week name: "${CI_PROJECT_NAME}-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}-renders" # saving any rendering csg files. Only remaining files should be when scad2gltf fails paths: - docs/gltf/* gltf_1: extends: - .gltf-job script: - mkdir -p docs/gltf - pip install scad2gltf - cd rendering - scad2gltf complete_microscope_rms.scad - scad2gltf complete_microscope_low_cost.scad - scad2gltf complete_microscope_upright.scad - scad2gltf complete_microscope_manual.scad - cp complete_microscope_*.glb ../docs/gltf/ artifacts: expire_in: 1 week name: "${CI_PROJECT_NAME}-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}-renders" # saving any rendering csg files. Only remaining files should be when scad2gltf fails paths: - docs/gltf/* gltf_2: extends: - .gltf-job script: - mkdir -p docs/gltf - pip install scad2gltf - cd rendering - scad2gltf complete_microscope_upright.scad - scad2gltf complete_microscope_low_cost.scad - cp complete_microscope_*.glb ../docs/gltf/ # Build docs- this is at a later stage so it has access to the models build-docs: Loading @@ -306,11 +343,14 @@ build-docs: extends: .rules_common dependencies: - build - render - gltf - render_1 - render_2 - render_3 - gltf_1 - gltf_2 - archive-source - sca2d needs: ["build", "render", "gltf", "archive-source", "sca2d"] needs: ["build", "render_1", "render_2", "render_3", "gltf_1", "gltf_2", "archive-source", "sca2d"] image: "python:3.12" before_script: Loading Loading @@ -352,7 +392,11 @@ deploy: extends: .fewer_rules_common dependencies: - build - render - render_1 - render_2 - render_3 - gltf_1 - gltf_2 - build-docs image: ubuntu:latest Loading render.py +21 −7 Original line number Diff line number Diff line Loading @@ -830,16 +830,26 @@ def main(): action="store_true", ) parser.add_argument( "--png-only", help="Only renders the PNGs, STLs must already have been pre-built", "--png-1-only", help="Only renders the first set of PNGs, STLs must already have been pre-built", action="store_true", ) parser.add_argument( "--png-2-only", help="Only renders the second set of PNGs, STLs must already have been pre-built", action="store_true", ) parser.add_argument( "--png-3-only", help="Only renders the third set of PNGs, STLs must already have been pre-built", action="store_true", ) args = parser.parse_args() if args.png_only and args.stl_only: raise RuntimeError("Can't set both png-only and stl-only parameters.") if (args.png_1_only or args.png_2_only or args.png_3_only) and args.stl_only: raise RuntimeError("Can't set both png-*-only and stl-only parameters.") run_all = not args.png_only and not args.stl_only run_all = not args.png_1_only and not args.png_2_only and not args.png_3_only and not args.stl_only rendersystem = RenderSystem() if run_all or args.stl_only: Loading @@ -848,8 +858,8 @@ def main(): register_rendered_microscope_manual_stl(rendersystem, force_clean=args.force_clean) register_rendered_separate_z_actuator_stl(rendersystem) register_rendered_separate_z_actuator_manual_stl(rendersystem) if run_all or args.png_only: #Register all openscad renders (and associated post processing) if run_all or args.png_1_only: #Register openscad renders (and associated post processing) register_rms_optics_assembly(rendersystem) register_low_cost_optics_assembly(rendersystem) register_extra_low_cost_optics_assembly(rendersystem) Loading @@ -865,6 +875,8 @@ def main(): register_prepare_upright_z_mount(rendersystem) register_prepare_nut_trap_test(rendersystem) register_prepare_main_body(rendersystem) if run_all or args.png_2_only: #Register openscad renders (and associated post processing) register_prepare_stand(rendersystem) register_actuator_assembly(rendersystem) register_band_tool_assembly(rendersystem) Loading @@ -874,6 +886,8 @@ def main(): register_mount_microscope(rendersystem) register_mount_illumination(rendersystem) register_check_actuator_centre(rendersystem) if run_all or args.png_3_only: #Register openscad renders (and associated post processing) register_motor_assembly(rendersystem) register_mount_motors(rendersystem) register_mount_sample_clips(rendersystem) Loading Loading
.gitlab-ci.yml +61 −17 Original line number Diff line number Diff line Loading @@ -257,7 +257,8 @@ prebuild-for-render: - rendering/librender/*.stl # render assemblies - uses xvfb as a virtual x-server render: # Split into three groups running in parallel .render-job: extends: - .scad-job - .rules_common Loading @@ -265,9 +266,6 @@ render: dependencies: ["prebuild-for-render", "version"] needs: ["prebuild-for-render", "version"] script: - xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ./render.py --force-clean --png-only artifacts: expire_in: 1 week name: "${CI_PROJECT_NAME}-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}-renders" Loading @@ -275,7 +273,31 @@ render: paths: - docs/renders/*.png gltf: render_1: extends: - .render-job script: - xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ./render.py --force-clean --png-1-only render_2: extends: - .render-job script: - xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ./render.py --force-clean --png-2-only render_3: extends: - .render-job script: - xvfb-run --auto-servernum --server-args "-screen 0 1024x768x24" ./render.py --force-clean --png-3-only # compose GLB 3D models of complete microscopes # split into two groups running in parallel .gltf-job: extends: - .scad-job - .rules_common Loading @@ -283,22 +305,37 @@ gltf: dependencies: ["prebuild-for-render", "version"] needs: ["prebuild-for-render", "version"] artifacts: expire_in: 1 week name: "${CI_PROJECT_NAME}-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}-renders" # saving any rendering csg files. Only remaining files should be when scad2gltf fails paths: - docs/gltf/* gltf_1: extends: - .gltf-job script: - mkdir -p docs/gltf - pip install scad2gltf - cd rendering - scad2gltf complete_microscope_rms.scad - scad2gltf complete_microscope_low_cost.scad - scad2gltf complete_microscope_upright.scad - scad2gltf complete_microscope_manual.scad - cp complete_microscope_*.glb ../docs/gltf/ artifacts: expire_in: 1 week name: "${CI_PROJECT_NAME}-${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}-${CI_COMMIT_SHORT_SHA}-renders" # saving any rendering csg files. Only remaining files should be when scad2gltf fails paths: - docs/gltf/* gltf_2: extends: - .gltf-job script: - mkdir -p docs/gltf - pip install scad2gltf - cd rendering - scad2gltf complete_microscope_upright.scad - scad2gltf complete_microscope_low_cost.scad - cp complete_microscope_*.glb ../docs/gltf/ # Build docs- this is at a later stage so it has access to the models build-docs: Loading @@ -306,11 +343,14 @@ build-docs: extends: .rules_common dependencies: - build - render - gltf - render_1 - render_2 - render_3 - gltf_1 - gltf_2 - archive-source - sca2d needs: ["build", "render", "gltf", "archive-source", "sca2d"] needs: ["build", "render_1", "render_2", "render_3", "gltf_1", "gltf_2", "archive-source", "sca2d"] image: "python:3.12" before_script: Loading Loading @@ -352,7 +392,11 @@ deploy: extends: .fewer_rules_common dependencies: - build - render - render_1 - render_2 - render_3 - gltf_1 - gltf_2 - build-docs image: ubuntu:latest Loading
render.py +21 −7 Original line number Diff line number Diff line Loading @@ -830,16 +830,26 @@ def main(): action="store_true", ) parser.add_argument( "--png-only", help="Only renders the PNGs, STLs must already have been pre-built", "--png-1-only", help="Only renders the first set of PNGs, STLs must already have been pre-built", action="store_true", ) parser.add_argument( "--png-2-only", help="Only renders the second set of PNGs, STLs must already have been pre-built", action="store_true", ) parser.add_argument( "--png-3-only", help="Only renders the third set of PNGs, STLs must already have been pre-built", action="store_true", ) args = parser.parse_args() if args.png_only and args.stl_only: raise RuntimeError("Can't set both png-only and stl-only parameters.") if (args.png_1_only or args.png_2_only or args.png_3_only) and args.stl_only: raise RuntimeError("Can't set both png-*-only and stl-only parameters.") run_all = not args.png_only and not args.stl_only run_all = not args.png_1_only and not args.png_2_only and not args.png_3_only and not args.stl_only rendersystem = RenderSystem() if run_all or args.stl_only: Loading @@ -848,8 +858,8 @@ def main(): register_rendered_microscope_manual_stl(rendersystem, force_clean=args.force_clean) register_rendered_separate_z_actuator_stl(rendersystem) register_rendered_separate_z_actuator_manual_stl(rendersystem) if run_all or args.png_only: #Register all openscad renders (and associated post processing) if run_all or args.png_1_only: #Register openscad renders (and associated post processing) register_rms_optics_assembly(rendersystem) register_low_cost_optics_assembly(rendersystem) register_extra_low_cost_optics_assembly(rendersystem) Loading @@ -865,6 +875,8 @@ def main(): register_prepare_upright_z_mount(rendersystem) register_prepare_nut_trap_test(rendersystem) register_prepare_main_body(rendersystem) if run_all or args.png_2_only: #Register openscad renders (and associated post processing) register_prepare_stand(rendersystem) register_actuator_assembly(rendersystem) register_band_tool_assembly(rendersystem) Loading @@ -874,6 +886,8 @@ def main(): register_mount_microscope(rendersystem) register_mount_illumination(rendersystem) register_check_actuator_centre(rendersystem) if run_all or args.png_3_only: #Register openscad renders (and associated post processing) register_motor_assembly(rendersystem) register_mount_motors(rendersystem) register_mount_sample_clips(rendersystem) Loading