Skip to content

Create a CLI for multi-platform support #16

Description

@natalialuzuriaga

MENTOR

  • @natalialuzuriaga
  • Software Engineer, CMS OSPO, Archiving Repositories
  • #dsac-ospo on Slack

BRIEF DESCRIPTION

Currently, repo-sunsetter is a GitHub Action that automates tasks to archive GitHub repositories. We would like to create a CLI that is able to do the same work locally for non-GitHub repositories + private/internal repositories where GitHub Actions is not enabled. The CLI should perform the following tasks:

  • Adds an archival notice to the README
  • Update the code.json file to mark its archival status
  • Prints out a checklist to the CLI based on the maturity model tier of the repository

SCOPING

1 week

SKILLS NEEDED

Python, CLI, shell scripting

REQUIRED DELIVERABLES

  1. Read through the repo-sunsetter repository and experiment with the action to get a sense of how it works.
  2. Set up Python CLI in this repository. Consider using CLI libraries like Click.
  3. README: Append an archival notice to the README. May be able to use the subaction script for this work
  4. Metadata: read the code.json file and update the code.json to mark the repository as archived.
  5. Checklist: Print out a checklist to the CLI based on the maturity model tier of the repository. May be able to use the subaction scripts to retrieve the maturity model tier number and print the checklist.
  6. Write and perform tests to verify the functionality of the tool
  7. Update documentation accordingly with usage of the new CLI

DESIRED DELIVERY WINDOW

  • Any

NOTES/INSPO

Resources on how we archive projects:

ACKNOWLEDGEMENTS

  • - Yes, I agree to spend file a project proposal ticket
  • - Yes, I agree this project falls within a 2 week or less (ideally less) scope of time
  • - Yes, I agree to spend an hour per week of office hours and 1x1 mentoring
  • - Yes, I agree to spend an hour at the end of the sprint for filling out a Retro Template

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions