parent
394727ccdb
commit
fd8b07b0d8
@ -69,6 +69,11 @@ jobs:
|
|||||||
jq --version
|
jq --version
|
||||||
curl --version
|
curl --version
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
run: |
|
||||||
|
docker buildx create --use --name builder --driver docker-container
|
||||||
|
docker buildx inspect --bootstrap
|
||||||
|
|
||||||
- name: Install Bun
|
- name: Install Bun
|
||||||
run: |
|
run: |
|
||||||
curl -fsSL https://bun.sh/install | bash
|
curl -fsSL https://bun.sh/install | bash
|
||||||
@ -151,10 +156,47 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
apps/admin/.next/cache
|
apps/admin/.next/cache
|
||||||
apps/user/.next/cache
|
apps/user/.next/cache
|
||||||
key: nextcache-${{ runner.os }}-${{ hashFiles('apps/**') }}-${{ hashFiles('packages/**') }}-${{ hashFiles('turbo.json') }}-${{ hashFiles('bun.lock') }}
|
key: nextcache-${{ runner.os }}-${{ hashFiles('apps/**/package.json') }}-${{ hashFiles('packages/**/package.json') }}-${{ hashFiles('turbo.json') }}-${{ hashFiles('bun.lock') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
|
nextcache-${{ runner.os }}-${{ hashFiles('apps/**/package.json') }}-${{ hashFiles('packages/**/package.json') }}-
|
||||||
nextcache-${{ runner.os }}-
|
nextcache-${{ runner.os }}-
|
||||||
|
|
||||||
|
- name: Cache build outputs
|
||||||
|
uses: https://gitea.cn/actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
apps/admin/.next
|
||||||
|
apps/user/.next
|
||||||
|
apps/admin/dist
|
||||||
|
apps/user/dist
|
||||||
|
key: build-${{ runner.os }}-${{ hashFiles('apps/**/*.ts', 'apps/**/*.tsx', 'apps/**/*.js', 'apps/**/*.jsx') }}-${{ hashFiles('packages/**/*.ts', 'packages/**/*.tsx') }}-${{ hashFiles('bun.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
build-${{ runner.os }}-${{ hashFiles('apps/**/*.ts', 'apps/**/*.tsx', 'apps/**/*.js', 'apps/**/*.jsx') }}-
|
||||||
|
build-${{ runner.os }}-
|
||||||
|
|
||||||
|
- name: Cache ESLint
|
||||||
|
uses: https://gitea.cn/actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
.eslintcache
|
||||||
|
apps/admin/.eslintcache
|
||||||
|
apps/user/.eslintcache
|
||||||
|
key: eslint-${{ runner.os }}-${{ hashFiles('.eslintrc*', 'apps/**/.eslintrc*', 'packages/**/.eslintrc*') }}-${{ hashFiles('bun.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
eslint-${{ runner.os }}-
|
||||||
|
|
||||||
|
- name: Cache TypeScript
|
||||||
|
uses: https://gitea.cn/actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
.tsbuildinfo
|
||||||
|
apps/admin/.tsbuildinfo
|
||||||
|
apps/user/.tsbuildinfo
|
||||||
|
packages/**/.tsbuildinfo
|
||||||
|
key: typescript-${{ runner.os }}-${{ hashFiles('tsconfig*.json', 'apps/**/tsconfig*.json', 'packages/**/tsconfig*.json') }}-${{ hashFiles('bun.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
typescript-${{ runner.os }}-
|
||||||
|
|
||||||
- name: Build Admin (turbo via bun)
|
- name: Build Admin (turbo via bun)
|
||||||
if: env.BUILD_TARGET == 'admin' || env.BUILD_TARGET == 'both'
|
if: env.BUILD_TARGET == 'admin' || env.BUILD_TARGET == 'both'
|
||||||
run: bun run build --filter=ppanel-admin-web
|
run: bun run build --filter=ppanel-admin-web
|
||||||
@ -165,19 +207,27 @@ jobs:
|
|||||||
|
|
||||||
- name: Build Docker (admin)
|
- name: Build Docker (admin)
|
||||||
if: env.BUILD_TARGET == 'admin' || env.BUILD_TARGET == 'both'
|
if: env.BUILD_TARGET == 'admin' || env.BUILD_TARGET == 'both'
|
||||||
run: docker build -f ./docker/ppanel-admin-web/Dockerfile -t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:${{ env.VERSION }} .
|
run: |
|
||||||
|
docker buildx build \
|
||||||
|
--platform linux/amd64 \
|
||||||
|
--cache-from type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:cache \
|
||||||
|
--cache-to type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:cache,mode=max \
|
||||||
|
-f ./docker/ppanel-admin-web/Dockerfile \
|
||||||
|
-t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:${{ env.VERSION }} \
|
||||||
|
--push .
|
||||||
|
|
||||||
- name: Build Docker (user)
|
- name: Build Docker (user)
|
||||||
if: env.BUILD_TARGET == 'user' || env.BUILD_TARGET == 'both'
|
if: env.BUILD_TARGET == 'user' || env.BUILD_TARGET == 'both'
|
||||||
run: docker build -f ./docker/ppanel-user-web/Dockerfile -t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:${{ env.VERSION }} .
|
run: |
|
||||||
|
docker buildx build \
|
||||||
|
--platform linux/amd64 \
|
||||||
|
--cache-from type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:cache \
|
||||||
|
--cache-to type=registry,ref=${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:cache,mode=max \
|
||||||
|
-f ./docker/ppanel-user-web/Dockerfile \
|
||||||
|
-t ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:${{ env.VERSION }} \
|
||||||
|
--push .
|
||||||
|
|
||||||
- name: Push Docker Image (admin)
|
|
||||||
if: env.BUILD_TARGET == 'admin' || env.BUILD_TARGET == 'both'
|
|
||||||
run: docker push ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-admin-web:${{ env.VERSION }}
|
|
||||||
|
|
||||||
- name: Push Docker Image (user)
|
|
||||||
if: env.BUILD_TARGET == 'user' || env.BUILD_TARGET == 'both'
|
|
||||||
run: docker push ${{ env.DOCKER_REGISTRY }}/ppanel/ppanel-user-web:${{ env.VERSION }}
|
|
||||||
|
|
||||||
- name: Debug SSH variables
|
- name: Debug SSH variables
|
||||||
if: env.BUILD_TARGET == 'admin' || env.BUILD_TARGET == 'both'
|
if: env.BUILD_TARGET == 'admin' || env.BUILD_TARGET == 'both'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user