Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 44 additions & 15 deletions content/developers/how-to/git/new-package-workflow.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,64 @@
# New package workflow

__Goal__: You have developed a package in GitHub, following the
_Bioconductor_ new package [Contributions README][] and other
guidelines, and your package has been accepted! The accepted package
has been added to the _Bioconductor_ git repository. Now what?
__Goal__: You developed a package in GitHub, following the
_Bioconductor_ new package [Contributions README][] guidelines,
[submitted it to _Bioconductor_][], and your package has been
moderated. As part of moderation process, the package to be
reviewed has been added to the _Bioconductor_ git repository.
Package authors will learn to push to the _Bioconductor_ git
repository, from the time a package has been submitted to
_Bioconductor_.

After your package has been accepted, it is visible on the
[_Bioconductor_ git server][].
After your package has been moderated and assigned a reviewer,
it is available on the [_Bioconductor_ git server][].

- __SSH (developer) read / write access:__ `git@git.bioconductor.org`

- __HTTPS (public) read only access:__ `https://git.bioconductor.org`


## Steps:

1. _Bioconductor_ needs to know your SSH 'public key'. _Bioconductor_
will use keys in `https://github.com/<your-github-id>.keys`.
will use keys in `https://github.com/<your-github-id>.keys`. This step
is now mandated by the package submission process, so it should have been
completed if you have gone through the first step of the submission process.

Alternatively, [submit your SSH public key][submit-keys] or github
id to _Bioconductor_.
id to _Bioconductor_ via the [BiocCredentials application][].

1. Configure the "remotes" of your local git repository. You will need
to push any future changes to your package to the _Bioconductor_
repository, and pull changes the _Bioconductor_ core team will make
(e.g., bug fixes or bumping a version number for a new
release). Add a remote to your machine's local git repository
using:
to push any future changes to your package to the _Bioconductor_ git
repository to issue a new build of your package.

Once the package is accepted, you pull changes the _Bioconductor_ core
team will make (e.g., bug fixes or bumping a version number for a new
release).

Add a remote to your package's local git repository using:

git remote add upstream git@git.bioconductor.org:packages/<YOUR-REPOSITORY-NAME>.git

NOTE: As a package developer, you must only use the SSH protocol to
gain read/write access to your package in the _Bioconductor_ git
repository.

1. **Start a new build**: Your package version number is in the format
'major.minor.patch'. To start a new build on our server, you must only
update the 'patch' version. Newly submitted packages will have versions
similar to `0.99.0`. Then, push to the _Bioconductor_ git repository.

To push,

git add <files changed including version bump in DESCRIPTION file>

git commit -m "<informative commit message>"

git push upstream master

1. [Pull upstream changes][] made by the _Bioconductor_ core team
during addition of your repository.
during addition of your repository. This step is relevant once you
package is accepted by Bioconductor. You will need to pull the changes
made by the Bioconductor team.

1. See other scenarios for working with _Bioconductor_ and GitHub repositories, in particular:

Expand All @@ -44,3 +71,5 @@ After your package has been accepted, it is visible on the
[Fix bugs in devel and release]: ../bug-fix-in-release-and-devel
[Contributions README]: https://github.com/Bioconductor/Contributions
[_Bioconductor_ git server]: https://git.bioconductor.org
[submitted it to _Bioconductor_]: http://bioconductor.org/developers/package-submission/
[BiocCredentials application]: https://git.bioconductor.org/BiocCredentials/