Skip to content
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

Remove broken and unused stats workflows #1603

Merged
merged 2 commits into from Nov 3, 2022
Merged

Remove broken and unused stats workflows #1603

merged 2 commits into from Nov 3, 2022

Conversation

per1234
Copy link
Contributor

@per1234 per1234 commented Oct 30, 2022

Motivation

The "arduino-stats" GitHub Actions workflow was designed to periodically gather download statistics from Arduino CDN and push results to Datadog (a46f36a).

The recorded stats from the identical system in the Arduino CLI repository showed a periodic decrease in total download count. Since this is patently impossible, it is clear that something is wrong with the system and that the recorded data is not trustworthy. An investigation into the problem was never done.

On 2022-03-14, the runs of the "arduino-stats" GitHub Actions workflow began to fail:

Traceback (most recent call last):
  File "/home/runner/work/arduino-ide/arduino-ide/.github/tools/fetch_athena_stats.py", line 127, in <module>
    exec_id = execute(athena_client, query, DEST_S3_OUTPUT)
  File "/home/runner/work/arduino-ide/arduino-ide/.github/tools/fetch_athena_stats.py", line 27, in execute
    wait_for_query_execution_completion(client, execution_id)
  File "/home/runner/work/arduino-ide/arduino-ide/.github/tools/fetch_athena_stats.py", line 40, in wait_for_query_execution_completion
    raise BaseException(
BaseException: query failed or canceled: INVALID_FUNCTION_ARGUMENT: URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "b "

Because there had not been any relevant change in the repository between the last successful run and the first failing run, it seems likely that some external change caused the breakage.

Since the "arduino-stats" workflow was not ever working successfully and there was never an investigation about that, nor any investigation or impact resulting from the last 6 months of failed workflow runs, it is clear the stats are not of any value.

The "github-stats" GitHub Actions workflow periodically gathers GitHub release asset download statistics for Arduino CLI and pushes the results to Datadog.

There are no known problems with the "github-stats" workflow. However, GitHub stats are not very valuable on their own as they only provide an unknown fraction of the total downloads of Arduino IDE. So there is no point in keeping this workflow after the "arduino-stats" workflow is removed. As with the data from the "arduino-stats" workflow, this information has never ended up being used.

Both workflows use deprecated Node.js 12 runtime-based actions:

https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

and set-output workflow commands:

https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

These currently result in warnings printed to the workflow run summary page, but will eventually cause the complete breakage of the workflow.

Change description

Remove the broken infrastructure from the repository rather than investing time into fixing and maintaining something that isn't being used anyway.

Other information

Fixes #971

The workflows were removed from the Arduino CLI repository last April without any detrimental affect:

Reviewer checklist

  • PR addresses a single concern.
  • The PR has no duplicates (please search among the Pull Requests before creating one)
  • PR title and description are properly filled.
  • Docs have been added / updated (for bug fixes / features)

@per1234 per1234 added topic: infrastructure Related to project infrastructure type: imperfection Perceived defect in any part of project labels Oct 30, 2022
@per1234 per1234 self-assigned this Oct 30, 2022
Copy link
Contributor

@kittaakos kittaakos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It makes sense to remove it. Thank you!

The "arduino-stats" GitHub Actions workflow was designed to periodically gather download statistics from Arduino CDN and
push results to Datadog.

The recorded stats from the identical system in the Arduino CLI repository showed a periodic decrease in total download
count. Since this is patently impossible, it is clear that something is wrong with the system and that the recorded data
is not trustworthy. An investigation into the problem
was never done.

On 2022-03-14, the runs of the "arduino-stats" GitHub Actions workflow began to fail. Because there had not been any
relevant change in the repository between the last successful run and the first failing run, it seems that some external
change caused the breakage.

The workflow also uses deprecated Node.js 12 runtime-based actions and set-output workflow command, which currently
results in warnings printed to the workflow run summary page, but will eventually cause the complete breakage of the
workflow.

Since the workflow was not ever working successfully and the lack of an investigation about that indicates that the
stats are not of immediate importance, the best course of action is to simply remove the broken infrastructure from the
repository rather than investing time into fixing something that isn't being used anyway.
The "github-stats" GitHub Actions workflow periodically gathers GitHub release asset download statistics for Arduino CLI
and pushes the results to Datadog.

There are no known problems with this workflow. However, the companion "arduino-stats" workflow that did the same for
the downloads of Arduino IDE from downloads.arduino.cc was broken and thus removed from the repository.

The GitHub stats are not very valuable on their own as they only provide an unknown fraction of the total downloads of
Arduino IDE. They have also not ended up being used.

The workflow also uses deprecated Node.js 12 runtime, which currently results in warnings printed to the workflow run
summary page, but will eventually cause the complete breakage of the workflow.

Since it doesn't provide any value and represents a maintenance burden, the workflow is hereby removed from the
repository.
@per1234 per1234 merged commit dbd52e2 into arduino:main Nov 3, 2022
@per1234 per1234 deleted the remove-stats-workflows branch November 3, 2022 21:13
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: imperfection Perceived defect in any part of project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Persistent failure of "arduino-stats" GitHub Actions workflow runs
2 participants