name: Create STL on: workflow_dispatch: inputs: label: description: 'Your name' default: 'Zero Cool' required: true type: string icon: description: 'Little icon above the label' default: thing-logos/glider.dxf type: choice required: false options: - glider.dxf - Club_mate_logo.dxf - chaosknoten.dxf - camprocket.dxf - laying-left.svg - laying-right.svg - sitting-left.svg - sitting-right.svg - spooked-left.svg - spooked-right.svg - standing-left.svg - standing-right.svg ears: description: 'Cat Ears' default: false type: boolean jobs: stl: runs-on: docker container: image: node:alpine steps: - name: Install depdencies run: apk add git openscad envsubst - uses: actions/checkout@v4 with: submodules: true - name: Generate OpenSCAD file run: cat ci-template.scad | envsubst | tee ci.scad env: LABEL: "${{ inputs.label }}" ICON: "icons/${{ inputs.icon }}" EARS: "${{ inputs.ears }}" - name: Render to STL run: openscad --export-format binstl -o bottle-clip.stl ci.scad - uses: https://code.forgejo.org/forgejo/upload-artifact@v4 with: name: bottle-clip.zip path: bottle-clip.stl retention-days: 7