Add Kconfig field to matrix and inputs workflows

- rename outboards files
This commit is contained in:
Manna Harbour 2021-08-22 21:27:40 +10:00
parent 33823c5c15
commit 196a00c86f
39 changed files with 260 additions and 88 deletions

View File

@ -28,6 +28,8 @@ jobs:
- default - default
mapping: mapping:
- default - default
kconfig:
- default
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -35,7 +37,6 @@ jobs:
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -63,17 +64,34 @@ jobs:
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -119,10 +137,8 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -28,6 +28,8 @@ jobs:
- default - default
mapping: mapping:
- default - default
kconfig:
- default
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -35,7 +37,6 @@ jobs:
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -63,17 +64,34 @@ jobs:
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -119,10 +137,8 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -33,6 +33,10 @@ on:
description: 'Miryoku Mapping' description: 'Miryoku Mapping'
required: false required: false
default: 'default' default: 'default'
kconfig:
description: 'Kconfig'
required: false
default: 'default'
jobs: jobs:
process-inputs: process-inputs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -44,6 +48,7 @@ jobs:
clipboard: ${{ steps.process-inputs.outputs.clipboard }} clipboard: ${{ steps.process-inputs.outputs.clipboard }}
layers: ${{ steps.process-inputs.outputs.layers }} layers: ${{ steps.process-inputs.outputs.layers }}
mapping: ${{ steps.process-inputs.outputs.mapping }} mapping: ${{ steps.process-inputs.outputs.mapping }}
kconfig: ${{ steps.process-inputs.outputs.kconfig }}
steps: steps:
- name: Process inputs - name: Process inputs
id: process-inputs id: process-inputs
@ -60,6 +65,7 @@ jobs:
set-output "clipboard" "${{ github.event.inputs.clipboard }}" set-output "clipboard" "${{ github.event.inputs.clipboard }}"
set-output "layers" "${{ github.event.inputs.layers }}" set-output "layers" "${{ github.event.inputs.layers }}"
set-output "mapping" "${{ github.event.inputs.mapping }}" set-output "mapping" "${{ github.event.inputs.mapping }}"
set-output "kconfig" "${{ github.event.inputs.kconfig }}"
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
@ -75,6 +81,7 @@ jobs:
clipboard: ${{ fromJSON(needs.process-inputs.outputs.clipboard) }} clipboard: ${{ fromJSON(needs.process-inputs.outputs.clipboard) }}
layers: ${{ fromJSON(needs.process-inputs.outputs.layers) }} layers: ${{ fromJSON(needs.process-inputs.outputs.layers) }}
mapping: ${{ fromJSON(needs.process-inputs.outputs.mapping) }} mapping: ${{ fromJSON(needs.process-inputs.outputs.mapping) }}
kconfig: ${{ fromJSON(needs.process-inputs.outputs.kconfig) }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -82,7 +89,6 @@ jobs:
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -110,17 +116,34 @@ jobs:
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -166,10 +189,8 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -18,4 +18,6 @@ m4_include(include/jobs-build.yml.m4)m4_dnl
- default - default
mapping: mapping:
- default - default
kconfig:
- default
m4_include(include/build-steps.yml.m4)m4_dnl m4_include(include/build-steps.yml.m4)m4_dnl

View File

@ -18,4 +18,6 @@ m4_include(include/jobs-build.yml.m4)m4_dnl
- default - default
mapping: mapping:
- default - default
kconfig:
- default
m4_include(include/build-steps.yml.m4)m4_dnl m4_include(include/build-steps.yml.m4)m4_dnl

View File

@ -32,6 +32,10 @@ on:
description: 'Miryoku Mapping' description: 'Miryoku Mapping'
required: false required: false
default: 'default' default: 'default'
kconfig:
description: 'Kconfig'
required: false
default: 'default'
jobs: jobs:
process-inputs: process-inputs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -43,6 +47,7 @@ jobs:
clipboard: ${{ steps.process-inputs.outputs.clipboard }} clipboard: ${{ steps.process-inputs.outputs.clipboard }}
layers: ${{ steps.process-inputs.outputs.layers }} layers: ${{ steps.process-inputs.outputs.layers }}
mapping: ${{ steps.process-inputs.outputs.mapping }} mapping: ${{ steps.process-inputs.outputs.mapping }}
kconfig: ${{ steps.process-inputs.outputs.kconfig }}
steps: steps:
- name: Process inputs - name: Process inputs
id: process-inputs id: process-inputs
@ -59,6 +64,7 @@ jobs:
set-output "clipboard" "${{ github.event.inputs.clipboard }}" set-output "clipboard" "${{ github.event.inputs.clipboard }}"
set-output "layers" "${{ github.event.inputs.layers }}" set-output "layers" "${{ github.event.inputs.layers }}"
set-output "mapping" "${{ github.event.inputs.mapping }}" set-output "mapping" "${{ github.event.inputs.mapping }}"
set-output "kconfig" "${{ github.event.inputs.kconfig }}"
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
container: container:
@ -74,4 +80,5 @@ jobs:
clipboard: ${{ fromJSON(needs.process-inputs.outputs.clipboard) }} clipboard: ${{ fromJSON(needs.process-inputs.outputs.clipboard) }}
layers: ${{ fromJSON(needs.process-inputs.outputs.layers) }} layers: ${{ fromJSON(needs.process-inputs.outputs.layers) }}
mapping: ${{ fromJSON(needs.process-inputs.outputs.mapping) }} mapping: ${{ fromJSON(needs.process-inputs.outputs.mapping) }}
kconfig: ${{ fromJSON(needs.process-inputs.outputs.kconfig) }}
m4_include(include/build-steps.yml.m4)m4_dnl m4_include(include/build-steps.yml.m4)m4_dnl

View File

@ -5,7 +5,6 @@
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -33,17 +32,34 @@
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -89,10 +105,8 @@
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -23,4 +23,6 @@ m4_include(include/jobs-build.yml.m4)m4_dnl
- default - default
mapping: mapping:
- default - default
kconfig:
- default
m4_include(include/build-steps.yml.m4)m4_dnl m4_include(include/build-steps.yml.m4)m4_dnl

View File

@ -31,4 +31,6 @@ jobs:
- default - default
mapping: mapping:
- default - default
kconfig:
- default
m4_include(include/build-steps.yml.m4)m4_dnl m4_include(include/build-steps.yml.m4)m4_dnl

View File

@ -29,4 +29,6 @@ m4_include(include/jobs-build.yml.m4)m4_dnl
# - flip # TODO # - flip # TODO
mapping: mapping:
- default - default
kconfig:
- default
m4_include(include/build-steps.yml.m4)m4_dnl m4_include(include/build-steps.yml.m4)m4_dnl

View File

@ -22,4 +22,6 @@ m4_include(include/jobs-build.yml.m4)m4_dnl
- default - default
mapping: mapping:
- default - default
kconfig:
- default
m4_include(include/build-steps.yml.m4)m4_dnl m4_include(include/build-steps.yml.m4)m4_dnl

View File

@ -66,4 +66,6 @@ m4_include(include/jobs-build.yml.m4)m4_dnl
- default - default
mapping: mapping:
- default - default
kconfig:
- default
m4_include(include/build-steps.yml.m4)m4_dnl m4_include(include/build-steps.yml.m4)m4_dnl

View File

@ -33,6 +33,8 @@ jobs:
- default - default
mapping: mapping:
- default - default
kconfig:
- default
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -40,7 +42,6 @@ jobs:
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -68,17 +69,34 @@ jobs:
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -124,10 +142,8 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -32,6 +32,8 @@ jobs:
- default - default
mapping: mapping:
- default - default
kconfig:
- default
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -39,7 +41,6 @@ jobs:
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -67,17 +68,34 @@ jobs:
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -123,10 +141,8 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -39,6 +39,8 @@ jobs:
# - flip # TODO # - flip # TODO
mapping: mapping:
- default - default
kconfig:
- default
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -46,7 +48,6 @@ jobs:
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -74,17 +75,34 @@ jobs:
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -130,10 +148,8 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -32,6 +32,8 @@ jobs:
- default - default
mapping: mapping:
- default - default
kconfig:
- default
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -39,7 +41,6 @@ jobs:
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -67,17 +68,34 @@ jobs:
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -123,10 +141,8 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -76,6 +76,8 @@ jobs:
- default - default
mapping: mapping:
- default - default
kconfig:
- default
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -83,7 +85,6 @@ jobs:
id: variables id: variables
run: | run: |
if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ] if [ -n "${{ matrix.shield }}" -a "${{ matrix.shield }}" != "default" ]
then then
SHIELD_ARG="-DSHIELD=${{ matrix.shield }}" SHIELD_ARG="-DSHIELD=${{ matrix.shield }}"
keyboard=${{ matrix.shield }} keyboard=${{ matrix.shield }}
@ -111,17 +112,34 @@ jobs:
;; ;;
esac esac
done done
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
echo "::set-output name=artifact-dir::artifacts"
outboard_file=".github/workflows/outboards/$keyboard" artifacts_dir="artifacts"
echo "::set-output name=artifact-dir::$artifacts_dir"
mkdir "$artifacts_dir"
cp "$configfile" "$artifacts_dir"
if [ -n "${{ matrix.kconfig }}" -a "${{ matrix.kconfig }}" != 'default' ]
then
kconfig_file="config/$keyboard.conf"
echo "${{ matrix.kconfig }}" > "$kconfig_file"
cat "$kconfig_file"
cp "$kconfig_file" "$artifacts_dir"
artifact_build_name="$artifact_build_name kconfig_"`echo "${{ matrix.kconfig }}" | md5sum | cut -d ' ' -f 1`
fi
outboard_file=".github/workflows/outboards/$keyboard.outboard"
if [ -f "$outboard_file" ] if [ -f "$outboard_file" ]
then then
grep -v '^#' "$outboard_file" >> $GITHUB_ENV grep -v '^#' "$outboard_file" >> $GITHUB_ENV
cat "$outboard_file"
cp "$outboard_file" "$artifacts_dir"
fi fi
echo "::set-output name=outboard_dir::outboard" echo "::set-output name=outboard_dir::outboard"
artifact_build_name=`echo $artifact_build_name | tr ' ' '-'`
echo "::set-output name=artifact-build-name::$artifact_build_name"
echo "::set-output name=artifact-generic-name::"`echo "$artifact_build_name" | sed 's/_\(left\|right\)//'`
- name: Checkout outboard - name: Checkout outboard
if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }} if: ${{ env.outboard_repository != '' && env.outboard_ref != '' }}
uses: actions/checkout@v2 uses: actions/checkout@v2
@ -167,10 +185,8 @@ jobs:
run: west zephyr-export run: west zephyr-export
- name: Build (west build) - name: Build (west build)
run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config" run: west build -s zmk/app -b ${{ matrix.board }} -- ${{ steps.variables.outputs.shield-arg }} -DZMK_CONFIG="${GITHUB_WORKSPACE}/config"
- name: Prepare artifacts - name: Prepare firmware artifacts
run: | run: |
mkdir ${{ steps.variables.outputs.artifact-dir }}
cp "${{ steps.variables.outputs.configfile }}" "${{ steps.variables.outputs.artifact-dir }}"
for extension in "hex" "uf2" for extension in "hex" "uf2"
do do
file="build/zephyr/zmk.$extension" file="build/zephyr/zmk.$extension"

