Skip to content

Commit

Permalink
ci-staging: add new manual build workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
VDanielEdwards committed Jul 12, 2024
1 parent a39ed9a commit b3c378f
Show file tree
Hide file tree
Showing 3 changed files with 155 additions and 118 deletions.
78 changes: 78 additions & 0 deletions .github/workflows/manual-build-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: 'Manual Linux Build'

on:

workflow_dispatch:
inputs:

preset-name:
description: CMake preset
required: true
type: string
default: ci

docker-image:
description: Docker image
required: true
type: string
default: ghcr.io/mariusbgm/sil-kit-ci-ubuntu-18.04:main

retention-days:
description: Artifact retention in days (0 disables uploads)
required: true
type: number
default: 0

c-compiler:
description: Override the C compiler
required: true
type: string
default: gcc-8

cxx-compiler:
description: Override the C++ compiler
required: true
type: string
default: g++-8

cmake-configure-args:
description: Extra CMake configure arguments
required: false
type: string

cmake-build-args:
description: Extra CMake build arguments
required: false
type: string

ctest-args:
description: Extra CTest arguments
required: false
type: string
default: -R "^I?Test"

cmake-package-args:
description: Extra CMake package arguments
required: false
type: string

jobs:

manual-build-linux:
name: Manual Linux Build (${{ inputs.preset-name }} on ${{ inputs.docker-image }})
uses: ./.github/workflows/call-build.yml
with:
runs-on: ubuntu-22.04
preset-name: ${{ inputs.preset-name }}
upload-artifacts: ${{ inputs.retention-days > 0 && true || false }}
# NOTE: using fromJSON is a workaround for a bug in reusable workflows (workflow_call) with 'number' inputs
# https://github.com/orgs/community/discussions/67182#discussioncomment-8617964
retention-days: '${{ fromJSON(inputs.retention-days) }}'
package-name: SilKit-Linux-Manual
linux-docker-image: ${{ inputs.docker-image }}
c-compiler: ${{ inputs.c-compiler }}
cxx-compiler: ${{ inputs.cxx-compiler }}
cmake-configure-args: ${{ inputs.cmake-configure-args }}
cmake-build-args: ${{ inputs.cmake-build-args }}
ctest-args: ${{ inputs.ctest-args }}
cmake-package-args: ${{ inputs.cmake-package-args }}
77 changes: 77 additions & 0 deletions .github/workflows/manual-build-windows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: 'Manual Windows Build'

on:

workflow_dispatch:
inputs:

preset-name:
description: CMake preset
required: true
type: string
default: ci

runs-on:
description: Runner type
required: true
type: string
default: windows-2019

retention-days:
description: Artifact retention in days (0 disables uploads)
required: true
type: number
default: 0

msvc-arch:
description: Override the C compiler
required: true
type: string
default: x64

msvc-toolset:
description: Override the C++ compiler
required: true
type: string
default: '14.1'

cmake-configure-args:
description: Extra CMake configure arguments
required: false
type: string

cmake-build-args:
description: Extra CMake build arguments
required: false
type: string

ctest-args:
description: Extra CTest arguments
required: false
type: string
default: -R "^I?Test"

cmake-package-args:
description: Extra CMake package arguments
required: false
type: string

jobs:

manual-build-windows:
name: Manual Windows Build (${{ inputs.preset-name }} on ${{ inputs.runs-on }})
uses: ./.github/workflows/call-build.yml
with:
runs-on: ${{ inputs.runs-on }}
preset-name: ${{ inputs.preset-name }}
upload-artifacts: ${{ inputs.retention-days > 0 && true || false }}
# NOTE: using fromJSON is a workaround for a bug in reusable workflows (workflow_call) with 'number' inputs
# https://github.com/orgs/community/discussions/67182#discussioncomment-8617964
retention-days: '${{ fromJSON(inputs.retention-days) }}'
package-name: SilKit-Windows-Manual
msvc-arch: ${{ inputs.msvc-arch }}
msvc-toolset: '${{ inputs.msvc-toolset }}'
cmake-configure-args: ${{ inputs.cmake-configure-args }}
cmake-build-args: ${{ inputs.cmake-build-args }}
ctest-args: ${{ inputs.ctest-args }}
cmake-package-args: ${{ inputs.cmake-package-args }}
118 changes: 0 additions & 118 deletions .github/workflows/manual-build.yml

This file was deleted.

0 comments on commit b3c378f

Please sign in to comment.