Skip to content

Commit d1dd34c

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

File tree

1 file changed

+72
-0
lines changed

1 file changed

+72
-0
lines changed

.github/workflows/generate-index.yml

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

0 commit comments

Comments
 (0)