Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: arduino/compile-sketches
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1edb1fd
Choose a base ref
...
head repository: arduino/compile-sketches
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 8fd8403
Choose a head ref
Loading
Showing with 9,968 additions and 2,095 deletions.
  1. +9 −0 .codespellrc
  2. +14 −0 .ecrc
  3. +60 −0 .editorconfig
  4. +12 −0 .flake8
  5. +56 −0 .github/ISSUE_TEMPLATE/bug-report.yml
  6. +17 −0 .github/ISSUE_TEMPLATE/config.yml
  7. +51 −0 .github/ISSUE_TEMPLATE/feature-request.yml
  8. +15 −3 .github/dependabot.yml
  9. +76 −0 .github/workflows/check-action-metadata-task.yml
  10. +73 −0 .github/workflows/check-files-task.yml
  11. +79 −0 .github/workflows/check-general-formatting-task.yml
  12. +96 −0 .github/workflows/check-license.yml
  13. +112 −0 .github/workflows/check-markdown-task.yml
  14. +103 −0 .github/workflows/check-npm-task.yml
  15. +257 −0 .github/workflows/check-prettier-formatting-task.yml
  16. +121 −0 .github/workflows/check-python-task.yml
  17. +97 −0 .github/workflows/check-taskfiles.yml
  18. +90 −0 .github/workflows/check-toc-task.yml
  19. +48 −0 .github/workflows/check-workflows-task.yml
  20. +115 −0 .github/workflows/check-yaml-task.yml
  21. +0 −54 .github/workflows/lint-python.yml
  22. +0 −24 .github/workflows/lint-shell.yml
  23. +66 −0 .github/workflows/spell-check-task.yml
  24. +0 −16 .github/workflows/spell-check.yml
  25. +46 −30 .github/workflows/{sync-labels.yml → sync-labels-npm.yml}
  26. +137 −22 .github/workflows/test-integration.yml
  27. +111 −0 .github/workflows/test-python-poetry-task.yml
  28. +0 −84 .github/workflows/test-python.yml
  29. +8 −0 .github/workflows/testdata/platforms/PyserialDependent/boards.txt
  30. +5 −0 .github/workflows/testdata/platforms/PyserialDependent/platform.txt
  31. +8 −0 .github/workflows/testdata/platforms/PythonPackageDependent/boards.txt
  32. +2 −0 .github/workflows/testdata/platforms/PythonPackageDependent/dependent.py
  33. +3 −0 .github/workflows/testdata/platforms/PythonPackageDependent/platform.txt
  34. +1 −1 .github/workflows/testdata/reports/all-inputs/arduino-avr-uno.json
  35. +1 −1 .github/workflows/testdata/reports/all-inputs/esp8266-esp8266-huzzah.json
  36. +0 −47 .github/workflows/validate-action_yml.yml
  37. +2 −0 .gitignore
  38. +13 −0 .markdown-link-check.json
  39. +62 −0 .markdownlint.yml
  40. +4 −0 .markdownlintignore
  41. +4 −0 .prettierignore
  42. +1 −0 .python-version
  43. +76 −0 .yamllint.yml
  44. +0 −14 LICENSE → LICENSE.txt
  45. +38 −8 README.md
  46. +487 −0 Taskfile.yml
  47. +0 −46 action-setup.sh
  48. +85 −31 action.yml
  49. +0 −8 compilesketches/.flake8
  50. +273 −273 compilesketches/compilesketches.py
  51. +0 −4 compilesketches/requirements.txt
  52. +0 −3 compilesketches/tests/.coveragerc
  53. +5 −0 compilesketches/tests/pytest.ini
  54. +0 −4 compilesketches/tests/requirements.txt
  55. +1,330 −1,000 compilesketches/tests/test_compilesketches.py
  56. +324 −324 compilesketches/tests/testdata/test_get_warning_count_from_output/has-warnings.txt
  57. +96 −96 compilesketches/tests/testdata/test_get_warning_count_from_output/no-warnings.txt
  58. +60 −0 docs/FAQ.md
  59. +0 −2 etc/codespell-ignore-words-list.txt
  60. +4,201 −0 package-lock.json
  61. +11 −0 package.json
  62. +970 −0 poetry.lock
  63. +37 −0 pyproject.toml
