nutriverse / mwana

GNU General Public License v3.0
2 stars 0 forks source link

setup `dev` branch to serve as staging branch #41

Open ernestguevarra opened 1 day ago

ernestguevarra commented 1 day ago

@tomaszaba, we should implement a staging version approach as we plan for pre-release.

Once we have gone through the current development tasks/issues (up to testing and re-factor) including the changing of the remnants of the ipccheckr name in the package and have merged all these changes to main branch, we should do the following steps first leading up to pre-release:

After pre-release and onwards, our workflow for working on this project can look like this:

Dev pathway

  1. Create branch from dev
  2. Update package version accordingly using usethis::use_dev_version()
  3. Re-factor/code to address issue/task
  4. Create tests as appropriate
  5. devtools::check()
  6. Pull request to dev
  7. Review
  8. Merge to dev
  9. Prune/delete remote and local branch merged to dev
flowchart LR
  A[1 New branch from dev] --> B[2 Update package dev version]
  B[2 Update package dev version] --> C[3 Code]
  C[3 Code/Re-factor] --> D[4 Create tests] --> E[5 devtools::check]
  E[5 devtools::check] --> F{All checks passed?}
  F{All checks passed?} -- NO --> C[3 Code/Re-factor]
  F{All checks passed?} -- YES --> G[6 Pull request to dev] --> H[7 Review]
  H[7 Review] --> I{Approved?}
  I{Approved?} -- NO --> C[3 Code/Re-factor]
  I{Approved?} -- YES --> J[8 Merge to dev]

Release pathway

  1. Checkout dev
  2. Update package version using usethis::use_version()
  3. Update NEWS.md to document changes to dev
  4. Pull request to main
  5. Review
  6. Merge to main
  7. Resubmit to CRAN for new release (if CRAN package)
  8. Create new GitHub release

We can discuss this once we get to that stage

tomaszaba commented 1 day ago

Noted.

ernestguevarra commented 1 day ago

Noted.

this is exciting. I think we are close to a pre-release....