Skip to content

Sync license check CI workflow with template #220

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
Aug 2, 2021
Merged

Sync license check CI workflow with template #220

merged 11 commits into from
Aug 2, 2021

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Aug 2, 2021

We have assembled a collection of reusable GitHub Actions workflows:
https://github.com/arduino/tooling-project-assets
These workflows will be used in the repositories of all Arduino tooling projects.

Some minor improvements and standardizations have been made in the upstream "template" workflow, and those are introduced to this repository via this pull request.

@per1234 per1234 added type: enhancement Proposed improvement topic: infrastructure Related to project infrastructure labels Aug 2, 2021
@per1234 per1234 requested review from silvanocerza and umbynos August 2, 2021 04:14
@codecov-commenter
Copy link

Codecov Report

Merging #220 (45b44a0) into main (42a40f3) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##             main     #220   +/-   ##
=======================================
  Coverage   87.97%   87.97%           
=======================================
  Files          43       43           
  Lines        4176     4176           
=======================================
  Hits         3674     3674           
  Misses        391      391           
  Partials      111      111           
Flag Coverage Δ
unit 87.97% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 42a40f3...45b44a0. Read the comment docs.

per1234 added 11 commits August 2, 2021 01:52
This is the naming convention established in the standardized template workflow.

Even though it was never realized, the original idea was for the scope of this workflow to be for linting of the
repository's documentation files. However, that approach leads to inefficient workflow trigger path filters. The better
approach is to scope workflows to a file type. So it is more appropriate to scope the workflow to any checks specific to
the license, and the workflow name should reflect that purpose.
This is the template workflow filename, which is intended to serve as a unique identifier, and thus should be used by all
deployments of the template.
Task provides a convenient way to run common development processes locally with a single command. But I don't think the
need to check the license file is common, nor something anyone would bother running. Instead, it's something that can be
added to the repository and forgotten until the day comes that someone mucks around with the license file. That person
likely would not have been aware of the existence of the task.
The license detection system is case insensitive, so the workflow should be also.
…h trigger

These have lower priority, but they are recognized and so should be covered in order for the check to be completely
comprehensive.
The `workflow_dispatch` event allows triggering the workflow via the GitHub web interface. This makes it easy to trigger
an immediate workflow run after some relevant external change.

The `repository_dispatch` event allows triggering workflows via the GitHub API. This might be useful for triggering an
immediate check in multiple relevant repositories after an external change, or some automated process. Although we don't
have any specific need for this event at the moment, the event has no impact on the workflow, so there is no reason
against having it. It is the sort of thing that can end up being useful if it is already in consistently in place, but
not worth setting up on demand, since the effort to set it up is greater than the effort to trigger all the workflows
manually.
These are the naming conventions established in the standardized template workflow.
This might provide some additional useful information to the reader in the event of a failure.
The use of the `error` workflow command will cause the important error message output to be surfaced prominently in the
workflow run summary and log. The workflow run logs can be somewhat labyrinthine to those who don't work with them
regularly, so finding the previous output to determine what caused the failure might have been challenging.
Although very useful information, it doesn't apply directly to the licensee commands being run in this workflow step, and
thus might be confusing.
This will make it easier for the maintainers to sync fixes and improvements in either direction between the upstream
"template" workflow and its installation in this repository.
@per1234 per1234 merged commit 88e0a87 into arduino:main Aug 2, 2021
@per1234 per1234 deleted the check-license branch August 2, 2021 09:03
@per1234 per1234 self-assigned this Nov 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic: infrastructure Related to project infrastructure type: enhancement Proposed improvement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants