Skip to content

Commit c6025c8

Browse files
committed
add first prototype of the generate-index workflow (still to test)
1 parent becf846 commit c6025c8

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed

.github/workflows/generate-index.yml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Generate Index
2+
3+
# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
4+
on:
5+
push:
6+
paths:
7+
- "generator/**"
8+
- "firmwares/**"
9+
- "poetry.lock"
10+
- "pyproject.toml"
11+
workflow_dispatch:
12+
repository_dispatch:
13+
14+
jobs:
15+
generate-index:
16+
runs-on: ubuntu-latest
17+
defaults:
18+
run:
19+
working-directory: generator
20+
21+
steps:
22+
- name: Checkout repository
23+
uses: actions/checkout@v2
24+
25+
- name: Install Taskfile
26+
uses: arduino/setup-task@v1
27+
28+
- name: Install Python
29+
uses: actions/setup-python@v2
30+
with:
31+
python-version: "3.8"
32+
33+
- name: Install Poetry
34+
run: pip install poetry
35+
36+
- name: Install Arduino CLI
37+
uses: arduino/setup-arduino-cli@v1
38+
39+
- name: Install platforms
40+
run: |
41+
arduino-cli core update-index -v
42+
arduino-cli version
43+
arduino-cli core install arduino:samd@${{ env.SAMD_V }} -v
44+
arduino-cli core install arduino:megaavr@${{ env.MEGAAVR_V }} -v
45+
arduino-cli core install arduino:mebd_nano@${{ env.MBED_NANO_V }} -v
46+
env:
47+
SAMD_V: 1.18.11
48+
MEGAAVR_V: 1.8.7
49+
MBED_NANO_V: 2.2.0
50+
51+
- name: Install dependencies
52+
run: task poetry:install-deps
53+
54+
- name: Generate index
55+
run: ./generator.py -a $(which arduino-cli)
56+
57+
- name: Import GPG key
58+
run: |
59+
echo "${{ secrets.GPG_PRIVATE_KEY }}" > private.key
60+
gpg --import --batch --passphrase ${{ secrets.PASSPHRASE }} private.key
61+
62+
# --pinentry-mode=loopback ?? TODO: test
63+
- name: sign the json
64+
run: gpg --output boards/module_firmware_index.json.sig --detach-sign boards/module_firmware_index.json
65+
66+
- name: create the gzip
67+
run: gzip --keep boards/module_firmware_index.json
68+
69+
- name: s3 sync
70+
run: ./s3Copy.sh . s3://arduino-downloads-prod-beagle/arduino-fwuploader

0 commit comments

Comments
 (0)