Skip to content

Add If-Match header to sample patch endpoints #14282

Add If-Match header to sample patch endpoints

Add If-Match header to sample patch endpoints #14282

Workflow file for this run

name: Build docs
on:
push:
branches:
- docs-*
- github-actions-*
- rel-*
- release-*
- release/*
tags:
- dev-docs-publish
- docs-publish
- v*
paths:
- .github/workflows/build-docs.yml
- docs/**
- examples/**
- fiftyone/**
- "**.py"
- "**.md"
- "**.rst"
pull_request:
branches:
- develop
- feat/*
- main
- rel-*
- release-*
- release/*
paths:
- .github/workflows/build-docs.yml
- docs/**
- examples/**
- fiftyone/**
- requirements/**
- "**.py"
- "**.md"
- "**.rst"
jobs:
build:
runs-on: ubuntu-latest-m
env:
FIFTYONE_DO_NOT_TRACK: true
DOCSEARCH_API_KEY: ${{ secrets.DOCSEARCH_API_KEY }}
steps:
- name: Clone fiftyone for tag builds
if: github.ref_type == 'tag'
uses: actions/checkout@v5
with:
# Fetch full history for rev-parse to work
fetch-depth: 0
- name: Clone fiftyone for branch builds
if: github.ref_type == 'branch'
uses: actions/checkout@v5
- name: Get Branch Name
id: get_branch
run: |
if [[ "${{ github.ref_type }}" == "tag" ]]; then
TAG_SHA=$(git rev-parse ${{ github.ref }})
case "${{ github.ref_name }}" in
docs-publish|v*)
MAIN_SHA=$(git rev-parse origin/main)
if [[ "${MAIN_SHA}" == "${TAG_SHA}" ]]; then
echo "branch_name=main" >> "${GITHUB_OUTPUT}"
else
echo "docs-publish should only be performed on 'main'"
exit 1
fi
;;
dev-docs-publish)
DEVELOP_SHA=$(git rev-parse origin/develop)
if [[ "${DEVELOP_SHA}" == "${TAG_SHA}" ]]; then
echo "branch_name=develop" >> "${GITHUB_OUTPUT}"
else
echo "dev-docs-publish should only be performed on 'develop'"
exit 1
fi
;;
esac
else
case "${{ github.ref_name }}" in
main|develop)
echo "branch_name=${{ github.ref_name }}" >> "${GITHUB_OUTPUT}"
;;
*)
# use `main` because arbitrary branch names may not exist on `fiftyone-teams` or `eta`
echo "branch_name=main" >> "${GITHUB_OUTPUT}"
;;
esac
fi
- name: Checkout fiftyone-teams
uses: actions/checkout@v5
with:
repository: voxel51/fiftyone-teams
path: fiftyone-teams
token: ${{ secrets.RO_FOT_FG_PAT }}
ref: ${{ steps.get_branch.outputs.branch_name }}
- name: Set up Python 3.11
uses: actions/setup-python@v6
with:
python-version: "3.11"
- name: Install pip dependencies
run: |
pip install --upgrade pip setuptools wheel build
- name: Install ETA from source
run: |
git clone https://github.com/voxel51/eta eta --depth 1 --branch "${{ steps.get_branch.outputs.branch_name }}"
cd eta
python -Im build
pip install ./dist/*.whl
- name: Install
run: |
echo "Installing system dependencies"
sudo apt-get install pandoc
echo "Installing docs requirements"
pip install -r requirements/docs.txt
echo "Installing fiftyone-teams requirements"
pip install ./fiftyone-teams
echo "Installing fiftyone-brain and fiftyone-db"
pip install fiftyone-brain fiftyone-db
echo "Installing fiftyone"
pip install .
- name: Enable corepack
run: corepack enable
- name: Prepare yarn 4
run: corepack prepare [email protected] --activate
- name: Cache Node Modules
id: node-cache
uses: actions/cache@v4
with:
path: |
app/node_modules
app/.yarn/cache
key: node-modules-${{ hashFiles('app/yarn.lock') }}
- name: Install app
if: steps.node-cache.outputs.cache-hit != 'true'
run: cd app && yarn install
- name: Build docs
run: |
./docs/generate_docs.bash -t fiftyone-teams
- name: Upload docs
uses: actions/upload-artifact@v4
with:
name: docs
path: docs/build/html/
outputs:
branch_name: ${{ steps.get_branch.outputs.branch_name}}
publish:
needs: [build]
if: |
needs.build.outputs.branch_name == 'main' &&
(startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/tags/docs-publish')
runs-on: ubuntu-latest
steps:
- name: Download docs
uses: actions/download-artifact@v5
with:
name: docs
path: docs-download/
- name: Authorize gcloud
uses: google-github-actions/auth@v3
with:
credentials_json: "${{ secrets.DOCS_GCP_CREDENTIALS }}"
- name: Set up gcloud
uses: google-github-actions/setup-gcloud@v3
- name: publish
run: gsutil -m rsync -dR -x '^SBOMs/.*' docs-download gs://docs.voxel51.com
dev-publish:
needs: [build]
if: |
needs.build.outputs.branch_name == 'develop' &&
github.ref == 'refs/tags/dev-docs-publish'
runs-on: ubuntu-latest
steps:
- name: Download docs
uses: actions/download-artifact@v5
with:
name: docs
path: docs-download/
- name: Authorize gcloud
uses: google-github-actions/auth@v3
with:
credentials_json: "${{ secrets.DOCS_GCP_CREDENTIALS }}"
- name: Set up gcloud
uses: google-github-actions/setup-gcloud@v3
- name: publish
run: gsutil -m rsync -dR -x '^robots.txt' docs-download gs://docs.dev.voxel51.com