Docs #30
Workflow file for this run
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: Docs | |
on: | |
pull_request: | |
paths: | |
- "docs/mkdocs.yml" | |
# Publish docs weekly | |
schedule: | |
- cron: '0 9 * * 1' | |
workflow_dispatch: | |
inputs: | |
is-new-version: | |
type: boolean | |
description: Deploying new version? If not, skip the next four parameters. | |
default: false | |
required: true | |
version-number: | |
type: string | |
description: What is the new version number for the website? | |
default: dev | |
required: false | |
djl-tag: | |
type: string | |
description: The commit SHA (e.g. 6b642e1) for the tag of the version of djl. | |
default: 'DJL SHA' | |
required: false | |
djl-serving-tag: | |
type: string | |
description: The commit SHA (e.g. 6b642e1) for the version of djl-serving. | |
default: 'DJL Serving SHA' | |
required: false | |
djl-demo-tag: | |
description: The commit SHA (e.g. 6b642e1) for the version of djl-demo. | |
default: 'DJL Demo SHA' | |
required: false | |
testing: | |
type: boolean | |
description: Is this a test run that will be build into gamma account? | |
default: false | |
required: false | |
testing-credentials: | |
type: string | |
description: Provide the bash credentials | |
default: Bash Credentials | |
required: false | |
jobs: | |
documentation: | |
# Change line below | |
if: github.repository == 'Varun-Dutta/djl' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'corretto' | |
java-version: 17 | |
- name: Set up Python3 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.x' | |
- name: Install CN fonts | |
run: sudo apt-get update && sudo apt-get install fonts-arphic-uming | |
- name: install Python Dependencies | |
run: pip3 install nbconvert mkdocs==1.4.3 mkdocs-exclude mknotebooks mkdocs-material jupyter Pygments Markdown mike | |
- name: Install IJava kernel | |
run: | | |
git clone https://github.com/frankfliu/IJava.git | |
cd IJava/ | |
./gradlew installKernel | |
- name: Create website directory | |
run: | | |
cd /home/runner/work/djl | |
mkdir site | |
pwd | |
ls | |
- name: Checkout Previous Version of DJL Repo | |
if: ${{ github.event.inputs.is-new-version == 'true' }} | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.inputs.djl-tag }} | |
- name: Checkout Current Version of DJL Repo | |
if: ${{ github.event.inputs.is-new-version == 'false' }} | |
uses: actions/checkout@v4 | |
- name: Add mybinder link | |
run: | | |
python3 tools/scripts/add_online_runner.py | |
- name: Clone DJL-Serving and DJL Demos | |
env: | |
NEW_VERSION_BOOLEAN: ${{ github.event.inputs.is-new-version }} | |
DJL_DEMO_SHA: ${{ github.event.inputs.djl-demo-tag }} | |
DJL_SERVING_SHA: ${{ github.event.inputs.djl-serving-tag }} | |
run: | | |
pwd | |
cd /home/runner/work/djl/djl/docs | |
git clone https://github.com/deepjavalibrary/djl-demo.git demos | |
git clone https://github.com/deepjavalibrary/djl-serving.git serving | |
if [ "$NEW_VERSION_BOOLEAN" = "true" ]; then | |
cd demos | |
git checkout $DJL_DEMO_SHA | |
cd ../serving | |
git checkout $DJL_SERVING_SHA | |
cd .. | |
fi | |
shell: bash | |
# - name: run Notebooks | |
# run: | | |
# cd docs/demos/jupyter | |
# bash test_notebook.sh | |
- name: Configure AWS Test Credentials | |
if: ${{ github.event.inputs.testing == 'true' }} | |
id: set_credentials | |
env: | |
SCRIPT: ${{ github.event.inputs.testing-credentials }} | |
run: | | |
echo "$SCRIPT" > script.sh | |
chmod +x script.sh | |
source ./script.sh | |
echo "AWS_DEFAULT_REGION=us-east-1" >> $GITHUB_ENV | |
echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" >> $GITHUB_ENV | |
echo "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" >> $GITHUB_ENV | |
echo "AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN" >> $GITHUB_ENV | |
- name: Configure Deployment AWS Credentials | |
if: ${{ github.event_name != 'pull_request' && github.event.inputs.testing != 'true' }} | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-east-2 | |
- name: Sync gh-pages | |
env: | |
TESTING: ${{ github.event.inputs.testing }} | |
run: | | |
git config --global user.name "${GITHUB_ACTOR}" | |
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com" | |
git branch | |
git checkout -b gh-pages | |
git checkout workflow-update | |
mike delete --all | |
git checkout gh-pages | |
if [ $TESTING = 'true' ]; then | |
echo "Attempting sync" | |
aws s3 sync s3://updated-documentation-website/website . | |
else | |
aws s3 sync s3://djl-ai/documentation/nightly . | |
fi | |
git add . | |
git commit -m "Add previous website version" | |
ls | |
shell: bash | |
#Double Check | |
- name: build docs | |
env: | |
VERSION_NUMBER: ${{ github.event.inputs.version-number }} | |
IS_NEW_VERSION: ${{ github.event.inputs.is-new-version }} | |
run: | | |
git checkout workflow-update | |
git branch | |
cd /home/runner/work/djl/djl/docs | |
export DJL_DISABLE_PROGRESS_BAR=true | |
if [ "$IS_NEW_VERSION" = "true" ]; then | |
mike deploy $VERSION_NUMBER latest | |
else | |
mike deploy dev | |
mike set-default dev | |
fi | |
shell: bash | |
- name: Copy files to S3 with the AWS CLI | |
if: github.event_name != 'pull_request' | |
env: | |
TESTING: ${{ github.event.inputs.testing }} | |
run: | | |
git checkout gh-pages | |
ls | |
if [ "$TESTING" = "true" ]; then | |
echo "TEST SYNC" | |
aws s3 sync . s3://updated-documentation-website/website --delete | |
else | |
echo "REAL SYNC" | |
aws s3 sync . s3://djl-ai/documentation/nightly --delete | |
aws cloudfront create-invalidation --distribution-id E733IIDCG0G5U --paths "/*" | |
fi | |
shell: bash | |