Skip to content

Commit

Permalink
Add moosedocs build action
Browse files Browse the repository at this point in the history
  • Loading branch information
alexanderianblair committed Sep 23, 2024
1 parent 95d7d49 commit 1525422
Show file tree
Hide file tree
Showing 3 changed files with 167 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: BuildDocs
on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
docker-build-test-ubuntu:
runs-on: ubuntu-latest
name: BuildDocsUbuntu
env:
PRCOMMITSHA: ${{ github.event.pull_request.head.sha }}
PRREPOSITORY: ${{ github.event.pull_request.head.repo.full_name }}
steps:
- name: Get Docker image
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: idaholab/moose
# First check out the repository to get the docker file
- name: Checkout
uses: actions/checkout@v4
# Print the context for this GitHub workflow
- name: PrintGithubContext
run: echo "${PRCOMMITSHA:-$GITHUB_SHA}" "${PRREPOSITORY:-$GITHUB_REPOSITORY}"
# Now build in a container with all deps
- name: DockerBuildTest
run: |
docker build -t ci-moosedocstest \
--build-arg build_git_sha="${PRCOMMITSHA:-$GITHUB_SHA}" \
--build-arg build_git_repo="${PRREPOSITORY:-$GITHUB_REPOSITORY}" \
docker/moosedocs_git_hub_pages_test
107 changes: 107 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.

# Sample workflow for building and deploying MooseDocs site to GitHub Pages
name: Deploy MooseDocs to Pages

on:
push:
branches: ["main"]
paths:
- "doc/**"
pull_request:
branches: ["main"]
paths:
- "doc/**"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow one concurrent deployment
concurrency:
group: "pages"
cancel-in-progress: true

jobs:
# Build job
build-docs:
runs-on: ubuntu-latest
name: BuildDocsUbuntu
env:
PRCOMMITSHA: ${{ github.event.pull_request.head.sha }}
PRREPOSITORY: ${{ github.event.pull_request.head.repo.full_name }}
steps:
- name: Get Docker image
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: idaholab/moose
- name: Build docs
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: idaholab/moose
# First check out the repository to get the docker file
- name: Checkout
uses: actions/checkout@v4
# Print the context for this GitHub workflow
- name: PrintGithubContext
run: echo "${PRCOMMITSHA:-$GITHUB_SHA}" "${PRREPOSITORY:-$GITHUB_REPOSITORY}"
# Now build in a container with all deps
- name: DockerBuildDocs
run: docker build -t ci-docs-ubuntu \
--build-arg build_git_sha="${PRCOMMITSHA:-$GITHUB_SHA}" \
--build-arg build_git_repo="${PRREPOSITORY:-$GITHUB_REPOSITORY}" \
docker/moosedocs_git_hub_pages_test
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v4
with:
path: "docs/_site/"

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build-docs
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4


# defaults:
# run:
# working-directory: docs
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Setup Ruby
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: '3.1' # Not needed with a .ruby-version file
# bundler-cache: true # runs 'bundle install' and caches installed gems automatically
# cache-version: 0 # Increment this number if you need to re-download cached gems
# working-directory: '${{ github.workspace }}/docs'
# - name: Setup Pages
# id: pages
# uses: actions/configure-pages@v3
# - name: Build with Jekyll
# # Outputs to the './_site' directory by default
# run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
# env:
# JEKYLL_ENV: production
# - name: Upload artifact
# # Automatically uploads an artifact from the './_site' directory by default
# uses: actions/upload-pages-artifact@v4
# with:
# path: "docs/_site/"
24 changes: 24 additions & 0 deletions docker/moosedocs_git_hub_pages_test/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Build and test MooseDocsGitHubPagesTest image
# Get base image
FROM idaholab/moose

# By default four cores are used to compile
ARG compile_cores=4

# By default checkout main branch
ARG build_git_sha=main
ARG build_git_repo=alexanderianblair/moosedocs_git_hub_pages_test

# By default we install everything under /opt
ARG WORKDIR=opt

# Get MooseDocsGitHubPagesTest
WORKDIR /$WORKDIR
RUN git clone https://github.com/$build_git_repo
WORKDIR /$WORKDIR/moosedocs_git_hub_pages_test
RUN git checkout $build_git_sha

# Build MooseDocsGitHubPagesTest
WORKDIR /$WORKDIR/moosedocs_git_hub_pages_test
RUN make -j$compile_cores
RUN make -j$compile_cores doc

0 comments on commit 1525422

Please sign in to comment.