dfhack/.github/workflows/steam-deploy.yml

100 lines
2.6 KiB
YAML

name: Deploy to Steam
on:
push:
tags:
- '*'
workflow_dispatch:
inputs:
ref:
description: Branch or commit hash
type: string
required: true
default: develop
version:
description: Version or build description
type: string
required: true
release_channel:
description: Steam release channel
type: string
required: true
default: staging
jobs:
depot-common:
name: Common depot files
uses: ./.github/workflows/build-linux.yml
with:
artifact-name: common-depot
dfhack_ref: ${{ github.event.inputs && github.event.inputs.ref || github.event.ref }}
platform-files: false
docs: true
stonesense: true
secrets: inherit
depot-win64:
name: Windows depot files
uses: ./.github/workflows/build-windows.yml
with:
artifact-name: win64-depot
dfhack_ref: ${{ github.event.inputs && github.event.inputs.ref || github.event.ref }}
cache-id: release
cache-readonly: true
common-files: false
stonesense: true
launchdf: true
secrets: inherit
depot-linux64:
name: Linux depot files
uses: ./.github/workflows/build-linux.yml
with:
artifact-name: linux64-depot
dfhack_ref: ${{ github.event.inputs && github.event.inputs.ref || github.event.ref }}
cache-id: release
cache-readonly: true
common-files: false
stonesense: true
secrets: inherit
deploy-to-steam:
name: Deploy to Steam
needs:
- depot-common
- depot-win64
- depot-linux64
runs-on: ubuntu-latest
concurrency: steam
steps:
- name: Set env
run: echo "TAG=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Stage common depot files
uses: actions/download-artifact@v3
with:
name: common-depot
path: common
- name: Stage win64 depot files
uses: actions/download-artifact@v3
with:
name: win64-depot
path: win64
- name: Stage linux64 depot files
uses: actions/download-artifact@v3
with:
name: linux64-depot
path: linux64
- name: Steam deploy
uses: game-ci/steam-deploy@v3
with:
username: ${{ secrets.STEAM_USERNAME }}
configVdf: ${{ secrets.STEAM_CONFIG_VDF}}
appId: 2346660
buildDescription: ${{ github.event.inputs && github.event.inputs.version || env.TAG }}
rootPath: .
depot1Path: common
depot2Path: win64
depot3Path: linux64
releaseBranch: ${{ github.event.inputs && github.event.inputs.release_channel || 'staging' }}