mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-01-24 14:19:11 -05:00
generate-docs action does not require a commitHash (it discovers this value automatically) and redirects do not need to be set up anymore as the old documentation pages have been removed.
131 lines
4.2 KiB
YAML
131 lines
4.2 KiB
YAML
name: Dispatch
|
|
run-name: Dispatched Repository Actions - ${{ inputs.job }} ⌛️
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
job:
|
|
description: Dispatch job to run
|
|
required: true
|
|
type: choice
|
|
options:
|
|
- steam
|
|
- services
|
|
- translations
|
|
- documentation
|
|
ref:
|
|
description: GitHub reference to use for job
|
|
type: string
|
|
required: false
|
|
customAssetWindows:
|
|
description: Custom Windows build for Steam Upload
|
|
type: string
|
|
required: false
|
|
customAssetMacOSApple:
|
|
description: Custom macOS Apple Silicon build for Steam Upload
|
|
type: string
|
|
required: false
|
|
customAssetMacOSIntel:
|
|
description: Custom macOS Intel build for Steam Upload
|
|
type: string
|
|
required: false
|
|
permissions:
|
|
contents: write
|
|
jobs:
|
|
services-validation:
|
|
name: Validate Services 🕵️
|
|
if: github.repository_owner == 'obsproject' && inputs.job == 'services'
|
|
runs-on: macos-13
|
|
permissions:
|
|
checks: write
|
|
contents: write
|
|
pull-requests: write
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Check for Defunct Services 📉
|
|
uses: ./.github/actions/services-validator
|
|
with:
|
|
repositorySecret: ${{ secrets.GITHUB_TOKEN }}
|
|
runSchemaChecks: true
|
|
runServiceChecks: true
|
|
createPullRequest: true
|
|
|
|
download-language-files:
|
|
name: Download Language Files 🌐
|
|
if: github.repository_owner == 'obsproject' && inputs.job == 'translations'
|
|
runs-on: ubuntu-22.04
|
|
env:
|
|
CROWDIN_PAT: ${{ secrets.CROWDIN_SYNC_CROWDIN_PAT }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
submodules: recursive
|
|
token: ${{ secrets.CROWDIN_SYNC_GITHUB_PAT }}
|
|
fetch-depth: 0
|
|
- uses: obsproject/obs-crowdin-sync/download@30b5446e3b5eb19595aa68a81ddf896a857302cf
|
|
|
|
steam-upload:
|
|
name: Upload Steam Builds 🚂
|
|
if: github.repository_owner == 'obsproject' && inputs.job == 'steam'
|
|
runs-on: macos-13
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: ./.github/actions/steam-upload
|
|
with:
|
|
steamSecret: ${{ secrets.STEAM_SHARED_SECRET }}
|
|
steamUser: ${{ secrets.STEAM_USER }}
|
|
steamPassword: ${{ secrets.STEAM_PASSWORD }}
|
|
tagName: ${{ inputs.ref }}
|
|
customAssetWindows: ${{ inputs.customAssetWindows }}
|
|
customAssetMacOSApple: ${{ inputs.customAssetMacOSApple }}
|
|
customAssetMacOSIntel: ${{ inputs.customAssetMacOSIntel }}
|
|
workflowSecret: ${{ github.token }}
|
|
preview: false
|
|
|
|
update-documentation:
|
|
name: Update Documentation 📖
|
|
if: github.repository_owner == 'obsproject' && inputs.job == 'documentation'
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: ./.github/actions/generate-docs
|
|
|
|
update-documentation-cloudflare:
|
|
name: Update Documentation for Cloudflare ☁️
|
|
if: github.repository_owner == 'obsproject' && inputs.job == 'documentation'
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: ./.github/actions/generate-docs
|
|
with:
|
|
disableLinkExtensions: true
|
|
|
|
deploy-documentation:
|
|
name: Deploy Documentation to Cloudflare ☁️
|
|
if: github.repository_owner == 'obsproject' && inputs.job == 'documentation'
|
|
runs-on: ubuntu-22.04
|
|
needs: update-documentation-cloudflare
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
environment:
|
|
name: cf-pages-deploy
|
|
steps:
|
|
- name: Get Commit Information 🆔
|
|
id: setup
|
|
run: |
|
|
: Get Commit Hash 🆔
|
|
echo "commitHash=${GITHUB_SHA:0:9}" >> $GITHUB_OUTPUT
|
|
|
|
- uses: actions/download-artifact@v3
|
|
with:
|
|
name: OBS Studio Docs (No Extensions) ${{ steps.setup.outputs.commitHash }}
|
|
path: docs
|
|
|
|
- name: Publish to Live Page
|
|
uses: cloudflare/wrangler-action@4c10c1822abba527d820b29e6333e7f5dac2cabd
|
|
with:
|
|
workingDirectory: docs
|
|
apiToken: ${{ secrets.CF_API_TOKEN }}
|
|
accountId: ${{ secrets.CF_ACCOUNT_ID }}
|
|
command: pages publish . --project-name=${{ vars.CF_PAGES_PROJECT }} --commit-hash='${{ steps.setup.outputs.commitHash }}'
|