actions/.github/workflows/node.yaml

56 lines
1.6 KiB
YAML

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