Skip to content

Latest commit

 

History

History
119 lines (82 loc) · 4.3 KB

File metadata and controls

119 lines (82 loc) · 4.3 KB

Contributing to Allen Institute for Cell Science Open Source

Thank you for your interest in contributing to this Allen Institute for Cell Science open source project! This document is a set of guidelines to help you contribute to this project.

Code of Conduct

By participating in this project, you are expected to uphold our Code of Conduct.

Project Documentation

The README in the root of the repository should contain or link to project documentation. If you cannot find the documentation you're looking for, please file a GitHub issue with details of what you'd like to see documented.


How to Contribute as a non team member

  1. Fork the repo on GitHub.
  2. Create a branch and make your edits on your branch, pushing back to your fork.
  3. Make sure npm run typeCheck, npm run test and npm run lint all exit without errors. Add tests and documentation as needed.
  4. Submit a pull request back to the main branch via GitHub.

How to Contribute as a team member

  1. Clone the repo on GitHub.
  2. Create a branch: for new features name your branch feature/[THE NEW FEATURE] for bug fixes name your branch fix/[BUG FIX]. Commit edits to your branch. Ideally your commit messages complete the sentence "This commit will ____".
  3. Make sure npm run typeCheck, npm run test and npm run lint all exit without errors. Add tests and documentation as needed.
  4. Submit a pull request back to the main branch via GitHub.

Updating the viewer

  1. Follow steps 1 and 2 above.
  2. Run npm run update-viewer from the terminal
  3. Submit a PR back to the main branch

Structure

src/
    assets/
    components/
    constants/
    containers/
    routes/
    state/
    styles/
    util/


Runtime configuration:

Env var Default Options
DEPLOYMENT_ENV dev "dev", "staging", "production"

Differences in builds by environment:

Target Sources Maps Uglification NODE_ENV === 'production'
dev true false false
staging true false false
production false true true

Deployment

Update Simularium Viewer module

Run npm update to update dependencies, including simularium-viewer

Daily builds

Staging deployment

Automatically builds from main

Production deployment

  1. Make a new version: npm version [patch/minor/major]
  2. Push the new package.json version: git push origin main
  3. Push the new tag: git push origin [NEW_TAG]
  4. Go to the releases page and write the release notes for the new version. You can refer to the auto-generated CHANGELOG.md for a list of changes.

Suggested release notes template:

### ✨ New Features
Just one new feature for this release, so describing it here.

* **Shiny new feature 1** - Description
* **Shiny new feature 2** - Description

### 🐛 Bug Fixes and Improvements
Updated [simularium-viewer](https://github.com/simularium/simularium-viewer) to from vx.x.x to vx.x.x, which includes:
* Something nice
* Something else nice

* Fixed a bug that causes x to do x
* Fixed xyz abc

### 🔧 Behind the Scenes
Maintenance tasks that got done

* Lots of maintenance tasks so here are some bullets
* Another task

Questions or Thoughts?

Feel free to submit a GitHub issue or talk to us on the Allen Cell Discussion Form - Simularium.