In order to prevent confusing feedback from the bot, parallel runs of the "Manage PRs" workflow for a given PR are
prevented by canceling any in progress runs for that PR whenever it is triggered.
However, sometimes a trigger event does not result in a run. For example, the workflow is triggered by every comment on
the PR thread, but only those containing the text "ArduinoBot" result in a run. With the previous workflow configuration,
this meant that if anyone made an incidental comment on the PR during a workflow run, the true run was canceled by the
otherwise ignored trigger event, causing a loss of automation.
The solution is to adjust the concurrency configuration so that prior runs in progress are canceled only if the current
trigger event will result in a true run.
I did not indent the added expression because doing so caused validation against the community developed GitHub Actions
workflow JSON schema from the JSON Schema Store to fail.
The reason is that lines with leading whitespace are not folded:
https://yaml.org/spec/1.2.2/#block-folding
Even though the resulting newlines in the expression don't cause any problems for GitHub Actions, the JSON Schema does
not have support for them. Since there is no explicit specification in the GitHub Actions documentation that newlines in
expressions are supported, I am hesitant to propose the necessary change to the schema.
From the library repo https://github.com/Azure/azure-sdk-for-c-arduino.
This new library maps to the new Azure SDK for C that is designed for
embedded development, published on
https://github.com/azure/azure-sdk-for-c.
This new azure-sdk-for-c-arduino library shall be prefered over the previous azure-iot-arduino
library and dependencies (azure-iot-arduino-utility,
azure-iot-arduino-protocol-http, azure-iot-arduino-protocol-mqtt,
azure-iot-arduino-socket-esp32-wifi).
For questions, please refer to maintainer of library.
* add TCA9555
* add RobTIllaart/SGP30
* Add AGS02MA
TVOC sensor - experimental library, use low speed I2C < 30 KHz, UNO does not really work as it cannot go that low.
* add MTP40C CO2 and air pressure sensor
* Add MTP40C CO2 and air pressure sensor
* Update repositories.txt
add experimental library - DAC8550
* Update repositories.txt
* Update repositories.txt
* add MINMAX library
Library to find peaks in a signal
* Update repositories.txt
* Update repositories.txt
* Add float16
Experimental library to convert value to 2 byte float16 format for more efficient storage and communication.
* add palindrome
library with functions to test and find palindromes
* add map2colour
* add TCA9555
* add RobTIllaart/SGP30
* Add AGS02MA
TVOC sensor - experimental library, use low speed I2C < 30 KHz, UNO does not really work as it cannot go that low.
* add MTP40C CO2 and air pressure sensor
* Add MTP40C CO2 and air pressure sensor
* Update repositories.txt
add experimental library - DAC8550
* Update repositories.txt
* Update repositories.txt
* add MINMAX library
Library to find peaks in a signal
* Update repositories.txt
* Update repositories.txt
* Add float16
Experimental library to convert value to 2 byte float16 format for more efficient storage and communication.
* add palindrome
library with functions to test and find palindromes
* add TCA9555
* add RobTIllaart/SGP30
* Add AGS02MA
TVOC sensor - experimental library, use low speed I2C < 30 KHz, UNO does not really work as it cannot go that low.
* add MTP40C CO2 and air pressure sensor
* Add MTP40C CO2 and air pressure sensor
* Update repositories.txt
add experimental library - DAC8550
* Update repositories.txt
* Update repositories.txt
* add MINMAX library
Library to find peaks in a signal
* Update repositories.txt
* Update repositories.txt
* Add float16
Experimental library to convert value to 2 byte float16 format for more efficient storage and communication.
* add TCA9555
* add RobTIllaart/SGP30
* Add AGS02MA
TVOC sensor - experimental library, use low speed I2C < 30 KHz, UNO does not really work as it cannot go that low.
* add MTP40C CO2 and air pressure sensor
* Add MTP40C CO2 and air pressure sensor
* Update repositories.txt
add experimental library - DAC8550
* Update repositories.txt
* Update repositories.txt
* add MINMAX library
Library to find peaks in a signal
* Update repositories.txt
* Update repositories.txt
It was previously possible to trigger the "Manage PRs" workflow for a pull request while a previous run for that PR is
already in process.
When that happens, it can result in erroneous bot comments. For example:
1. Workflow run is automatically triggered by a push.
2. Contributor does not notice this and comments a mention of the bot to trigger the workflow.
3. The first workflow run finds the PR is compliant and merges it.
4. The second workflow run finds the PR is compliant and attempts to merge it.
5. The second workflow run fails the merge (because it is already merged) and informs the contributor that there was a
merge conflict they must resolve.
6. The contributor is not able to resolve the non-existent conflict and is left wondering whether their submission was
successful.
The solution is to configure the "Manage PRs" workflow so that a workflow run in progress is canceled if the workflow is
triggered again for that PR. The "concurrency group" name is the PR number, so workflow runs in progress for other PRs
would not be affected.