name: Install Dependencies & Build NPM Project on: workflow_call: inputs: repository: type: string required: true description: Git repository URL path: type: string required: false description: Path to NPM project root default: ${{github.workspace}} artifacts: type: string required: false description: Path to any artifacts you wish uploaded default: false artifact_name: type: string required: false description: Path to any artifacts you wish uploaded default: ${{inputs.artifacts}} jobs: docker: name: Install Dependencies & Build NPM Project runs-on: ubuntu-latest container: node steps: - name: Clone Repository uses: ztimson/actions/clone@develop with: url: ${{inputs.repository}} - name: Install Dependencies run: npm i working-directory: ${{inputs.path}} - name: Install Dependencies run: npm run build:prod || npm run build working-directory: ${{inputs.path}} - name: Artifact Name if: ${{inputs.artifacts}} != "false" run: echo "ARTIFACTS=$(echo ${{inputs.artifact_name}} | sed s%/%_% )" >> $GITHUB_ENV - name: Upload Artifacts if: ${{inputs.artifacts}} != "false" uses: actions/upload-artifact@v3 with: name: ${{env.ARTIFACTS}} path: ${{inputs.artifacts}} retention-days: 7