Skip to content

LikeC4 diagrams and deployment workflow #4

LikeC4 diagrams and deployment workflow

LikeC4 diagrams and deployment workflow #4

Workflow file for this run

# Sample workflow for building and deploying a website to GitHub Pages
name: Deploy Pages
on:
# Runs on pushes targeting the default branch and c4 files
pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_call:
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
#permissions:
# contents: read
# pages: write
# id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in progress and the latest queued.
# However, do NOT cancel in-progress runs, as we want to allow these production deployments to be completed.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Validate model following our rules
# @see test/validate-model.spec.ts
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: bun install --filter 'docs/*'
- name: Validate
run: bun run test
# Build job
build-pages:
runs-on: ubuntu-latest
needs: validate
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Setup bun
uses: oven-sh/setup-bun@v2
- name: Setup Pages
id: pages
uses: actions/configure-pages@v4
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./dist
- name: Build
run: |
bunx likec4@latest build \
--base "${{ steps.pages.outputs.base_path || '/' }}" \
--output dist
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./dist
# Deployment job
#deploy-pages:
# environment:
# name: github-pages
# url: ${{ steps.deployment.outputs.page_url }}
# runs-on: ubuntu-latest
# needs: build-pages
# steps:
# - name: Deploy to GitHub Pages
# id: deployment
# uses: actions/deploy-pages@v4