- bump next to 16.0.0, react/react-dom to 19.2.0 and update related deps (react-day-picker, react-hook-form, zod, lightningcss, scheduler, typescript, @types/*, tailwind tooling, etc.) in package.json and bun.lock - add overrides for @types/react and @types/react-dom - remove --turbopack flags from package.json scripts and configure turbopack root in next.config.ts - tighten tsconfig (jsx -> react-jsx, include extra .next dev types, formatting) - add GitHub Actions workflow for Docker build/push (.github/workflows/main.yml) - add Dockerfile and compose.yml for building/running containerized app
51 lines
1.3 KiB
YAML
51 lines
1.3 KiB
YAML
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
name: Web Build
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v5
|
|
|
|
- name: Set version
|
|
run: |
|
|
if [[ "${GITHUB_REF}" == refs/heads/main ]]; then
|
|
echo "RELEASE_VERSION=latest" >> $GITHUB_ENV
|
|
else
|
|
echo "RELEASE_VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV
|
|
fi
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Login to GHCR
|
|
uses: docker/login-action@v3
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Build and push Docker image
|
|
uses: docker/build-push-action@v3
|
|
with:
|
|
context: .
|
|
file: ./Dockerfile
|
|
push: true
|
|
cache-from: type=gha
|
|
cache-to: type=gha,mode=max
|
|
tags: |
|
|
ghcr.io/imnyang/choten:latest
|
|
ghcr.io/imnyang/choten:${{ github.run_id }}
|
|
update:
|
|
runs-on: self-hosted
|
|
steps:
|
|
- name: Pull and restart container
|
|
run: |
|
|
docker-compose -f /home/neko/Git/imnya.ng/compose.yml pull web
|
|
docker-compose -f /home/neko/Git/imnya.ng/compose.yml up -d web
|
|
needs: build
|