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

Inconsistent naming convention of taskfile commands #4462

Open
malfisya opened this issue Nov 27, 2024 · 3 comments
Open

Inconsistent naming convention of taskfile commands #4462

malfisya opened this issue Nov 27, 2024 · 3 comments
Labels
Priority: Low Low priority Topic: Tooling Tools and scripts Type: Chore Not a feature or a bug

Comments

@malfisya
Copy link
Member

malfisya commented Nov 27, 2024

The taskfile commands (executed usinggo-task in packages monorepo) have inconsistent naming convention. I think this is caused by creating all commands ad-hoc. It makes it hard to remember all the commands we have. We should have a convention for naming the commands going forward. I propose something like (action) (place) (misc) format. I will expand this further later.

@malfisya malfisya added Priority: Low Low priority Type: Chore Not a feature or a bug Topic: Tooling Tools and scripts labels Nov 27, 2024
@malfisya malfisya added this to Solus Nov 27, 2024
@github-project-automation github-project-automation bot moved this to Triage in Solus Nov 27, 2024
@davidjharder
Copy link
Member

For the sake of discussion, here's the current list (omitting the infra tasks for staff)

  • add-monitoring: Add skeleton for monitoring.yml
  • build: Build the current package against the unstable repo (aliases: default)
  • build-local: Build the current package against the unstable and the default local repo (aliases: local)
  • build-localcp: Build the current package against the unstable and the default local repo and forcibly copy .eopkgs to the default local repo. (aliases: localcp)
  • build-localindex: Rebuild the local repo index if it exists. (aliases: localindex)
  • build-stable: Build the current package against the stable repo (do NOT use for official submissions!) (aliases: stable)
  • bump: Bump current release
  • check: Run package sanity checks
  • check-appstream-progress: Generate a progress report detailing which packages still need appstream metadata added
  • clean: Clean .eopkgs found in the current directory
  • clean-all: List all .eopkgs found in the monorepo, ask before deleting them. (aliases: rmall, rma)
  • clean-local: WARNING - Clean ALL eopkgs found in solbuild local repository /var/lib/solbuild/local (aliases: rmlocal, rml)
  • convert: Convert pspec to package.yml
  • cvecheck: Check package for CVEs
  • delete-all-eopkgs: Ask before deleting all .eopkgs found in the monorepo.
  • delete-local: Ask before deleting all .eopkgs found in the local repo
  • help: Show how to list available tasks
  • init: Initialize the packages repo
  • list-all-eopkgs: List all .eopkgs found in the monorepo (aliases: lsall, lsa)
  • list-local: List all .eopkgs in the local repo (/var/lib/solbuild/local/*.eopkg) (aliases: lslocal, lsl)
  • new: Create a new package
  • notify-complete: Get a notification when the build has finished on the buildserver
  • pkgconfig: Find which package provides a given pkgconfig target. Example usage: go-task pkgconfig -- Qt5Core Qt6Core
  • publish: Publish the last commit for the current package to the repository and the build server. The run-safety-catches task is used to check for common issues before pushing.
  • pull: Pull/rebase latest changes
  • republish: Retry the last commit for the current package on the build server. The run-safety-catches task is used to check for common issues before pushing.
  • run-safety-catches: Check for issues in the currently staged commits using the CI package checks.
  • solbuild-reset: Delete all existing solbuild cache and images, then download fresh solbuild images + cache updates
  • update: Update an existing package.yml recipe to a new version given a version and a download URI. Example usage: go-task update -- 7.2 https://www.nano-editor.org/dist/v7/nano-7.2.tar.xz
  • updatecheck: Check package for update
  • qt5:qt5-update: Update qt5 package to latest KDE upstream

@TraceyC77 TraceyC77 moved this from Triage to Ready in Solus Jan 7, 2025
@TraceyC77
Copy link
Contributor

I like the format
action-thing-misc

e.g.
update -> update-package
list-local -> list-local-packages

@malfisya
Copy link
Member Author

malfisya commented Jan 8, 2025

My previous proposed scheme might not work (in my opinion), but here is the principle we ought to have:

  • It needs to make sense
  • it needs to be concise
  • it needs to be consistent

First of all we have many tasks that are a crutch of other tasks which is not necessarily needed to be visible for end-user. Need to look to go-task docs, whether or not it can hidden.

Second, go-task -l list all commands alphabetically, I am not sure that's the best way. Making the scheme consistent might help with this problem tho and also need to check the docs for this too.

Third, we don't really arrange the content of the Taskfile and it is a mess there too. Again, a consistent scheme might help with this, but better section-ing will do us good.

I will try to apply the scheme [action]-[object]-[misc] (it is basically a sentence structure) and post it here for brainstorming. Not going to be soon. Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: Low Low priority Topic: Tooling Tools and scripts Type: Chore Not a feature or a bug
Projects
Status: Ready
Development

No branches or pull requests

3 participants