diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b8569a6..eb641eb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,9 +15,7 @@ jobs: uses: actions/checkout@v3 - name: Install Arduino CLI - run: | - curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh - sudo mv bin/arduino-cli /usr/local/bin/ + uses: arduino/setup-arduino-cli@81d310742121c928ea9c8bbd407b4217b432ae02 # v2.0.0 - name: Initialize Arduino CLI run: | @@ -25,12 +23,11 @@ jobs: arduino-cli core update-index - name: Install required board core - run: arduino-cli core install arduino:avr + run: arduino-cli core install arduino:avr@1.8.7 # napÅ™. pro Arduino Uno - name: Install custom library run: | - mkdir -p ~/Arduino/libraries - git clone https://github.com/Zefek/MQTTESP8266.git ~/Arduino/libraries/MQTTESP8266 + arduino-cli lib install "MQTTESP8266@5.1.2" - name: Set configs run: | diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 6b9e7ef..42f3c81 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -19,12 +19,12 @@ jobs: - name: Install required board core run: | - & "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file config.yaml core install arduino:avr + & "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file config.yaml core install arduino:avr@1.8.7 - name: Install custom Arduino libraries (Windows) shell: powershell run: | - & "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file config.yaml lib install MQTTESP8266 + & "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file config.yaml lib install "MQTTESP8266@5.1.2" - name: Set configs (Windows) shell: powershell @@ -38,6 +38,11 @@ jobs: & "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file config.yaml compile --fqbn arduino:avr:uno ./ --output-dir build - name: Upload firmware to Arduino + env: + SERIAL_PORT: ${{ github.event.deployment.payload.serial_port }} run: | - $port = "${{ github.event.deployment.payload.serial_port }}" - & "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file config.yaml upload --fqbn arduino:avr:uno --port $port --input-dir build + if ($env:SERIAL_PORT -notmatch '^COM\d+$') { + Write-Error "Invalid serial port format: $env:SERIAL_PORT" + exit 1 + } + & "$Env:RUNNER_TOOL_CACHE\arduino-cli\arduino-cli.exe" --config-file config.yaml upload --fqbn arduino:avr:uno --port $env:SERIAL_PORT --input-dir build