undo commit that didn't push github_sha versions (#1366) #547
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 and Publish Docker Container and Pypanda Docs # Only for main panda-re repo, not forks | |
on: | |
push: | |
branches: | |
- dev | |
- stable | |
jobs: | |
build_dev: | |
if: github.repository == 'panda-re/panda' && github.ref == 'refs/heads/dev' | |
runs-on: self-hosted | |
steps: | |
- name: Checkout PANDA at current commit | |
uses: actions/checkout@v2 | |
- name: Docker login | |
run: docker login -u pandare -p ${{secrets.pandare_dockerhub}} | |
- name: Build Bionic container | |
# Push both dev and regular container | |
run: DOCKER_BUILDKIT=1 docker build --progress=plain --target=panda -t pandare/panda:${GITHUB_SHA} $GITHUB_WORKSPACE; | |
docker tag pandare/panda:${GITHUB_SHA} pandare/panda:latest; | |
docker push pandare/panda:${GITHUB_SHA}; | |
docker push pandare/panda; | |
DOCKER_BUILDKIT=1 docker build --progress=plain --target=developer -t pandare/pandadev:${GITHUB_SHA} $GITHUB_WORKSPACE; | |
docker tag pandare/pandadev:${GITHUB_SHA} pandare/pandadev:latest; | |
docker push pandare/pandadev:${GITHUB_SHA}; | |
docker push pandare/pandadev; | |
- name: Checkout docs and reset | |
run: rm -rf "${GITHUB_WORKSPACE}/auto_pydoc"; | |
git clone https://panda-jenkins-ci:${{ secrets.PANDABOT_GITHUB_API }}@github.com/panda-re/panda-re.github.io.git --branch=master ${GITHUB_WORKSPACE}/auto_pydoc/pandare | |
- name: Update PYPANDA docs in container | |
run: docker run --rm -v ${GITHUB_WORKSPACE}/auto_pydoc:/out pandare/pandadev:latest /bin/sh -c "pip3 install pdoc3; cd /panda/panda/python/core; pdoc3 --html --template-dir=../docs/template --force -o /out/${GITHUB_REF##*/} pandare; chmod -R 777 /out/" | |
# will put docs in workspace/auto_pydoc/dev/pandare and/or workspace/auto_pydoc/stable/pandare | |
# we want to copy auto_pydoc/dev/pandare to auto_pydoc/pandare/ and /auto_pydoc/stable/pandare to /auto_pydoc/pandare/stable | |
# | |
# This is a bit complicated, sorry. We want to keep pandare/{CNAME,.git/} and nothing else | |
# then we copy in the new files (and merge doc-search.html and index.js with dev/pandare/ | |
- name: Push PYPANDA docs to GitHub Pages if docs changed | |
run: cd "${GITHUB_WORKSPACE}/auto_pydoc" && | |
mv pandare/CNAME dev && | |
rm -rf pandare/* && | |
mv dev/pandare/* pandare && | |
rmdir dev/pandare && | |
mv dev/* pandare/ && | |
cd pandare && | |
git config --global user.email "panda-ci@panda-re.mit.edu" && | |
git config --global user.name "PANDA Bot" && | |
git add . && | |
git commit -m "Documentation update for PANDA commit ${{ github.sha }} branch dev" && | |
git push || true | |
build_stable: | |
if: github.repository == 'panda-re/panda' && github.ref == 'refs/heads/stable' | |
runs-on: self-hosted | |
steps: | |
- name: Checkout PANDA at current commit | |
uses: actions/checkout@v1 | |
- name: Docker login | |
run: docker login -u pandare -p ${{secrets.pandare_dockerhub}} | |
- name: Build Bionic container | |
# Push both dev and regular container | |
run: DOCKER_BUILDKIT=1 docker build --progress=plain --target=panda -t pandare/panda_stable:${GITHUB_SHA} $GITHUB_WORKSPACE; | |
docker tag pandare/panda_stable:${GITHUB_SHA} pandare/panda_stable:latest | |
docker push pandare/panda_stable:${GITHUB_SHA}; | |
docker push pandare/panda_stable; | |
#DOCKER_BUILDKIT=1 docker build --progress=plain --target=developer -t pandare/pandadev:${GITHUB_SHA} $GITHUB_WORKSPACE; | |
#docker tag pandare/panadev:${GITHUB_SHA} pandare/pandadev:latest | |
#docker push pandare/pandadev; | |
- name: Checkout docs and reset | |
run: rm -rf "${GITHUB_WORKSPACE}/auto_pydoc"; | |
git clone https://panda-jenkins-ci:${{ secrets.PANDABOT_GITHUB_API }}@github.com/panda-re/panda-re.github.io.git --branch=master ${GITHUB_WORKSPACE}/auto_pydoc/pandare | |
- name: Update PYPANDA docs in container | |
run: docker run --rm -v ${GITHUB_WORKSPACE}/auto_pydoc/pandare:/out pandare/pandadev:latest /bin/sh -c "pip3 install pdoc3; cd /panda/panda/python/core; pdoc3 --html --template-dir=../docs/template --force -o /out/${GITHUB_REF##*/} pandare; chmod -R 777 /out/" | |
# will put docs in workspace/auto_pydoc/dev/pandare and/or workspace/auto_pydoc/stable/pandare | |
# we want to copy /auto_pydoc/dev/pandare to /auto_doc and /auto_pydoc/stable/pandare to /auto_pydoc/stable | |
# | |
# This is a bit complicated, sorry. We create a directory stable and combine doc-search.html and index.js in there. | |
- name: Push PYPANDA docs to GitHub Pages if docs changed | |
#run: cd "${GITHUB_WORKSPACE}/auto_pydoc/pandare" && mv ./stable ./stable2; mv ./stable2/pandare stable; rm -rf ./stable2; | |
run: cd "${GITHUB_WORKSPACE}/auto_pydoc" && | |
rm -rf pandare/stable && | |
mv stable/pandare/* pandare/stable && | |
rmdir stable/pandare && | |
mv stable/* pandare/stable && | |
cd pandare && | |
git config --global user.email "panda-ci@panda-re.mit.edu" && | |
git config --global user.name "PANDA Bot" && | |
git add . && | |
git commit -m "Documentation update for PANDA commit ${{ github.sha }} branch stable" && | |
git push || true |