-
Notifications
You must be signed in to change notification settings - Fork 411
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Move Documentation Job to GHA (#8718)
Summary: This PR moves the doc gen job to gha. There are some minor changes compared to the original job: - it uses the built-in `GITHUB_TOKEN` so it will no longer be necessary to keep an SSH key with full write access around. - The key currently used by CCI should be deleted once this is merged. - only runs when changes happen in velox/docs - runs in relevant PRs and uploads the generated docs as a shortlived artifact for easier review - I removed the pyvelox build for now as the the API documentation wasn't generated/used. We can add this in when we want to use it, until then it's just wasted CI time. I have also added a `dependabot.yml` to enable dependabot for Github Actions updates (this might need to be enabled in the repo settings). To avoid supply chain attacks via force pushed tag of actions we want to pin actions to a specific SHA when using actions in privileged workflows with permissions (e.g. `contents: write`) or that expose secrets. Dependabot will open PRs to update these SHAs (and the normal version tags) Pull Request resolved: facebookincubator/velox#8718 Reviewed By: xiaoxmeng Differential Revision: D54315010 Pulled By: kgpai fbshipit-source-id: 4d284fe01352ec3c5191f6ff3748b13e2434bba3
- Loading branch information
1 parent
fb48774
commit b07d497
Showing
3 changed files
with
106 additions
and
47 deletions.
There are no files selected for viewing
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Copyright (c) Facebook, Inc. and its affiliates. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
version: 2 | ||
updates: | ||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" | ||
|
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
# Copyright (c) Facebook, Inc. and its affiliates. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
name: Update Documentation | ||
|
||
on: | ||
push: | ||
paths: | ||
- "velox/docs/**" | ||
- ".github/workflows/docs.yml" | ||
|
||
pull_request: | ||
paths: | ||
- "velox/docs/**" | ||
- ".github/workflows/docs.yml" | ||
|
||
permissions: | ||
contents: write | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.repository }}-${{ github.head_ref || github.sha }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build_docs: | ||
name: Build and Push | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: Checkout | ||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup Git User | ||
run: | | ||
git config --global user.email "velox@users.noreply.github.com" | ||
git config --global user.name "velox" | ||
- name: Install Dependencies | ||
run: | | ||
sudo apt update | ||
sudo apt install -y pandoc | ||
pip install sphinx sphinx-tabs breathe sphinx_rtd_theme chardet | ||
- name: Build Documentation | ||
run: | | ||
cd velox/docs | ||
make clean | ||
# pyvelox | ||
mkdir -p bindings/python | ||
pandoc ../../pyvelox/README.md --from markdown --to rst -s -o bindings/python/README_generated_pyvelox.rst | ||
# velox | ||
make html | ||
- name: Push Documentation | ||
if: ${{ github.event_name == 'push' && github.repository == 'facebookincubator/velox'}} | ||
run: | | ||
git checkout gh-pages | ||
cp -R velox/docs/_build/html/* docs | ||
git add docs | ||
if [ -n "$(git status --porcelain --untracked-files=no)" ] | ||
then | ||
git commit -m "Update documentation" | ||
git push | ||
fi | ||
- name: Upload Documentation | ||
if: github.event_name == 'pull_request' | ||
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 | ||
with: | ||
path: velox/docs/_build/html | ||
retention-days: 3 |