This directory contains GitHub-related files that help project management and the release process of CLAMS apps.
To use these workflows, your app must be part of clamsproject
organization.
To create a new repository under the clamsproject
organization, here's some naming convention to follow.
- App repositories in the
clamsproject
organization should be prefixed withapp-
(e.g.,app-myapp
). - An app that wraps an extant tool or application should be suffixed with
-wrapper
(e.g.,app-their-app-wrapper
). LICENSE
file should always contain licensing information of the terminal code. If the app is a wrapper, an additional file containing licensing information of the underlying tool must be placed next to theLICENSE
file when the original license requires so.
(Your "app name" that you used in clams develop
to create this scaffolding doesn't have to match the repository name.)
In the workflows
directory, you'll find;
issue-apps-project.yml
: this workflow will add all new issues and PRs to ourapps
project board.issue-assign.yml
: this workflow will assign an issue to the person who created a branch for the issue. A branch is for an issue when its name starts with theissueNum-
prefix. (e.g.,3-fix
branch is for issue number 3)issue-close.yml
: this workflow will remove all assignee from closed/merged issues and PRs.publish.yml
: this workflow is the main driver for the app release process. A release process is set to be triggered by any tag push. To change the trigger editon:
part of the file. To change the trigger editon.push.tags
part of the file. (reference).- The workflow will
- build a container image for the app and push it to the
clamsproject
ghcr. - generate app directory entry files and create a PR to the app directory repository for registration.
- build a container image for the app and push it to the
- NOTE: Throughout the entire release process, the git tag that triggered the workflow will be used as the version of the app.
- The workflow will