Files
solidtime/.github/workflows/generate-api-docs.yml
2026-10-19 16:54:33 +02:00

67 lines
1.6 KiB
YAML

name: Generate API docs
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
jobs:
api_docs:
runs-on: ubuntu-latest
timeout-minutes: 10
services:
pgsql_test:
image: postgres:15
env:
PGPASSWORD: 'root'
POSTGRES_DB: 'laravel'
POSTGRES_USER: 'root'
POSTGRES_PASSWORD: 'root'
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: "Checkout code"
uses: actions/checkout@v7
- name: "Setup PHP"
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv
- name: "Run composer install"
run: composer install -n --prefer-dist
- name: "Create build directory"
run: mkdir build
- name: Prepare Laravel Application
run: |
cp .env.ci .env
php artisan migrate
- name: "Export API docs"
run: php artisan scramble:export --path=build/api-docs.json
- name: "Upload API docs to GitHub"
uses: actions/upload-artifact@v7
with:
name: api-docs.json
path: build/api-docs.json
- name: "Deploy with FastFront"
uses: fastfront-io/deploy-action@v0.0.1
with:
folder: './build'
environment: ${{ vars.FASTFRONT_API_DOCS_STAGE }}
api_key: ${{ secrets.FASTFRONT_API_DOCS_STAGE_KEY }}