Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .github/workflows/check-clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ jobs:
fi

echo "CLANG_FORMAT_INSTALL_PATH=${{ runner.temp }}/clang-format" >>"$GITHUB_ENV"
echo "YQ_INSTALL_PATH=${{ runner.temp }}/yq" >>"$GITHUB_ENV"
echo "WORKING_FOLDER=${{ runner.temp }}" >>"$GITHUB_ENV"

- name: Download ClangFormat
Expand All @@ -108,26 +107,6 @@ jobs:
# See: https://docs.github.com/actions/reference/workflows-and-actions/workflow-commands#adding-a-system-path
echo "${{ env.CLANG_FORMAT_INSTALL_PATH }}/clang_Linux_64bit" >>"$GITHUB_PATH"

- name: Download yq
id: download-yq
uses: MrOctopus/[email protected]
with:
repository: mikefarah/yq
asset: yq_linux_amd64.tar.gz
target: ${{ env.YQ_INSTALL_PATH }}

- name: Install yq
run: |
cd "${{ env.YQ_INSTALL_PATH }}"

tar \
--extract \
--file="${{ steps.download-yq.outputs.name }}"

# Add installation to PATH:
# See: https://docs.github.com/actions/reference/workflows-and-actions/workflow-commands#adding-a-system-path
echo "${{ env.YQ_INSTALL_PATH }}/yq" >>"$GITHUB_PATH"

- name: Check ClangFormat configuration file
id: check
run: |
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/check-poetry-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,16 @@ on:
push:
paths:
- ".github/workflows/check-poetry-task.ya?ml"
- "go.mod"
- "go.sum"
- "poetry.lock"
- "pyproject.toml"
- "Taskfile.ya?ml"
pull_request:
paths:
- ".github/workflows/check-poetry-task.ya?ml"
- "go.mod"
- "go.sum"
- "poetry.lock"
- "pyproject.toml"
- "Taskfile.ya?ml"
Expand Down Expand Up @@ -57,6 +61,11 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v5

- name: Install Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Install Python
uses: actions/setup-python@v5
with:
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/check-python-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ on:
- "**/poetry.lock"
- "**/pyproject.toml"
- "**/setup.cfg"
- "go.mod"
- "go.sum"
- "Taskfile.ya?ml"
- "**/tox.ini"
- "**.py"
Expand All @@ -21,6 +23,8 @@ on:
- "**/poetry.lock"
- "**/pyproject.toml"
- "**/setup.cfg"
- "go.mod"
- "go.sum"
- "Taskfile.ya?ml"
- "**/tox.ini"
- "**.py"
Expand Down Expand Up @@ -66,6 +70,11 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v5

- name: Install Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Install Python
uses: actions/setup-python@v5
with:
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/check-yaml-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ on:
create:
push:
paths:
- "go.mod"
- "go.sum"
- ".yamllint*"
- "poetry.lock"
- "pyproject.toml"
Expand All @@ -22,6 +24,8 @@ on:
- "**.syntax"
pull_request:
paths:
- "go.mod"
- "go.sum"
- ".yamllint*"
- "poetry.lock"
- "pyproject.toml"
Expand Down Expand Up @@ -94,6 +98,11 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v5

- name: Install Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Install Python
uses: actions/setup-python@v5
with:
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/test-python-poetry-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ on:
push:
paths:
- ".github/workflows/test-python-poetry-task.ya?ml"
- "go.mod"
- "go.sum"
- "Taskfile.ya?ml"
- "poetry.lock"
- "pyproject.toml"
Expand All @@ -15,6 +17,8 @@ on:
pull_request:
paths:
- ".github/workflows/test-python-poetry-task.ya?ml"
- "go.mod"
- "go.sum"
- "Taskfile.ya?ml"
- "poetry.lock"
- "pyproject.toml"
Expand Down Expand Up @@ -62,6 +66,11 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v5

- name: Install Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod

- name: Install Python
uses: actions/setup-python@v5
with:
Expand Down
56 changes: 31 additions & 25 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -259,10 +259,11 @@ tasks:
cmds:
- |
if
! which yq \
! which go \
&>/dev/null
then
echo "ec not found or not in PATH. Please install: https://github.com/mikefarah/yq/#install"
echo "Go not found or not in PATH."
echo "Please install: https://go.dev/doc/install"
exit 1
fi

Expand All @@ -282,22 +283,25 @@ tasks:
# Correct invalid `BasedOnStyle` key value
# The existing key is deleted before assigning it to a valid value in order to achieve consistent quoting style
# (updating the empty string value in place causes the assigned value to be wrapped in quotes)
yq \
--inplace \
'del(.BasedOnStyle)' \
"{{.TARGET_PATH}}"
go tool \
github.com/mikefarah/yq/v4 \
--inplace \
'del(.BasedOnStyle)' \
"{{.TARGET_PATH}}"

yq \
--inplace \
'.BasedOnStyle = "LLVM"' \
"{{.TARGET_PATH}}"
go tool \
github.com/mikefarah/yq/v4 \
--inplace \
'.BasedOnStyle = "LLVM"' \
"{{.TARGET_PATH}}"

- |
# Fix the inconsistent key order
yq \
--inplace \
'sort_keys(.)' \
"{{.TARGET_PATH}}"
go tool \
github.com/mikefarah/yq/v4 \
--inplace \
'sort_keys(.)' \
"{{.TARGET_PATH}}"

