blob: 330c45758caaf4669b09920c5ac27dd635cc4f82 [file] [log] [blame]
name: Merge actions
on:
push:
branches:
- master
jobs:
build:
name: Build documentation
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
# BuildStream requires tags to be able to find its version.
with:
fetch-depth: 0
- name: Give `testuser` ownership of the source directory
run: sudo chown -R 1000:1000 ${GITHUB_WORKSPACE}
- name: Build documentation using Docker Compose
run: |
docker-compose \
--env-file ${GITHUB_WORKSPACE}/.github/common.env \
--file ${GITHUB_WORKSPACE}/.github/compose/ci.docker-compose.yml \
run \
docs
# Restore permissions to the current user
sudo chown -R ${USER} ${GITHUB_WORKSPACE}
# Include a tarball in the published docs, allowing for
# easy re-publishing of master docs on docs.buildstream.build
tar -C doc/build/html -zcf docs.tgz .
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: docs
path: |
doc/build/html
docs.tgz
publish:
needs: build
runs-on: ubuntu-20.04
steps:
- name: Download artifact
uses: actions/download-artifact@v2
with:
name: docs
path: docs
- name: Checkout code
uses: actions/checkout@v2
with:
ref: gh-pages
path: pages
fetch-depth: 0
- name: Update repo
run: |
# First reset the branch state to the initial commit, this ensures that
# we do not pollute the repository with the history of every docs package
# we've ever published (history of docs packages for major releases is
# also stored as GitHub release assets)
#
cd pages/
git reset --hard GH_PAGES_FIRST_COMMIT
# Copy the docs asset over and overwrite the orphan gh-pages branch, ensure
# that we disable GitHub's jekyll by creating the .nojekyll file, otherwise
# it will interfere with the rendering of the site.
#
cp -a ../docs/doc/build/html/* .
cp -a ../docs/docs.tgz .
touch .nojekyll
git add .
git config --local user.email "merge-ci@ponyland"
git config --local user.name "Github Actions Nightly Job"
git commit -m "Update repo for docs build $GITHUB_RUN_NUMBER"
git push --force "https://$GITHUB_ACTOR:$GITHUB_TOKEN@github.com/$GITHUB_REPOSITORY.git" gh-pages