feat: add concurreny
configuration
#1935
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/**" | |
- ".github/workflows/docs.yml" | |
- "mkdocs.yml" | |
- "pixi.*" | |
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: | |
build-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/[email protected] | |
with: | |
environments: docs | |
- name: Build docs for test | |
run: | | |
pixi run build-docs | |
docs-release: | |
# Don't run on forks | |
if: github.repository == 'prefix-dev/pixi' && (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/[email protected] | |
with: | |
environments: docs | |
- 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 -e docs mike deploy --push --update-aliases $RELEASE_VERSION latest | |
docs-dev: | |
# Don't run on forks | |
if: github.repository == 'prefix-dev/pixi' && (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/[email protected] | |
with: | |
environments: docs | |
- 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 | |
- name: Copy file to gh-pages | |
run: | | |
git fetch | |
git checkout gh-pages | |
git checkout main -- install/install.sh install/install.ps1 | |
mv install/install.sh install/install.ps1 . | |
git restore --staged . | |
git add install.sh install.ps1 | |
# Check diff before committing | |
git diff-index --quiet HEAD || git commit -m "Update install scripts from main" | |
git push origin gh-pages |