9 changes: 9 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/spell-check/.codespellrc
# See: https://github.com/codespell-project/codespell#using-a-config-file
[codespell]
# In the event of a false positive, add the problematic word, in all lowercase, to a comma-separated list here:
ignore-words-list = afterall,clude
skip = ./.git,./.licenses,.pytest_cache,__pycache__,node_modules,./go.mod,./go.sum,./package-lock.json,./poetry.lock,./yarn.lock
builtin = clear,informal,en-GB_to_en-US
check-filenames =
check-hidden =
14 changes: 14 additions & 0 deletions .ecrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"Exclude": [
"^\\.git[/\\\\]",
"^\\.licenses[/\\\\]",
".pytest_cache[/\\\\]",
"__pycache__[/\\\\]",
"node_modules[/\\\\]",
"^LICENSE\\.txt$",
"^poetry\\.lock$",
"\\.py$",
"^compilesketches[/\\\\]tests[/\\\\]testdata[/\\\\]test_get_warning_count_from_output[/\\\\]has-warnings\\.txt$",
"^compilesketches[/\\\\]tests[/\\\\]testdata[/\\\\]test_get_warning_count_from_output[/\\\\]no-warnings\\.txt$"
]
}
60 changes: 60 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/general/.editorconfig
# See: https://editorconfig.org/
# The formatting style defined in this file is the official standardized style to be used in all Arduino Tooling
# projects and should not be modified.
# Note: indent style for each file type is defined even when it matches the universal config in order to make it clear
# that this type has an official style.

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

[*.{adoc,asc,asciidoc}]
indent_size = 2
indent_style = space

[*.{bash,sh}]
indent_size = 2
indent_style = space

[*.{c,cc,cp,cpp,cxx,h,hh,hpp,hxx,ii,inl,ino,ixx,pde,tpl,tpp,txx}]
indent_size = 2
indent_style = space

[*.{go,mod}]
indent_style = tab

[*.java]
indent_size = 2
indent_style = space

[*.{js,jsx,json,jsonc,json5,ts,tsx}]
indent_size = 2
indent_style = space

[*.{md,mdx,mkdn,mdown,markdown}]
indent_size = unset
indent_style = space

[*.proto]
indent_size = 2
indent_style = space

[*.py]
indent_size = 4
indent_style = space

[*.svg]
indent_size = 2
indent_style = space

[*.{yaml,yml}]
indent_size = 2
indent_style = space

[{.gitconfig,.gitmodules}]
indent_style = tab
12 changes: 12 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-python/.flake8
# See: https://flake8.pycqa.org/en/latest/user/configuration.html
# The code style defined in this file is the official standardized style to be used in all Arduino tooling projects and
# should not be modified.

[flake8]
doctests = True
# W503 and W504 are mutually exclusive. PEP 8 recommends line break before.
ignore = E501,W503
max-complexity = 10
max-line-length = 120
select = E,W,F,C,N
56 changes: 56 additions & 0 deletions .github/ISSUE_TEMPLATE/bug-report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/general/bug-report.yml
# See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms

