Skip to content

Commit 96f9031

Browse files
committed
fix(build): Only copy if zephyr module detected
* To fix issues with breakage with existing user config repos, only do our copy strategy if we detect a zephyr module present in the repo as well.
1 parent 384637a commit 96f9031

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

.github/workflows/build-user-config.yml

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,12 @@ jobs:
6666
shield: ${{ matrix.shield }}
6767
artifact_name: ${{ matrix.artifact-name }}
6868
run: |
69-
export new_tmp_dir=$(mktemp -d)
70-
echo "tmp_dir=${new_tmp_dir}" >> $GITHUB_ENV
71-
echo "tmp_config_dir=${new_tmp_dir}/config" >> $GITHUB_ENV
7269
if [ -e zephyr/module.yml ]; then
7370
export zmk_load_arg=" -DZMK_EXTRA_MODULES='${GITHUB_WORKSPACE}'"
71+
export new_tmp_dir=$(mktemp -d)
72+
echo "base_dir=${new_tmp_dir}" >> $GITHUB_ENV
73+
else
74+
echo "base_dir=${GITHUB_WORKSPACE}" >> $GITHUB_ENV
7475
fi
7576
7677
echo "zephyr_version=${ZEPHYR_VERSION}" >> $GITHUB_ENV
@@ -80,8 +81,10 @@ jobs:
8081
8182
- name: Copy config files to isolated temporary directory
8283
run: |
83-
mkdir "${{ env.tmp_config_dir }}"
84-
cp -R ${{ inputs.config_path }}/* "${{ env.tmp_config_dir }}/"
84+
if [ "${{ env.base_dir }}" != "${GITHUB_WORKSPACE}" ]; then
85+
mkdir "${{ env.base_dir }}/${{ inputs.config_path }}"
86+
cp -R ${{ inputs.config_path }}/* "${{ env.base_dir }}/${{ inputs.config_path }}/"
87+
fi
8588
8689
- name: Cache west modules
8790
uses: actions/cache@v3.0.11
@@ -90,33 +93,33 @@ jobs:
9093
cache_name: cache-zephyr-${{ env.zephyr_version }}-modules
9194
with:
9295
path: |
93-
${{ env.tmp_dir }}/modules/
94-
${{ env.tmp_dir }}/tools/
95-
${{ env.tmp_dir }}/zephyr/
96-
${{ env.tmp_dir }}/bootloader/
97-
${{ env.tmp_dir }}/zmk/
96+
${{ env.base_dir }}/modules/
97+
${{ env.base_dir }}/tools/
98+
${{ env.base_dir }}/zephyr/
99+
${{ env.base_dir }}/bootloader/
100+
${{ env.base_dir }}/zmk/
98101
key: ${{ runner.os }}-build-${{ env.cache_name }}-${{ hashFiles('**/west.yml', '**/build.yaml') }}
99102
restore-keys: |
100103
${{ runner.os }}-build-${{ env.cache_name }}-
101104
${{ runner.os }}-build-
102105
${{ runner.os }}-
103106
104107
- name: West Init
105-
working-directory: ${{ env.tmp_dir }}
106-
run: west init -l "${{ env.tmp_config_dir }}"
108+
working-directory: ${{ env.base_dir }}
109+
run: west init -l "${{ env.base_dir }}/${{ inputs.config_path }}"
107110

108111
- name: West Update
109-
working-directory: ${{ env.tmp_dir }}
112+
working-directory: ${{ env.base_dir }}
110113
run: west update
111114

112115
- name: West Zephyr export
113-
working-directory: ${{ env.tmp_dir }}
116+
working-directory: ${{ env.base_dir }}
114117
run: west zephyr-export
115118

116119
- name: West Build (${{ env.display_name }})
117-
working-directory: ${{ env.tmp_dir }}
120+
working-directory: ${{ env.base_dir }}
118121
shell: sh -x {0}
119-
run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" -- -DZMK_CONFIG=${{ env.tmp_config_dir }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}
122+
run: west build -s zmk/app -d "${{ env.build_dir }}" -b "${{ matrix.board }}" -- -DZMK_CONFIG=${{ env.base_dir }}/${{ inputs.config_path }} ${{ env.extra_cmake_args }} ${{ matrix.cmake-args }}
120123

121124
- name: ${{ env.display_name }} Kconfig file
122125
run: |

0 commit comments

Comments
 (0)