mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
148 lines
5.0 KiB
YAML
148 lines
5.0 KiB
YAML
name: Moose-Docs
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- develop
|
|
|
|
jobs:
|
|
Build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Extract branch name
|
|
shell: bash
|
|
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
|
|
id: extract_branch
|
|
|
|
- name: Build informations
|
|
run: |
|
|
echo "Triggered by: ${{ github.event_name }}"
|
|
echo "Running on: ${{ runner.os }}"
|
|
echo "Ref: ${{ github.ref }}"
|
|
echo "Branch name: ${{ steps.extract_branch.outputs.branch }}"
|
|
echo "Repository: ${{ github.repository }}"
|
|
echo "Commit-Id: ${{ github.sha }}"
|
|
echo "Owner: ${{ github.repository_owner }}"
|
|
echo "FORCE_PUSH: ${{ vars.FORCE_PUSH }}"
|
|
|
|
#########################################################################
|
|
# Prepare build environment
|
|
#########################################################################
|
|
- name: Check out repository code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Prepare build output folders
|
|
run: |
|
|
mkdir -p build/tools
|
|
mkdir -p build/doc
|
|
|
|
- name: Checkout FlightControls modified luadocumentor
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: Applevangelist/luadocumentor
|
|
path: './build/tools/luadocumentor'
|
|
ref: 'patch-1'
|
|
token: ${{ secrets.BOT_TOKEN }}
|
|
|
|
- name: Update apt-get (needed for act docker image)
|
|
run: |
|
|
sudo apt-get -qq update
|
|
|
|
- name: Install tree
|
|
run: |
|
|
sudo apt-get -qq install tree
|
|
|
|
#########################################################################
|
|
# Install all prerequisites for LuaDocumentor
|
|
#########################################################################
|
|
- name: Install Lua
|
|
run: |
|
|
sudo apt-get -qq install lua5.1
|
|
|
|
- name: Install LuaRocks
|
|
run: |
|
|
sudo apt-get -qq install luarocks -y
|
|
|
|
- name: Install markdown (prereq for LuaDocumentor)
|
|
run: |
|
|
sudo luarocks install markdown 0.32-2
|
|
|
|
- name: Install penlight (prereq for LuaDocumentor)
|
|
run: |
|
|
sudo luarocks install penlight 1.11.0-1
|
|
|
|
- name: Install metalua-compiler (prereq for LuaDocumentor)
|
|
run: |
|
|
sudo luarocks install metalua-compiler 0.7.3-1
|
|
|
|
- name: Install metalua-parser (prereq for LuaDocumentor)
|
|
run: |
|
|
sudo luarocks install metalua-parser 0.7.3-2
|
|
|
|
- name: Install checks (prereq for LuaDocumentor)
|
|
run: |
|
|
sudo luarocks install checks
|
|
|
|
#########################################################################
|
|
# Run LuaDocumentor
|
|
#########################################################################
|
|
- name: Run LuaDocumentor
|
|
run: |
|
|
lua luadocumentor.lua -d ${{ github.workspace }}/build/doc "${{ github.workspace }}/Moose Development/Moose"
|
|
working-directory: ${{ github.workspace }}/build/tools/luadocumentor
|
|
|
|
#########################################################################
|
|
# Push to MOOSE_DOCS
|
|
#########################################################################
|
|
- name: Set docs repo for branch
|
|
shell: bash
|
|
id: set_doc_repo
|
|
run: |
|
|
if [[ $GITHUB_REF == 'refs/heads/master' ]]; then
|
|
echo "docrepo=MOOSE_DOCS" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "docrepo=MOOSE_DOCS_DEVELOP" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Checkout ${{ steps.set_doc_repo.outputs.docrepo }} to folder MOOSE_DOCS
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: ${{ github.repository_owner }}/${{ steps.set_doc_repo.outputs.docrepo }}
|
|
path: './build/MOOSE_DOCS'
|
|
fetch-depth: 0
|
|
ref: 'master'
|
|
token: ${{ secrets.BOT_TOKEN }}
|
|
|
|
- name: Delete folder to remove deleted files
|
|
run: |
|
|
rm -rf ./build/MOOSE_DOCS/Documentation/
|
|
|
|
- name: Create target folder
|
|
run: mkdir -p build/MOOSE_DOCS/Documentation
|
|
|
|
- name: Copy build result to MOOSE_DOCS
|
|
run: |
|
|
cp ./build/doc/*.html ./build/MOOSE_DOCS/Documentation/
|
|
|
|
- name: Push result to docs repository
|
|
if: ${{ vars.FORCE_PUSH == 'true' }}
|
|
run: |
|
|
git config user.name "MooseBotter"
|
|
git config user.email "MooseBotter@users.noreply.github.com"
|
|
git add .
|
|
git commit --allow-empty -m "Auto commit by GitHub Actions Workflow"
|
|
git push --set-upstream origin master
|
|
|
|
working-directory: ${{ github.workspace }}/build/MOOSE_DOCS
|
|
|
|
#########################################################################
|
|
# Show the results
|
|
#########################################################################
|
|
- name: List files in the repository
|
|
run: |
|
|
tree ${{ github.workspace }}/build
|
|
|
|
- run: echo "This job's status is ${{ job.status }}."
|