Skip to main content

JavaScript

Build actions for JavaScript and TypeScript projects using pnpm.

Available Actions

ActionDescription
js-pnpm-setupInstall Node.js and pnpm
js-pnpm-buildBuild and test
js-pnpm-cut-tagBump version and create tag
js-pnpm-docker-build-publishBuild and push Docker image

Version File

pnpm reads and writes versions in package.json:

{
"name": "my-service",
"version": "1.2.3"
}

Example Usage

steps:
- uses: actions/checkout@v4

- uses: p6m-actions/js-pnpm-setup@v1
with:
node-version: '20'

- uses: p6m-actions/js-pnpm-build@v1

- uses: p6m-actions/js-pnpm-docker-build-publish@v1
with:
image: ${{ vars.ARTIFACTORY_HOSTNAME }}/${{ vars.ARTIFACTORY_PROJECT }}-docker-local/applications/my-service
platforms: linux/amd64,linux/arm64

Dockerfile

note

Dockerfile patterns depend on your specific project structure. The js-pnpm-docker-build-publish action handles building and publishing the container image using your project's Dockerfile.

See Containerization for general patterns including:

  • Multi-stage builds vs copying pre-built artifacts
  • Non-root user configuration
  • Health check setup