mirror of
https://github.com/Dokploy/dokploy
synced 2025-06-26 18:27:59 +00:00
73 lines
1.6 KiB
YAML
73 lines
1.6 KiB
YAML
name: Pull request
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
- canary
|
|
|
|
push:
|
|
branches:
|
|
- main
|
|
- canary
|
|
jobs:
|
|
build-app:
|
|
if: github.event_name == 'pull_request'
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
node-version: [18.18.0]
|
|
steps:
|
|
- name: Check out the code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup pnpm
|
|
uses: pnpm/action-setup@v4
|
|
with:
|
|
version: 8
|
|
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: 'pnpm'
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install
|
|
|
|
- name: Run format and lint
|
|
run: pnpm biome ci
|
|
|
|
- name: Run type check
|
|
run: pnpm typecheck
|
|
|
|
- name: Run Build
|
|
run: pnpm build
|
|
|
|
- name: Run Tests
|
|
run: pnpm run test
|
|
|
|
build-and-push-docker-on-push:
|
|
if: github.event_name == 'push'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Check out the code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v3
|
|
|
|
- name: Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Prepare .env file
|
|
run: |
|
|
cp .env.production.example .env.production
|
|
|
|
- name: Build and push Docker image using custom script
|
|
run: |
|
|
chmod +x ./docker/push.sh
|
|
./docker/push.sh ${{ github.ref_name == 'canary' && 'canary' || '' }}
|