Skip to content

Commit

Permalink
Add manual trigger option alongside automatic deployment for GitHub P…
Browse files Browse the repository at this point in the history
…ages

Enhanced the GitHub Actions workflow by adding a 'workflow_dispatch' event, allowing for manual deployment of the VitePress site to GitHub Pages alongside the existing automatic deployment on push to the master branch. This update provides flexibility in deployment control, enabling both scheduled updates and on-demand deployments via the GitHub Actions tab.
  • Loading branch information
blakmatrix committed Jan 4, 2024
1 parent a8c7322 commit 470e74a
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 41 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Continuous Integration and Deployment

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
# Combined CI and CD Jobs to reduce redundancy
build-and-deploy:
runs-on: ubuntu-latest
steps:
# Checkout code just once
- uses: actions/checkout@v3

# Setup Node.js only once
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'npm'

# Install dependencies only once
- name: Install Dependencies
run: npm ci

# Lint, Test, Build, and Generate Documentation
- name: Lint
run: npm run lint

- name: Test
run: npm run test

- name: Build
run: npm run build

- name: Generate Documentation
run: npm run docs:code
env:
NODE_OPTIONS: --max-old-space-size=4096
NO_COLOR: true

# Conditional Deployment steps
- name: Setup Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
uses: actions/configure-pages@v3

- name: Build with VitePress
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
run: npm run docs:deploy-github-pages

- name: Upload artifact
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
uses: actions/upload-pages-artifact@v2
with:
path: docs/.vitepress/dist

- name: Deploy to GitHub Pages
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
uses: actions/deploy-pages@v2
39 changes: 0 additions & 39 deletions .github/workflows/ci.yml

This file was deleted.

4 changes: 2 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ name: Deploy VitePress site to Pages
on:
# Runs on pushes targeting the `main` branch. Change this to `master` if you're
# using the `master` branch as the default branch.
push:
branches: [master]
# push:
# branches: [master]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand Down

0 comments on commit 470e74a

Please sign in to comment.