added arduinocli state
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Paul 2025-08-01 09:08:33 +02:00
parent 2f072e3441
commit b74838419e
6 changed files with 91 additions and 0 deletions

View File

@ -0,0 +1,7 @@
---
arduinocli:
enabled: true
mirror: "https://github.com/arduino/arduino-cli/releases/download"
install_dir: "/usr/local/apps"
release_dir: "/usr/local/apps/releases"
version: "1.2.2"

View File

@ -0,0 +1,3 @@
---
include:
- .install

View File

@ -0,0 +1,34 @@
---
{%- from "arduinocli/map.jinja" import arduinocli with context %}
arduinocli-archive-extract:
archive.extracted:
- name: {{ arduinocli.release_dir }}/arduino-cli-{{ arduinocli.version }}_{{ arduinocli.os }}_{{ arduinocli.arch }}
- source: {{ arduinocli.mirror }}/v{{ arduinocli.version }}/arduino-cli_{{ arduinocli.version }}_{{ arduinocli.os }}_{{ arduinocli.arch }}.tar.gz
- options: --exclude LICENSE.txt
- skip_verify: true
- archive_format: tar
- enforce_toplevel: false
- keep: true
- if_missing: {{ arduinocli.release_dir }}/arduino-cli-{{ arduinocli.version }}_{{ arduinocli.os }}_{{ arduinocli.arch }}/arduino-cli
arduinocli-symlink:
file.symlink:
- name: {{ arduinocli.install_dir }}/arduino-cli
- target: {{ arduinocli.release_dir }}/arduino-cli-{{ arduinocli.version }}_{{ arduinocli.os }}_{{ arduinocli.arch }}
- force: true
- require:
- archive: arduinocli-archive-extract
arduinocli-bin-symlink:
file.symlink:
- name: /usr/bin/arduino-cli
- target: {{ arduinocli.install_dir }}/arduino-cli/arduino-cli
- force: true
- require:
- archive: arduinocli-archive-extract
arduinocli-cleanup:
software.cleanup:
- name: arduino-cli
- path: {{ arduinocli.release_dir }}
- version: "{{ arduinocli.version }}"

View File

@ -0,0 +1,9 @@
---
Linux:
os: "Linux"
macOS:
os: "macOS"
Windows:
os: "Windows"

View File

@ -0,0 +1,14 @@
{%- import_yaml "arduinocli/defaults.yaml" as default_settings -%}
{%- import_yaml "arduinocli/kernelmap.yaml" as kernelmap -%}
{%- import_yaml "arduinocli/osarchmap.yaml" as osarchmap -%}
{%- set defaults = salt['grains.filter_by'](default_settings,
default='arduinocli',
merge=salt['grains.filter_by'](osarchmap, grain='osarch',
merge=salt['grains.filter_by'](kernelmap, grain='kernel')
)
)
-%}
{%- set arduinocli = salt['pillar.get']('arduinocli', default=defaults, merge=True) -%}

View File

@ -0,0 +1,24 @@
---
amd64:
arch: "64bit"
x86_64:
arch: "64bit"
386:
arch: "32bit"
arm64:
arch: "ARM64"
aarch64:
arch: "ARM64"
armv6l:
arch: "ARMv6"
armv7l:
arch: "ARMv7"
armhf:
arch: "ARMv7"