OpenPrinting / OpenPrinting/openprinting.github.io

Add GitHub workflow, cron-based to update driverless (AirPrint, IPP Everywhere) printer list

Open
#229 3 comments 0 reactions 0 assignees View on GitHub

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.sh

The 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.