A collection of reusable GitHub Actions workflows for automating CI/CD, code analysis, Docker image builds, and release management across all SliceSoft repositories.
Runs tests, static analysis, and build for Go projects.
Inputs
go-version(string, optional) — Go version to use. Default:"1.21"
Steps: Go setup with cache → go mod download → go vet → go test with coverage → go build
jobs:
ci:
uses: slice-soft/ss-pipeline/.github/workflows/ci-go.yml@v0
with:
go-version: "1.21"Runs tests, linting, and build for Node.js projects.
Inputs
node-version(string, optional) — Node.js version to use. Default:"22"
Steps: Node.js setup → smart node_modules cache → install → test → lint → build
jobs:
ci:
uses: slice-soft/ss-pipeline/.github/workflows/ci-node.yml@v0
with:
node-version: "22"Checkout, npm ci, build, and upload artifact for downstream jobs.
Inputs
node-version— Node.js versionbuild-command— Build command. Default:npm run buildartifact-name(required) — Name of the uploaded artifactartifact-path— Path to upload. Default:dist/version— Injected asVERSIONenv varretention-days— Artifact retention days
jobs:
build:
uses: slice-soft/ss-pipeline/.github/workflows/build-node.yml@v0
with:
artifact-name: my-dist
version: ${{ needs.release.outputs.tag_name }}Validates that PRs have a semver label before merging.
Required: at least one of patch, minor, major must be present.
jobs:
validate:
uses: slice-soft/ss-pipeline/.github/workflows/validate-pr.yml@v0Generates a CHANGELOG from Conventional Commits, creates a version tag, and publishes a GitHub Release using release-please.
permissions:
contents: write
pull-requests: write
jobs:
release:
uses: slice-soft/ss-pipeline/.github/workflows/create-release.yml@v0Downloads an artifact and syncs it to a Cloudflare R2 bucket. Supports versioned (v{version}/) and latest/ paths.
Inputs
artifact-name(required) — Artifact to download and deploydestination-prefix— R2 path prefix (e.g.design-system/)version— Version string (with or withoutv)upload-latest— Also sync tolatest/. Default:true
Secrets required: R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_ENDPOINT, R2_BUCKET, CDN_BASE_URL
jobs:
deploy:
uses: slice-soft/ss-pipeline/.github/workflows/deploy-cdn-cloudflare.yml@v0
with:
artifact-name: cdn-dist
destination-prefix: design-system/
version: ${{ needs.release.outputs.tag_name }}
secrets: inheritUses GitHub Linguist to analyze the languages present in the repository and uploads a report artifact.
Inputs
workdir(string, optional) — Working directory. Default:"."
Builds and publishes a Docker image to GitHub Container Registry.
Inputs
workdir(required) — Working directorydockerfile(required) — Dockerfile pathimage_name(required) — Docker image nameversion(required) — Version tag for the image
Secrets: SSH_PRIVATE_KEY (required for private repo access during build)
| Workflow | Requirement |
|---|---|
ci-go.yml |
go.mod present, standard Go tests |
ci-node.yml |
package.json + package-lock.json |
build-node.yml |
package.json + package-lock.json |
create-release.yml |
Conventional Commits, write permissions |
deploy-cdn-cloudflare.yml |
R2 secrets configured, artifact uploaded |
build-docker.yml |
Dockerfile, GitHub Container Registry configured |
Ensure your repository has the correct settings under Settings > Actions > General:
- Actions permissions: Allow all actions and reusable workflows
- Workflow permissions: Read and write permissions
All SliceSoft repos follow Conventional Commits:
feat: new feature → MINOR
fix: bug fix → PATCH
feat!: breaking change → MAJOR
docs: documentation
refactor: refactoring
chore: tooling / config
ci: CI/CD changes
The validate-pr.yml workflow requires one of:
| Label | Meaning | Version impact |
|---|---|---|
patch |
Bug fix or small improvement | 1.0.x |
minor |
New non-breaking feature | 1.x.0 |
major |
Breaking change | x.0.0 |
See CONTRIBUTING.md for repository-specific rules. The base workflow, commit conventions, and community standards live in ss-community.
| Document | |
|---|---|
| CONTRIBUTING.md | Workflow, commit conventions, and PR guidelines |
| GOVERNANCE.md | Decision-making, roles, and release process |
| CODE_OF_CONDUCT.md | Community standards |
| SECURITY.md | How to report vulnerabilities |
SliceSoft — Colombia 💙