-
Couldn't load subscription status.
- Fork 22
Troubleshooting
If a repository gets into a bad state, the issue-labeler's workflows can be disabled using GitHub's Actions UI. This should only apply to the Labeler: Predict Issue Labels and Labeler: Predict Pull Labels workflows, as they are automatically trigged as issues and pull request are opened.
If prediction is failing, go to the Actions page for the repository and select each of these workflows from the list on the left. Once selected, use the ··· button next to the "Filter workflow runs" text box in the upper-right of the page, and click Disable Workflow.
To get back to a fully clean state and prepare for a fresh re-training of the models, the issue-labeler cache entries can be deleted using GitHub's UI. From the Actions page, click Caches in the lower left under the Management section. Delete some or all of the issue-labeler/ caches as needed. If the repository uses the Action Cache heavily for other purposes, entering key:issue-labeler will filter the list to those created by the issue-labeler.
These are the cache entries created by issue-labeler:
- issue-labeler/predictor-app. The pre-compiled .NET Predictor console app that is used to perform prediction. It is pre-compiled into cache to keep the prediction workflow as performant as possible.
- issue-labeler/issues/data/staging. The staging slot for raw issue data downloaded from GitHub by the Downloader during training. This data is consumed by the Trainer.
- issue-labeler/pulls/data/staging. The staging slot for raw pull request data downloaded from GitHub by the Downloader during training. This data is consumed by the Trainer.
- issue-labeler/issues/model/staging. The staging slot for the ML.NET issue model produced by the Trainer. This model is consumed when Promote Models is used to copy a staged model into the LIVE slot.
- issue-labeler/pulls/model/staging. The staging slot for the ML.NET pull request model produced by the Trainer. This model is consumed when Promote Models is used to copy a staged model into the LIVE slot.
- issue-labeler/issues/model/LIVE. The LIVE ML.NET issue model used by the Predictor app.
- issue-labeler/issues/model/LIVE. The LIVE ML.NET pull request model used by the Predictor app.
Additional entries with backup suffixes will be created if training or promotion is performed and the destination cache entry already existed. In that case, any prior backup entry will be deleted and replaced by the new backup.
GitHub automatically evicts/deletes cache entries that are not used for 7 days. Because no processes consume the /data/ cache entries after training is completed, those entries will be automatically evicted 7 days after training is conducted. /staging and /backup entries will also be evicted after 7 days automatically.
The issue-labeler/predictor-app, issue-labeler/issues/model/LIVE, and issue-labeler/pulls/model/LIVE cache entries are the 3 entries that keep the system running and these should never be evicted automatically, but they can be deleted if the issue-labeler is malfunctioning and the onboarding steps need to be followed again.
For low-volume repositories that could go 7 or more days without an issue or pull request being opened, it's important for the Labeler: Cache Retention workflow to be scheduled to run daily to ensure there are reads of the required cache entries to prevent automatic eviction.