Files
panel/.github/workflows/build-docs.yml
kastov 54519896ec -
2025-11-07 23:15:59 +03:00

107 lines
3.0 KiB
YAML

name: Build docs and landing
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build-landing:
name: Build landing
runs-on: ubuntu-22.04
steps:
- name: Checkout landing repository
uses: actions/checkout@v4
with:
repository: remnawave/landing
token: ${{ secrets.LANDING_REPO_TOKEN }}
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22.18.0'
- name: Install dependencies
run: npm ci
- name: Build landing
run: npm run start:build
- name: Upload landing artifact
uses: actions/upload-artifact@v4
with:
name: landing-build
path: landing/
build-docs:
name: Build documentation
runs-on: ubuntu-22.04
steps:
- name: Checkout docs repository
uses: actions/checkout@v4
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22.18.0'
- name: Install dependencies
run: npm ci
- name: Build documentation
run: npm run build
- name: Upload docs artifact
uses: actions/upload-artifact@v4
with:
name: docs-build
path: build/
build-docker:
name: Build and push Docker image
runs-on: ubuntu-22.04
needs: [build-landing, build-docs]
steps:
- name: Checkout docs repository
uses: actions/checkout@v4
- name: Download landing artifact
uses: actions/download-artifact@v4
with:
name: landing-build
path: landing/
- name: Download docs artifact
uses: actions/download-artifact@v4
with:
name: docs-build
path: build/
- 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: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
remnawave/internal-docs:latest
platforms: linux/amd64
- name: Deploy to Railway
run: |
curl -fsSL https://railway.app/install.sh | sh
export PATH=$PATH:$HOME/.railway/bin
railway redeploy --service ${{ env.SVC_ID }} -y
env:
RAILWAY_TOKEN: ${{ secrets.RAILWAY_TOKEN }}
SVC_ID: ${{ secrets.RAILWAY_SERVICE_ID }}