docs: add trusted publishing support (#1194) #613
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: Deploy Docs | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- "docs/**" | |
- "mkdocs.yml" | |
tags: | |
- v** | |
pull_request: | |
branches: | |
- main | |
paths: | |
- "docs/**" | |
- ".github/workflows/docs.yml" | |
- "mkdocs.yml" | |
- "pixi.*" | |
workflow_dispatch: | |
inputs: | |
tag: | |
description: "Tag to deploy" | |
required: true | |
default: "v0.0.0" | |
# Allow one concurrent deployment | |
concurrency: | |
group: "pages" | |
cancel-in-progress: true | |
jobs: | |
# Generate CLI docs by building the `generate-cli-docs` binary and commiting the result to the PR. | |
generate-cli-docs: | |
if: github.event_name == 'pull_request' && github.repository == 'prefix-dev/rattler-build' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ github.event.pull_request.head.repo.full_name }} | |
ref: ${{ github.event.pull_request.head.ref }} | |
- uses: prefix-dev/setup-pixi@v0.8.1 | |
- name: Build docs for PR | |
run: | | |
pixi run generate-cli-docs | |
- name: Check for changes | |
id: git_diff | |
run: | | |
git diff --exit-code || echo "has_changes=true" >> $GITHUB_ENV | |
- name: Output instructions if there are changes | |
if: env.has_changes == 'true' | |
run: | | |
echo "There are changes in the CLI docs." | |
echo "Please run the following commands to commit and push the changes:" | |
echo "" | |
echo "pixi run generate-cli-docs" | |
echo "git commit -am 'docs: update CLI docs'" | |
echo "git push" | |
echo "" | |
exit 1 | |
- name: Output message if there are no changes | |
if: env.has_changes != 'true' | |
run: echo "No changes detected." | |
build-docs: | |
needs: generate-cli-docs | |
if: github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: prefix-dev/setup-pixi@v0.8.1 | |
- name: Build docs for test | |
run: | | |
pixi run build-docs | |
docs-release: | |
# Don't run on forks | |
if: github.repository == 'prefix-dev/rattler-build' && (startsWith(github.event.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch' && startsWith(github.event.inputs.tag, 'v')) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
# fetch everything so we can checkout the tag | |
fetch-depth: 0 | |
submodules: recursive | |
# check out tag if workflow_dispatch | |
- name: Checkout tag | |
if: github.event_name == 'workflow_dispatch' | |
run: | | |
git checkout tags/${{ github.event.inputs.tag }} | |
- uses: prefix-dev/setup-pixi@v0.8.1 | |
- name: Configure Git user | |
run: | | |
git config --local user.email "github-actions[bot]@users.noreply.github.com" | |
git config --local user.name "github-actions[bot]" | |
- name: Extract tag name | |
if: github.event_name != 'workflow_dispatch' | |
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV | |
- name: Tag from workflow_dispatch | |
if: github.event_name == 'workflow_dispatch' | |
run: echo "RELEASE_VERSION=${{ github.event.inputs.tag }}" >> $GITHUB_ENV | |
- name: Deploy with mike 🚀 | |
run: | | |
pixi run deploy-latest | |
docs-dev: | |
# Don't run on forks | |
if: github.repository == 'prefix-dev/rattler-build' && (github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' && !startsWith(github.event.inputs.tag, 'v')) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
# fetch everything so we can checkout the tag | |
fetch-depth: 0 | |
submodules: recursive | |
- uses: prefix-dev/setup-pixi@v0.8.1 | |
- name: Configure Git user | |
run: | | |
git config --local user.email "github-actions[bot]@users.noreply.github.com" | |
git config --local user.name "github-actions[bot]" | |
- name: Deploy with mike 🚀 | |
run: | | |
pixi run deploy-dev |