name: Bug report
description: Report a problem with the code or documentation in this repository.
labels:
- "type: imperfection"
body:
- type: textarea
id: description
attributes:
label: Describe the problem
validations:
required: true
- type: textarea
id: reproduce
attributes:
label: To reproduce
description: Provide the specific set of steps we can follow to reproduce the problem.
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: What would you expect to happen after following those instructions?
validations:
required: true
- type: input
id: project-version
attributes:
label: "'arduino/compile-sketches' version"
description: |
Which version of `arduino/compile-sketches` are you using?
_This should be the most recent version available._
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional context
description: Add any additional information here.
validations:
required: false
- type: checkboxes
id: checklist
attributes:
label: Issue checklist
description: Please double-check that you have done each of the following things before submitting the issue.
options:
- label: I searched for previous reports in [the issue tracker](https://github.com/arduino/compile-sketches/issues?q=)
required: true
- label: I verified the problem still occurs when using the latest version
required: true
- label: My report contains all necessary details
required: true
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/template-choosers/github-actions/config.yml
# See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser

blank_issues_enabled: false
contact_links:
- name: Learn about using this project
url: https://github.com/arduino/compile-sketches#readme
about: Detailed usage documentation is available here.
- name: Learn about GitHub Actions
url: https://docs.github.com/actions
about: Everything you need to know to get started with GitHub Actions.
- name: Support request
url: https://forum.arduino.cc/
about: We can help you out on the Arduino Forum!
- name: Discuss development work on the project
url: https://groups.google.com/a/arduino.cc/g/developers
about: Arduino Developers Mailing List
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/issue-templates/forms/general/bug-report.yml
# See: https://docs.github.com/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms

name: Feature request
description: Suggest an enhancement to this project.
labels:
- "type: enhancement"
body:
- type: textarea
id: description
attributes:
label: Describe the request
validations:
required: true
- type: textarea
id: current
attributes:
label: Describe the current behavior
description: |
What is the current behavior of `arduino/compile-sketches` in relation to your request?
How can we reproduce that behavior?
validations:
required: true
- type: input
id: project-version
attributes:
label: "'arduino/compile-sketches' version"
description: |
Which version of `arduino/compile-sketches` are you using?
_This should be the most recent version available._
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional context
description: Add any additional information here.
validations:
required: false
- type: checkboxes
id: checklist
attributes:
label: Issue checklist
description: Please double-check that you have done each of the following things before submitting the issue.
options:
- label: I searched for previous requests in [the issue tracker](https://github.com/arduino/compile-sketches/issues?q=)
required: true
- label: I verified the feature was still missing when using the latest version
required: true
- label: My request contains all necessary details
required: true
18 changes: 15 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -2,17 +2,29 @@
version: 2

updates:
# Configure check for outdated GitHub Actions actions in workflows.
# Configure check for outdated GitHub Actions actions in workflows and action metadata.
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/dependabot/README.md
# See: https://docs.github.com/en/code-security/supply-chain-security/keeping-your-actions-up-to-date-with-dependabot
- package-ecosystem: github-actions
directory: / # Check the repository's workflows under /.github/workflows/
assignees:
- per1234
directory: /
schedule:
interval: daily
labels:
- "topic: infrastructure"
- package-ecosystem: npm
assignees:
- per1234
directory: /
schedule:
interval: daily
labels:
- "topic: infrastructure"
- package-ecosystem: pip
directory: /compilesketches/
assignees:
- per1234
directory: /
schedule:
interval: daily
labels:
76 changes: 76 additions & 0 deletions .github/workflows/check-action-metadata-task.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/check-action-metadata-task.md
name: Check Action Metadata

env:
# See: https://github.com/actions/setup-node/#readme
NODE_VERSION: 16.x

# See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows
on:
create:
push:
paths:
- ".github/workflows/check-action-metadata-task.ya?ml"
- "action.ya?ml"
- "package.json"
- "package-lock.json"
- "Taskfile.ya?ml"
pull_request:
paths:
- ".github/workflows/check-action-metadata-task.ya?ml"
- "action.ya?ml"
- "package.json"
- "package-lock.json"
- "Taskfile.ya?ml"
schedule:
# Run every Tuesday at 8 AM UTC to catch breakage from changes to the JSON schema.
- cron: "0 8 * * TUE"
workflow_dispatch:
repository_dispatch:

jobs:
run-determination:
runs-on: ubuntu-latest
outputs:
result: ${{ steps.determination.outputs.result }}
steps:
- name: Determine if the rest of the workflow should run
id: determination
run: |
RELEASE_BRANCH_REGEX="^refs/heads/v[0-9]+$"
# The `create` event trigger doesn't support `branches` filters, so it's necessary to use Bash instead.
if [[
"${{ github.event_name }}" != "create" ||
"${{ github.ref }}" =~ $RELEASE_BRANCH_REGEX
]]; then
# Run the other jobs.
RESULT="true"
else
# There is no need to run the other jobs.
RESULT="false"
fi
echo "result=$RESULT" >> $GITHUB_OUTPUT
validate:
needs: run-determination
if: needs.run-determination.outputs.result == 'true'
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}

- name: Install Task
uses: arduino/setup-task@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
version: 3.x

- name: Validate action.yml
run: task --silent action:validate
Loading