OpenPrinting / OpenPrinting/openprinting.github.io
Add GitHub workflow, cron-based to update driverless (AirPrint, IPP Everywhere) printer list
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 18
- Forks
- 38
- Avg merge
- 3h 33m
- Merged PRs (30d)
- 2
Description
See issue #223, starting with this comment to the end.
@michaelrsweet said:
The current scripts merge the AirPrint and IPP Everywhere lists. Mopria does not provide a public list of printers (unfortunately), but the number of Mopria-ready printers that are not AirPrint or IPP Everywhere is probably close to (if not) 0.
I ran my scripts manually this time. I normally have them setup to run on one of my development systems once a month since the lists don't change that often. I don't think we could do this via GitHub CI directly - maybe we could create a PR but I'm not sure. The scripts can certainly be run from CI, it is just how to generate the PR with the changes? (I know I probably don't have the time to make that work right now, maybe later...)
... and to follow up on this, apparently there is a GitHub action for this. So it is possible we can do it fairly easily, but again I don't have time to write it up today...
From a clone of the repository:
cd driverless ./update-printer-list.shThe updated "public/assets/json/driverless.json" file is then ready to be committed and/or turned into a PR.
The script uses curl and python, with the python sys and json modules/libraries (in case they are not in the default CI running image...)
For generating PRs also have a look at the workflows for update and versioning automation in the CUPS Snap repo.
@rudra-iitm @gativarshney @rkt0209 could somebody of you have a look?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with driverless/update-printer-list.sh and its generated public/assets/json/driverless.json file; review how the script uses curl and Python, including sys and json. Then inspect the update and versioning workflows in the CUPS Snap repo and the GitHub create-pull-request action. Done means a cron workflow runs the script and opens a pull request for updated printer data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, python, shell
- Domain
- ci-cd, devops, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100