UNODUEESP32
概要
GitHub Actionsを使って、GitHub上でArduinoのスケッチをコンパイルする実験です。arduino/compile-sketchesを利用しました。
実験
Test your Arduino projects with GitHub Actionsという記事を見つけたので、試してみました。GitHub上で、arduino-cliを利用して、コンパイルすることができます。
以下のようなYAMLファイルを、.github/workflows/上に配置しました。これにより、Arduino Uno/Arduino Due/ESP-WROOM-32用に、スケッチをコンパイルを行うことができました。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches:
- main
pull_request:
branches:
- main
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
strategy:
matrix:
board:
- fqbn: arduino:avr:uno
- fqbn: arduino:sam:arduino_due_x_dbg
- fqbn: esp32:esp32:esp32
platforms: |
- name: esp32:esp32
source-url: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
# Compiles sketches
- uses: arduino/compile-sketches@v1
with:
fqbn: ${{ matrix.board.fqbn }}
platforms: ${{ matrix.board.platforms }}
sketch-paths: |
- ./
libraries: '-'
|
基本的には、arduino/compile-sketches@v1
というアクションを使うだけです。fqbnの指定に少し戸惑いましたが、上記の設定で問題なくコンパイルすることができました。複数のアーキテクチャに対応する必要がなければ、matrixを利用する必要はありません。
arduino/compile-sketchesには、ライブラリを利用する方法なども記載されています。
それなりにコンパイル時間を要するので、プライベートリポジトリで利用する場合は、注意してください。特に、複数アーキテクチャでコンパイルすると、その分時間を消費します。
バージョン
Hardware: | Arduino Uno/Arduino Due/ESP-WROOM-32 |
Software: | |
最終更新日
April 18, 2021