Add new codelabs (#3763) #3597
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-publish | |
on: | |
workflow_dispatch: | |
push: | |
branches: [main] | |
permissions: | |
contents: read | |
pages: write | |
id-token: write | |
jobs: | |
build: | |
if: github.repository_owner == 'viamrobotics' | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/viamrobotics/canon:amd64 | |
steps: | |
- name: Checkout Push/Workflow Dispatch | |
uses: actions/checkout@v3 | |
with: | |
submodules: true # fetch hugo themes | |
fetch-depth: 0 | |
- name: Setup Pages | |
id: pages | |
uses: actions/configure-pages@v2 | |
- name: Setup Hugo | |
uses: peaceiris/actions-hugo@v2 | |
with: | |
hugo-version: "0.128.2" | |
extended: true | |
- name: Build | |
run: make build-prod | |
- name: Upload artifact | |
uses: actions/upload-pages-artifact@v1 | |
with: | |
path: ./public | |
- name: Upload tutorials search file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: tutorials-file | |
path: ./public/tutorials/typesense.json | |
- name: Upload how-tos search file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: howtos-file | |
path: ./public/how-tos/typesense.json | |
- name: Upload components models file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: components-models-file | |
path: ./public/components/typesense.json | |
- name: Upload services models file | |
uses: actions/upload-artifact@v4 | |
with: | |
name: services-models-file | |
path: ./public/services/typesense.json | |
deploy: | |
environment: | |
name: github-pages | |
url: ${{ steps.deployment.outputs.page_url }} | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- name: Deploy to GitHub Pages | |
id: deployment | |
uses: actions/deploy-pages@v1 | |
generate-index: | |
needs: deploy | |
if: github.repository_owner == 'viamrobotics' | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/viamrobotics/canon:amd64 | |
steps: | |
- name: Checkout Push/Workflow Dispatch | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# Unsure why this is needed - testing smaller sleep time | |
- name: Wait before index | |
run: sleep 60s | |
- name: Write env | |
run: | | |
echo TYPESENSE_API_KEY=${{ secrets.TYPESENSE_API_KEY }} > typesense.env | |
echo TYPESENSE_HOST=cgnvrk0xwyj9576lp-1.a1.typesense.net >> typesense.env | |
echo TYPESENSE_PORT=443 >> typesense.env | |
echo TYPESENSE_PROTOCOL=https >> typesense.env | |
- name: Index | |
run: docker run --env-file=typesense.env -e "CONFIG=$(cat docsearch.json)" typesense/docsearch-scraper | |
upsert-tutorials: | |
needs: build | |
runs-on: ubuntu-latest | |
if: github.repository_owner == 'viamrobotics' | |
steps: | |
- name: Checkout Push/Workflow Dispatch | |
uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.9" | |
cache: "pip" # caching pip dependencies | |
- name: Download the how-tos file | |
uses: actions/download-artifact@v4 | |
with: | |
name: howtos-file | |
path: "how-tos" | |
- name: Download the tutorials file | |
uses: actions/download-artifact@v4 | |
with: | |
name: tutorials-file | |
path: "tutorials" | |
- run: pip install -r .github/workflows/requirements.txt | |
- name: "Update tutorials resources" | |
run: python3 .github/workflows/upload_tutorials.py | |
env: | |
TYPESENSE_TUTORIALS_API_KEY: ${{ secrets.TYPESENSE_TUTORIALS_API_KEY }} | |
upsert-modular-resources: | |
needs: build | |
runs-on: ubuntu-latest | |
if: github.repository_owner == 'viamrobotics' | |
steps: | |
- name: Checkout Push/Workflow Dispatch | |
uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.9" | |
cache: "pip" # caching pip dependencies | |
- name: Download the components models file | |
uses: actions/download-artifact@v4 | |
with: | |
name: components-models-file | |
path: "components" | |
- name: Download the services models file | |
uses: actions/download-artifact@v4 | |
with: | |
name: services-models-file | |
path: "services" | |
- run: pip install -r .github/workflows/requirements.txt | |
- name: "Update modular resources" | |
run: python3 .github/workflows/get_modular_resources.py | |
env: | |
TYPESENSE_API_KEY_R: ${{ secrets.TYPESENSE_API_KEY_R }} | |
VIAM_API_KEY: ${{ secrets.VIAM_API_KEY }} | |
TEST_ORG_ID: ${{ secrets.TEST_ORG_ID }} |