Skip to content

Commit 8719c10

Browse files
authored
Merge pull request #83 from koron/improve-gha
Imporeve GitHub Actions
2 parents b733cf8 + 822dba5 commit 8719c10

File tree

3 files changed

+104
-38
lines changed

3 files changed

+104
-38
lines changed

.github/actions/setup-qmk/action.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
name: 'Setup QMK firmware'
2+
3+
inputs:
4+
version:
5+
default: '0.15.13'
6+
type: string
7+
required: false
8+
path:
9+
default: '__qmk__'
10+
type: string
11+
required: false
12+
13+
runs:
14+
using: 'composite'
15+
steps:
16+
- name: Checkout qmk_firmware
17+
uses: actions/checkout@v2
18+
with:
19+
path: ${{ inputs.path }}
20+
repository: qmk/qmk_firmware
21+
submodules: recursive
22+
ref: ${{ inputs.version }}
23+
24+
- name: Install git and pip
25+
shell: bash
26+
run: sudo apt-get install -y git python3-pip
27+
28+
- name: Install QMK CLI
29+
shell: bash
30+
run: python3 -m pip install --user qmk
31+
32+
- name: Setup QMK
33+
shell: bash
34+
run: qmk setup --home ${{ inputs.path }} --yes

.github/workflows/build-keyball46.yml

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,28 @@
11
name: Build Keyball46
22

3-
on: push
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
tags:
8+
- 'keyball46/v[0-9]+.[0-9]+.[0-9]+*'
9+
pull_request:
410

511
jobs:
612

7-
build-keyball46-firmwares:
13+
build:
814
name: Build Keyball46 firmwares
915
runs-on: ubuntu-latest
1016

1117
steps:
1218
- name: Checkout source
1319
uses: actions/checkout@v2
1420

15-
- name: Checkout qmk_firmware
16-
uses: actions/checkout@v2
17-
with:
18-
path: __qmk__
19-
repository: qmk/qmk_firmware
20-
submodules: recursive
21-
ref: '0.15.13'
21+
- name: Setup QMK firmware
22+
uses: ./.github/actions/setup-qmk
2223

2324
- name: Install a link to own source
24-
run: ln -s /home/runner/work/keyball/keyball/qmk_firmware/keyboards/keyball __qmk__/keyboards/keyball
25-
26-
- name: Install git and pip
27-
run: sudo apt-get install -y git python3-pip
28-
29-
- name: Install QMK CLI
30-
run: python3 -m pip install --user qmk
31-
32-
- name: Setup QMK
33-
run: qmk setup --home __qmk__ --yes
25+
run: ln -s $(pwd)/qmk_firmware/keyboards/keyball __qmk__/keyboards/keyball
3426

3527
- run: qmk compile -j 4 -kb keyball/keyball46 -km default
3628
continue-on-error: true
@@ -54,3 +46,27 @@ jobs:
5446
with:
5547
name: keyball46-firmwares
5648
path: __qmk__/*.hex
49+
50+
release:
51+
name: Release Keyball46 firmwares
52+
runs-on: ubuntu-latest
53+
needs: [ build ]
54+
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'keyball46/v')
55+
56+
steps:
57+
- name: Download built firmwares
58+
uses: actions/download-artifact@v2
59+
with:
60+
name: keyball46-firmwares
61+
- name: List assets
62+
run: ls -l *.hex
63+
- name: Release
64+
uses: softprops/action-gh-release@v1
65+
with:
66+
draft: true
67+
prerelease: ${{ contains(github.ref_name, '-alpha.') || contains(github.ref_name, '-beta.') }}
68+
files: |
69+
*.hex
70+
fail_on_unmatched_files: true
71+
generate_release_notes: true
72+
append_body: true

.github/workflows/build-keyball61.yml

Lines changed: 35 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,28 @@
11
name: Build Keyball61
22

3-
on: push
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
tags:
8+
- 'keyball61/v[0-9]+.[0-9]+.[0-9]+*'
9+
pull_request:
410

511
jobs:
612

7-
build-keyball61-firmwares:
13+
build:
814
name: Build Keyball61 firmwares
915
runs-on: ubuntu-latest
1016

1117
steps:
1218
- name: Checkout source
1319
uses: actions/checkout@v2
1420

15-
- name: Checkout qmk_firmware
16-
uses: actions/checkout@v2
17-
with:
18-
path: __qmk__
19-
repository: qmk/qmk_firmware
20-
submodules: recursive
21-
ref: '0.15.13'
21+
- name: Setup QMK firmware
22+
uses: ./.github/actions/setup-qmk
2223

2324
- name: Install a link to own source
24-
run: ln -s /home/runner/work/keyball/keyball/qmk_firmware/keyboards/keyball __qmk__/keyboards/keyball
25-
26-
- name: Install git and pip
27-
run: sudo apt-get install -y git python3-pip
28-
29-
- name: Install QMK CLI
30-
run: python3 -m pip install --user qmk
31-
32-
- name: Setup QMK
33-
run: qmk setup --home __qmk__ --yes
25+
run: ln -s $(pwd)/qmk_firmware/keyboards/keyball __qmk__/keyboards/keyball
3426

3527
- run: qmk compile -j 4 -kb keyball/keyball61 -km default
3628
continue-on-error: true
@@ -46,3 +38,27 @@ jobs:
4638
with:
4739
name: keyball61-firmwares
4840
path: __qmk__/*.hex
41+
42+
release:
43+
name: Release Keyball61 firmwares
44+
runs-on: ubuntu-latest
45+
needs: [ build ]
46+
if: github.ref_type == 'tag' && startsWith(github.ref_name, 'keyball61/v')
47+
48+
steps:
49+
- name: Download built firmwares
50+
uses: actions/download-artifact@v2
51+
with:
52+
name: keyball61-firmwares
53+
- name: List assets
54+
run: ls -l *.hex
55+
- name: Release
56+
uses: softprops/action-gh-release@v1
57+
with:
58+
draft: true
59+
prerelease: ${{ contains(github.ref_name, '-alpha.') || contains(github.ref_name, '-beta.') }}
60+
files: |
61+
*.hex
62+
fail_on_unmatched_files: true
63+
generate_release_notes: true
64+
append_body: true

0 commit comments

Comments
 (0)