Add choice to Build Inputs workflow for alternative layout options

Add Test Inputs workflow with all text fields for matrix builds
This commit is contained in:
Manna Harbour 2022-08-26 12:23:04 +10:00
parent 095fd13c5c
commit 6f05a17c01
4 changed files with 126 additions and 2 deletions

View File

@ -1,4 +1,4 @@
# Copyright 2021 Manna Harbour
# Copyright 2022 Manna Harbour
# https://github.com/manna-harbour/miryoku
name: 'Build Inputs'
@ -16,18 +16,45 @@ on:
description: 'alphas'
required: false
default: 'default'
type: choice
options:
- "default"
- "AZERTY"
- "BEAKL15"
- "Colemak"
- "ColemakDHK"
- "Dvorak"
- "Halmak"
- "QWERTY"
- "QWERTZ"
- "Workman"
nav:
description: 'nav'
required: false
default: 'default'
type: choice
options:
- "default"
- "invertedT"
- "vi"
clipboard:
description: 'clipboard'
required: false
default: 'default'
type: choice
options:
- "default"
- "fun"
- "Mac"
- "Win"
layers:
description: 'layers'
required: false
default: 'default'
type: choice
options:
- "default"
- "flip"
mapping:
description: 'mapping'
required: false

94
.github/workflows/test-inputs.yml vendored Normal file
View File

@ -0,0 +1,94 @@
# Copyright 2022 Manna Harbour
# https://github.com/manna-harbour/miryoku
name: 'Test Inputs'
on:
workflow_dispatch:
inputs:
board:
description: 'board'
required: true
shield:
description: 'shield'
required: false
default: 'default'
alphas:
description: 'alphas'
required: false
default: 'default'
nav:
description: 'nav'
required: false
default: 'default'
clipboard:
description: 'clipboard'
required: false
default: 'default'
layers:
description: 'layers'
required: false
default: 'default'
mapping:
description: 'mapping'
required: false
default: 'default'
custom_config:
description: 'custom_config'
required: false
default: 'default'
kconfig:
description: 'kconfig'
required: false
default: 'default'
branches:
description: 'branches'
required: false
default: 'default'
jobs:
process-inputs:
runs-on: ubuntu-latest
outputs:
board: ${{ steps.process-inputs.outputs.board }}
shield: ${{ steps.process-inputs.outputs.shield }}
alphas: ${{ steps.process-inputs.outputs.alphas }}
nav: ${{ steps.process-inputs.outputs.nav }}
clipboard: ${{ steps.process-inputs.outputs.clipboard }}
layers: ${{ steps.process-inputs.outputs.layers }}
mapping: ${{ steps.process-inputs.outputs.mapping }}
custom_config: ${{ steps.process-inputs.outputs.custom_config }}
kconfig: ${{ steps.process-inputs.outputs.kconfig }}
branches: ${{ steps.process-inputs.outputs.branches }}
steps:
- name: Process inputs
id: process-inputs
run: |
set-output()
{
json=`echo "$2" | jq -cnR 'inputs | split(",";"")'`
echo "::set-output name=$1::$json"
}
set-output "board" "${{ github.event.inputs.board }}"
set-output "shield" "${{ github.event.inputs.shield }}"
set-output "alphas" "${{ github.event.inputs.alphas }}"
set-output "nav" "${{ github.event.inputs.nav }}"
set-output "clipboard" "${{ github.event.inputs.clipboard }}"
set-output "layers" "${{ github.event.inputs.layers }}"
set-output "mapping" "${{ github.event.inputs.mapping }}"
set-output "custom_config" "${{ github.event.inputs.custom_config }}"
set-output "kconfig" "${{ github.event.inputs.kconfig }}"
set-output "branches" "${{ github.event.inputs.branches }}"
build:
uses: ./.github/workflows/main.yml
secrets: inherit
needs: process-inputs
with:
board: ${{ needs.process-inputs.outputs.board }}
shield: ${{ needs.process-inputs.outputs.shield }}
alphas: ${{ needs.process-inputs.outputs.alphas }}
nav: ${{ needs.process-inputs.outputs.nav }}
clipboard: ${{ needs.process-inputs.outputs.clipboard }}
layers: ${{ needs.process-inputs.outputs.layers }}
mapping: ${{ needs.process-inputs.outputs.mapping }}
custom_config: ${{ needs.process-inputs.outputs.custom_config }}
kconfig: ${{ needs.process-inputs.outputs.kconfig }}
branches: ${{ needs.process-inputs.outputs.branches }}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

@ -64,7 +64,10 @@ See [[#fields--options][Options]] below for a description of each option.
The Build Inputs workflow can be used without editing workflow files. Access the workflow, Select Run workflow, select the Branch and fill out the form as desired, and activate Run workflow.
Options are specified by entering values directly in the corresponding field. Multiple comma separated values can be entered per option and a matrix build will be performed for each combination of values across all options.
Most options are specified by entering values directly in the corresponding field. Multiple comma separated values can be entered per option and a matrix build will be performed for each combination of values across all options.
Values for [[#miryoku-alternative-layout-and-mapping-options][Miryoku alternative layout options]] are selected from a list. As multiple selection is not supported, matrix builds across multiple values are not possible for these options, and the Test Inputs or [[#build-examples][Build Example]] workflows should be used instead.
See [[#fields--options][Options]] below for a description of each option.