# Use ClangFormat to format the files under the path specified by TARGET_FOLDER recursively
clang-format:format:
Expand Down Expand Up @@ -964,11 +968,11 @@ tasks:
cmds:
- |
if
! which yq \
! which go \
&>/dev/null
then
echo "yq not found or not in PATH."
echo "Please install: https://github.com/mikefarah/yq/#install"
echo "Go not found or not in PATH."
echo "Please install: https://go.dev/doc/install"
exit 1
fi
- |
Expand All @@ -977,10 +981,11 @@ tasks:
&>/dev/null
then
python_constraint="$( \
yq \
--input-format toml \
--output-format yaml \
'.tool.poetry.dependencies.python' \
go tool \
github.com/mikefarah/yq/v4 \
--input-format toml \
--output-format yaml \
'.tool.poetry.dependencies.python' \
<pyproject.toml
)"

Expand All @@ -1005,10 +1010,11 @@ tasks:
)"

poetry_constraint="$( \
yq \
--input-format toml \
--output-format yaml \
'.tool.poetry.group.pipx.dependencies.poetry' \
go tool \
github.com/mikefarah/yq/v4 \
--input-format toml \
--output-format yaml \
'.tool.poetry.group.pipx.dependencies.poetry' \
<pyproject.toml
)"

Expand Down
3 changes: 3 additions & 0 deletions docs/development.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@

The following development tools must be available in your local environment:

- [**Go**](https://go.dev/dl/) - programming language
- The **Go** version in use is defined in the `go` directive of [`go.mod`](../go.mod).
- [**gvm**](https://github.com/moovweb/gvm#installing) is recommended if you want to manage multiple installations of **Go** on your system.
- [**Node.js** / **npm**](https://nodejs.org/en/download/) - Node.js dependencies management tool
- The **Node.js** version in use is defined by the `engines.node` key of [`package.json`](../package.json).
- [**Python**](https://wiki.python.org/moin/BeginnersGuide/Download)
Expand Down
31 changes: 31 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
module github.com/arduino/tooling-project-assets

go 1.24.7

tool github.com/mikefarah/yq/v4

require (
github.com/a8m/envsubst v1.4.3 // indirect
github.com/alecthomas/participle/v2 v2.1.4 // indirect
github.com/dimchansky/utfbom v1.1.1 // indirect
github.com/elliotchance/orderedmap v1.8.0 // indirect
github.com/fatih/color v1.18.0 // indirect
github.com/go-ini/ini v1.67.0 // indirect
github.com/goccy/go-json v0.10.5 // indirect
github.com/goccy/go-yaml v1.18.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jinzhu/copier v0.4.0 // indirect
github.com/magiconair/properties v1.8.10 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mikefarah/yq/v4 v4.47.2 // indirect
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
github.com/spf13/cobra v1.10.1 // indirect
github.com/spf13/pflag v1.0.10 // indirect
github.com/yuin/gopher-lua v1.1.1 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/net v0.43.0 // indirect
golang.org/x/sys v0.35.0 // indirect
golang.org/x/text v0.28.0 // indirect
gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 // indirect
)
70 changes: 70 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
github.com/a8m/envsubst v1.4.3 h1:kDF7paGK8QACWYaQo6KtyYBozY2jhQrTuNNuUxQkhJY=
github.com/a8m/envsubst v1.4.3/go.mod h1:4jjHWQlZoaXPoLQUb7H2qT4iLkZDdmEQiOUogdUmqVU=
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k=
github.com/alecthomas/participle/v2 v2.1.4 h1:W/H79S8Sat/krZ3el6sQMvMaahJ+XcM9WSI2naI7w2U=
github.com/alecthomas/participle/v2 v2.1.4/go.mod h1:8tqVbpTX20Ru4NfYQgZf4mP18eXPTBViyMWiArNEgGI=
github.com/alecthomas/repr v0.5.1 h1:E3G4t2QbHTSNpPKBgMTln5KLkZHLOcU7r37J4pXBuIg=
github.com/alecthomas/repr v0.5.1/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4=
github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
github.com/elliotchance/orderedmap v1.8.0 h1:TrOREecvh3JbS+NCgwposXG5ZTFHtEsQiCGOhPElnMw=
github.com/elliotchance/orderedmap v1.8.0/go.mod h1:wsDwEaX5jEoyhbs7x93zk2H/qv0zwuhg4inXhDkYqys=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A=
github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw=
github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA=
github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8=
github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg=
github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE=
github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mikefarah/yq/v4 v4.47.2 h1:Jb5fHlvgK5eeaPbreG9UJs1E5w6l5hUzXjeaY6LTTWY=
github.com/mikefarah/yq/v4 v4.47.2/go.mod h1:ulYbZUzGJsBDDwO5ohvk/KOW4vW5Iddd/DBeAY1Q09g=
github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A=
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s=
github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0=
github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk=
github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M=
github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw=
go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc=
go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg=
golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE=
golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI=
golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 h1:6D+BvnJ/j6e222UW8s2qTSe3wGBtvo0MbVQG/c5k8RE=
gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473/go.mod h1:N1eN2tsCx0Ydtgjl4cqmbRCsY4/+z4cYDeqwZTk6zog=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
Loading
Loading