Build Test and Deploy on Github Pages #306
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Test and Deploy on Github Pages | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- GUI_deploy | |
# 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: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11.2 | |
- name: Install apt-get dependencies for Ubuntu | |
run: | | |
sudo apt-get update | |
sudo apt-get upgrade | |
sudo apt-get install libomp-dev libsuitesparse-dev clang | |
sudo apt-get install plantuml | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install python build dependencies | |
run: | | |
pip install --upgrade pip | |
pip install build | |
- name: Build for Ubuntu | |
run: python -m build | |
- name: Install locally with pip | |
run: pip install .[full] | |
- name: Run setup.py | |
run: python setup.py build_ext | |
- name: Read Emscripten version number | |
run: | | |
echo EMSCRIPTEN_VERSION=$(pyodide config get emscripten_version) >> $GITHUB_ENV | |
- name: Setup Emscripten | |
uses: mymindstorm/setup-emsdk@v11 | |
with: | |
version: ${{ env.EMSCRIPTEN_VERSION }} | |
- name: Build for Pyodide | |
run: | | |
pyodide build | |
find ./dist -name '*emscripten*.whl' -exec cp {} ./choreo_GUI/python_dist/ \; | |
# cp ./dist/choreo-0.2.0-cp311-cp311-emscripten_3_1_32_wasm32.whl ./choreo_GUI/python_dist/choreo-0.2.0-cp311-cp311-emscripten_3_1_32_wasm32.whl | |
- name: Make Gallery Descriptor | |
run: | | |
cd choreo_GUI | |
python MakeGalleryDescriptor.py | |
cd .. | |
- name: Setup Pages | |
uses: actions/configure-pages@v1 | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: './choreo_GUI/' | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v1 | |
- name: Run tests | |
continue-on-error: true | |
run: | | |
pytest | |
- name: Generate Documentation | |
run: | | |
cd docs | |
make html | |
- name: Commit documentation changes | |
run: | | |
git clone https://github.com/ammaraskar/sphinx-action-test.git --branch gh-pages --single-branch gh-pages | |
cp -r docs/build/html/* gh-pages/ | |
cd gh-pages | |
touch .nojekyll | |
git config --local user.email "[email protected]" | |
git config --local user.name "GitHub Action" | |
git add . | |
git commit -m "Update documentation" -a || true | |
- name: Push documentation changes | |
uses: ad-m/github-push-action@master | |
with: | |
branch: gh-pages | |
directory: gh-pages | |
github_token: ${{ secrets.CHOREO_DOCS_TOKEN }} | |
repository: gabrielfougeron/choreo-docs | |
force: true |