Skip to content

Create main.yml

Create main.yml #1

Workflow file for this run

# This is a basic workflow to help you get started with Actions
name: Build and Deploy Static Site
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the "main" branch
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
# Configure Python for our compiler
- name: Set Up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install Dependencies
run: |
python -m pip install --upgrade pip setuptools wheel
pip install -r requirements.txt
# Compile our HTML
- name: Build HTML
run: python -m doc_compiler docs output
# Set up node for our indexer
- name: Use Node JS 12
uses: actions/setup-node@v4
with:
node-version: '12.x'
- name: Install Dependencies
run: npm ci
- name: Build index
run: node indexer.js output/ output/assets/search-index.js
- name: Upload Artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./output
name: github-pages
retention-days: 1
- name: Archive Artifact
run: tar --dereference --hard-dereference --directory ./output -cvf "$RUNNER_TEMP/artifact.tar" .
- name: Push Artifact
uses: actions/upload-artifact@v4
with:
name: github-pages
path: /home/runner/work/_temp/artifact.tar
retention-days: 1
if-no-files-found: error
compression-level: 6
ovewrite: false