mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
152 lines
5.0 KiB
YAML
152 lines
5.0 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
|
|
- patches
|
|
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
|
|
channel:
|
|
description: Channel to use when generating Windows update files
|
|
type: string
|
|
required: false
|
|
permissions:
|
|
contents: write
|
|
jobs:
|
|
services-validation:
|
|
name: Validate Services 🕵️
|
|
if: github.repository_owner == 'obsproject' && inputs.job == 'services'
|
|
runs-on: macos-14
|
|
permissions:
|
|
checks: write
|
|
contents: write
|
|
pull-requests: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Check for Defunct Services 📉
|
|
uses: ./.github/actions/services-validator
|
|
with:
|
|
repositorySecret: ${{ secrets.GITHUB_TOKEN }}
|
|
checkApiSecret: ${{ secrets.CHECK_SERVERS_API_KEY }}
|
|
checkApiServers: ${{ secrets.CHECK_SERVERS_LIST }}
|
|
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@v4
|
|
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-14
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- 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@v4
|
|
- 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@v4
|
|
- 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@v4
|
|
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 }}'
|
|
|
|
windows-patches:
|
|
name: Create Windows Patches 🩹
|
|
if: github.repository_owner == 'obsproject' && inputs.job == 'patches'
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: ./.github/actions/windows-patches
|
|
with:
|
|
tagName: ${{ inputs.ref }}
|
|
workflowSecret: ${{ github.token }}
|
|
channel: ${{ inputs.channel }}
|
|
gcsAccessKeyId: ${{ secrets.GCS_ACCESS_KEY_ID }}
|
|
gcsAccessKeySecret: ${{ secrets.GCS_ACCESS_KEY_SECRET }}
|