Shared Forgejo Actions for Connple CI and CD
  • TypeScript 96.2%
  • Shell 3.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Lee Sangyeop 2b6ea66f49
All checks were successful
CI / Check Actions (push) Successful in 6s
CI / Check Docker tools (push) Successful in 8s
CI / Check OCI image build (push) Successful in 13s
refactor: remove legacy Forgejo actions
2026-08-21 15:59:56 +09:00
.forgejo/workflows refactor: remove legacy Forgejo actions 2026-08-21 15:59:56 +09:00
internal refactor: remove legacy Forgejo actions 2026-08-21 15:59:56 +09:00
npm-package fix: use Forgejo-compatible npm staging tag 2026-08-21 15:34:25 +09:00
oci-image refactor: remove legacy Forgejo actions 2026-08-21 15:59:56 +09:00
oci-promote refactor: remove legacy Forgejo actions 2026-08-21 15:59:56 +09:00
scripts refactor: remove legacy Forgejo actions 2026-08-21 15:59:56 +09:00
setup-ci refactor: remove legacy Forgejo actions 2026-08-21 15:59:56 +09:00
src refactor: remove legacy Forgejo actions 2026-08-21 15:59:56 +09:00
test feat: simplify shared Forgejo actions 2026-08-21 15:21:53 +09:00
.gitignore feat: add shared Forgejo release actions 2026-08-21 13:59:54 +09:00
biome.json feat: add shared Forgejo release actions 2026-08-21 13:59:54 +09:00
bun.lock feat: add shared Forgejo release actions 2026-08-21 13:59:54 +09:00
package.json fix: run shared actions on Node 2026-08-21 14:11:52 +09:00
README.md refactor: remove legacy Forgejo actions 2026-08-21 15:59:56 +09:00
tsconfig.json feat: add shared Forgejo release actions 2026-08-21 13:59:54 +09:00

Connple Forgejo Actions

Public, versioned Actions shared by Connple repositories. Product repositories describe only their checks, Docker context or target, and runtime smoke test. This repository owns Docker tools, BuildKit caches, release gates, short-lived Forgejo authentication, registry naming, metadata, immutable publication, and monotonic promotion.

Consumers use the mutable major tag after its immutable audit tag has passed this repository's CI:

- uses: https://code.connple.com/connple-actions/forgejo-actions/setup-ci@v1

v1 is moved manually. No workflow in this repository creates Forgejo Release records or consumes organization secrets.

Actions

setup-ci

Restores or installs Docker CLI 29.7.2 and Compose 5.5.0 for Linux AMD64. Downloads are checksum verified, and the cached binaries are added to the current job's path. With an Authorized Integration audience, it also writes a short-lived package-read credential to the runner's npm configuration and outputs the masked token for a BuildKit secret.

oci-image

Builds one conventional linux/amd64 image, owns its exact-commit BuildKit cache, and validates the common OCI labels. name is omitted for a single-image repository and names a nested image in a multi-image repository. In CD, publish: true validates the tag, main ancestry and exact CI run, issues a short-lived package-write token, and publishes the immutable version.

- id: image
  uses: https://code.connple.com/connple-actions/forgejo-actions/oci-image@v1
  with:
    name: api
    context: apps/api
    target: app
    audience: ${{ vars.CD_AUDIENCE }}
    publish: true

oci-promote

Accepts only an Authorized Integration audience and, for a multi-image repository, image names. It revalidates every immutable image and every current alias before mutation. Missing or lower latest aliases advance image by image, higher versions remain unchanged, and a same-version different-digest alias is rejected.

npm-package

Validates the release gate, rebuilds and verifies the repository package, issues a short-lived package-write token, publishes a missing immutable version under a temporary dist-tag, checks the remote tarball checksum, advances latest monotonically, and removes the temporary tag. An existing version is reusable only when its tarball bytes are identical.

These four directories are the complete public Action surface.

Development

bun install --frozen-lockfile
bun run check

Source lives under src; generated Node 20 bundles under each Action's dist directory are committed and checked for drift by CI.