View File

@ -5,7 +5,7 @@
[[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover.png]] [[https://raw.githubusercontent.com/manna-harbour/miryoku/master/data/cover/miryoku-kle-cover.png]]
[[https://github.com/manna-harbour/miryoku/][Miryoku]] is an ergonomic, minimal, orthogonal, and universal keyboard layout. This is the miryoku implementation for [[https://zmkfirmware.dev/][ZMK]]. [[https://github.com/manna-harbour/miryoku/][Miryoku]] is an ergonomic, minimal, orthogonal, and universal keyboard layout. This is the Miryoku implementation for [[https://zmkfirmware.dev/][ZMK]].
* Contents :TOC_1: * Contents :TOC_1:
- [[#building][Building]] - [[#building][Building]]
@ -49,15 +49,19 @@ Clone this repo and use for [[https://zmk.dev/docs/development/build-flash#build
Workflow files are in [[.github/workflows]]. To access a workflow, log in to GitHub, visit the [[https://github.com/manna-harbour/zmk-config/actions][Actions]] tab, and select the workflow. To download the firmware from a workflow run, select the workflow, select the workflow run, select the desired Artifacts, and unzip the downloaded zip file. Workflow files are in [[.github/workflows]]. To access a workflow, log in to GitHub, visit the [[https://github.com/manna-harbour/zmk-config/actions][Actions]] tab, and select the workflow. To download the firmware from a workflow run, select the workflow, select the workflow run, select the desired Artifacts, and unzip the downloaded zip file.
[[#Supported-Keyboards][Supported keyboards]] and [[#configuration-options][configuration options]] can be used as values for the corresponding [[#build-examples][matrix]] or [[#build-inputs][inputs]] options.
*** Build Inputs The ~kconfig~ option can be used to generate a ~keyboard.conf~. Join multiple lines with ~\n~.
Fork this repo, select the [[https://github.com/manna-harbour/zmk-config/actions/workflows/build-inputs.yml][Build Inputs]] workflow, select Run workflow, fill out the form with [[#Supported-Keyboards][supported keyboards]] and [[#configuration-options][configuration options]], activate Run workflow, wait for successful completion. Multiple (comma and / or space separated) values can be entered in each field.
*** Build Examples *** Build Examples
Fork this repo, copy one the included Build Example workflow files, edit the ~name~ value, and edit the values for the desired [[#Supported-Keyboards][supported keyboards]] and [[#configuration-options][configuration options]]. Fork this repo, copy one of the included Build Example workflow files, edit the ~name~ value, and edit the values for each matrix option as desired.
*** Build Inputs
Fork this repo, select the [[https://github.com/manna-harbour/zmk-config/actions/workflows/build-inputs.yml][Build Inputs]] workflow, select Run workflow, and fill out the form as desired. Multiple (comma and / or space separated) values can be entered in each field. Activate Run workflow, and wait for successful completion.
*** Prebuilt Firmware *** Prebuilt Firmware
@ -67,7 +71,7 @@ Some prebuilt firmware is available from previous workflow runs.
* Miryoku Keymap * Miryoku Keymap
The miryoku keymap is a ZMK DT keymap file using C preprocessor macros for [[#configuration-options][configuration options]] and to abstract the physical layout. The file is [[miryoku/miryoku.dtsi]]. The file is included into the [[#keyboard-keymaps][keyboard's keymap]] with The Miryoku keymap is a ZMK DT keymap file using C preprocessor macros for [[#configuration-options][configuration options]] and to abstract the physical layout. The file is [[miryoku/miryoku.dtsi]]. The file is included into the [[#keyboard-keymaps][keyboard's keymap]] with
#+BEGIN_SRC C :tangle no #+BEGIN_SRC C :tangle no
#include "../miryoku/miryoku.dtsi" #include "../miryoku/miryoku.dtsi"
@ -114,7 +118,7 @@ Below is an example [[#config-file][config file]] with the following keymap [[#c
* Mapping * Mapping
The keymap is mapped onto keyboards with different physical layouts. The keymap is specified in terms of the ~MIRYOKU_MAPPING~ macro. The macro is defined in a C header file for each physical layout. Unused keys are mapped to ~&none~. The files are in [[miryoku/mapping/]]. The mapping file is included into the keyboard's keymap file before the miryoku keymap with e.g. The keymap is mapped onto keyboards with different physical layouts. The keymap is specified in terms of the ~MIRYOKU_MAPPING~ macro. The macro is defined in a C header file for each physical layout. Unused keys are mapped to ~&none~. The files are in [[miryoku/mapping/]]. The mapping file is included into the keyboard's keymap file before the Miryoku keymap with e.g.
#+BEGIN_SRC C :tangle no #+BEGIN_SRC C :tangle no
#include "../miryoku/mapping/36-minidox.h" #include "../miryoku/mapping/36-minidox.h"