Skip to content

Commit

Permalink
First try at doc building/uploading on github.
Browse files Browse the repository at this point in the history
  • Loading branch information
bluescarni committed Dec 16, 2024
1 parent 1ae19f3 commit b4a355d
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 53 deletions.
16 changes: 0 additions & 16 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,6 @@
version: 2.1

jobs:
conda_asan:
docker:
- image: cimg/base:current
resource_class: large
steps:
- checkout
# NOTE: temporary workaround for asan failures with too
# much entropy. See:
# https://github.com/google/sanitizers/issues/1614
- run:
name: Fix mmap_rnd_bits for asan
command: sudo sysctl vm.mmap_rnd_bits=28
- run:
name: Build and test
command: bash ./tools/circleci_conda_asan.sh
ubuntu_arm64:
machine:
image: ubuntu-2204:current
Expand All @@ -31,5 +16,4 @@ workflows:
version: 2.1
all_builds:
jobs:
- conda_asan
- ubuntu_arm64
11 changes: 11 additions & 0 deletions .github/workflows/gha_ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,17 @@ jobs:
- uses: actions/checkout@v4
- name: Build
run: bash tools/gha_conda_ubsan.sh
conda_asan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: bash tools/gha_conda_asan.sh
# Upload the docs.
- uses: actions/upload-artifact@v4
with:
name: docs
path: doc/_build/html
conda_llvm18_asan:
runs-on: ubuntu-latest
steps:
Expand Down
52 changes: 52 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Build and upload docs

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

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

# Make this workflow depend on the other one.
workflow_run:
workflows:
- "GitHub CI"
types:
- success

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

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v4
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: docs
- name: Upload docs
uses: actions/upload-pages-artifact@v3
with:
path: './doc/_build/html'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
37 changes: 0 additions & 37 deletions tools/circleci_conda_asan.sh → tools/gha_conda_asan.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,42 +55,5 @@ if [[ "${SPHINX_OUTPUT}" != "" ]]; then
fi
echo "Sphinx ran successfully";

if [[ ! -z "${CI_PULL_REQUEST}" ]]; then
echo "Testing a pull request, the generated documentation will not be uploaded.";
exit 0;
fi

if [[ "${CIRCLE_BRANCH}" != "master" ]]; then
echo "Branch is not master, the generated documentation will not be uploaded.";
exit 0;
fi

# Check out the gh_pages branch in a separate dir.
cd ../
git config --global push.default simple
git config --global user.name "CircleCI"
git config --global user.email "[email protected]"
set +x
git clone "https://${GH_TOKEN}@github.com/bluescarni/heyoka.git" heyoka_gh_pages -q
set -x
cd heyoka_gh_pages
git checkout -b gh-pages --track origin/gh-pages;
git rm -fr *;
mv ../doc/_build/html/* .;
git add *;
# We assume here that a failure in commit means that there's nothing
# to commit.
git commit -m "Update Sphinx documentation, commit ${CIRCLE_SHA1} [skip ci]." || exit 0
PUSH_COUNTER=0
until git push -q
do
git pull -q
PUSH_COUNTER=$((PUSH_COUNTER + 1))
if [ "$PUSH_COUNTER" -gt 3 ]; then
echo "Push failed, aborting.";
exit 1;
fi
done

set +e
set +x

0 comments on commit b4a355d

Please sign in to comment.