Files
sejong-office/.gitea/workflows/ci.yml
T
ysj7705andCursor b0a6fc326c
CI / Type-check & Build (push) Successful in 12m34s
CI / Build & Push image (push) Successful in 16m12s
Drop DinD and use the host Docker socket for image builds.
act_runner does not resolve the docker service hostname here; rely on
CLI plus /var/run/docker.sock from the host runner instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 17:13:22 +09:00

85 lines
2.3 KiB
YAML

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
name: Type-check & Build
runs-on: ubuntu-latest
env:
# CAD/OCR/3D viewer assets make Vite exceed the default ~2GB heap
NODE_OPTIONS: --max-old-space-size=8192
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
cache: npm
- name: Install dependencies
run: npm ci
- name: Type-check and build
run: npm run build
image:
name: Build & Push image
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# Job image often has no docker binary; host sock may already be mounted by act_runner.
- name: Install Docker CLI
run: |
mkdir -p "$HOME/.local/bin"
curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz \
| tar xz --strip-components=1 -C "$HOME/.local/bin" docker/docker
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
export PATH="$HOME/.local/bin:$PATH"
if [ -S /var/run/docker.sock ]; then
docker info
docker version
exit 0
fi
echo "Host /var/run/docker.sock is not available in this job."
echo "On act_runner, set container.docker_host: \"\" (use host Docker)"
echo "and/or container.valid_volumes: [/var/run/docker.sock]"
ls -la /var/run/docker.sock || true
docker info || true
exit 1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to registry
uses: docker/login-action@v3
with:
registry: docker.sejong.dev
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: |
docker.sejong.dev/sejong-office:latest
docker.sejong.dev/sejong-office:sha-${{ github.sha }}
- name: Log out of registry
if: always()
run: docker logout docker.sejong.dev