Skip to content

Commit

Permalink
Merge branch 'develop' into feature-2400-all-layers-collection
Browse files Browse the repository at this point in the history
  • Loading branch information
ianguerin committed Jun 5, 2024
2 parents c453c76 + a320239 commit 3392635
Show file tree
Hide file tree
Showing 479 changed files with 93,997 additions and 82,881 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/format-lint-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: "Format, Lint, & Test"
on:
pull_request:
types:
- opened
- reopened
- synchronize
branches-ignore:
- ignore-*
jobs:
run_checks:
name: Run All Checks
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "18"
- name: Install dependencies
run: npm install
- name: Check for linting errors on changed code
uses: reviewdog/action-eslint@v1
if: always()
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
reporter: github-pr-review
eslint_flags: src
filter_mode: diff_context
fail_on_error: true
- name: Check for formatting errors on changed code
uses: EPMatt/reviewdog-action-prettier@v1
if: always()
with:
github_token: "${{ secrets.GITHUB_TOKEN }}"
reporter: github-pr-review
filter_mode: diff_context
fail_on_error: true
- name: Ensure unit tests pass
id: test
if: always()
run: npm test
- name: Ensure docs build without errors
id: jsdoc-dry-run
if: always()
run: npm run jsdoc-dry-run
142 changes: 80 additions & 62 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,40 @@
# Contributing to MetacatUI

:tada: First off, thanks for contributing! :tada:

- [Contributing to MetacatUI](#contributing-to-metacatui)
- [Types of contributions](#types-of-contributions)
- [Pull Requests](#pull-requests)
- [Development Workflow](#development-workflow)
- [Development flow overview](#development-flow-overview)
- [Release process](#release-process)
- [Testing](#testing)
- [Code style](#code-style)
- [Documentation](#documentation)
- [PR Code Review Guidelines](#pr-code-review-guidelines)
- [Contributor license agreement](#contributor-license-agreement)

## Types of contributions
**🎉 First off, thanks for contributing! 🎉**

- [✨ Types of Contributions](#-types-of-contributions)
- [🐈‍⬛ About MetacatUI](#-about-metacatui)
- [🌱 Getting Started with Contributions](#-getting-started-with-contributions)
- [🔧 Setting Up Your Environment](#-setting-up-your-environment)
- [✍️ Making Changes and Submitting Contributions](#️-making-changes-and-submitting-contributions)
- [📤 Submitting a Pull Request](#-submitting-a-pull-request)
- [🎨 Code Style](#-code-style)
- [🖋 Formatting](#-formatting)
- [🔍 Linting](#-linting)
- [🔬 Testing](#-testing)
- [📚 Documentation](#-documentation)
- [📐 Key Quality Checks for Contributions](#-key-quality-checks-for-contributions)
- [🚀 Development Workflow](#-development-workflow)
- [🌳 Branches](#-branches)
- [🔀 Workflow Diagram](#-workflow-diagram)
- [🚀 Release Process](#-release-process)
- [📄 Contributor license agreement](#-contributor-license-agreement)

## ✨ Types of Contributions

We welcome all types of contributions, including bug fixes, feature enhancements,
bug reports, documentation, graphics, and many others. You might consider contributing by:

- Report a bug or request a new feature in our [issue tracker](https://github.com/NCEAS/metacatui/issues)
- Report a bug or request a new feature in our [issue
tracker](https://github.com/NCEAS/metacatui/issues)
- Fix a bug and contribute the code with a Pull Request
- Write or edit some documentation
- Sharing helpful tips or FAQ-type answers to users or future contributors
- Write or edit some documentation, such as this file!
- Sharing helpful tips or FAQ-type answers with users or future contributors
- Ask or answer a question on our [discussions
board](https://github.com/NCEAS/metacatui/discussions)
- Create screenshots or tutorials of features of MetacatUI
- Answer questions on our mailing list or [Slack team](https://slack.dataone.org/)
- Answer questions on our mailing list or [Slack
team](https://slack.dataone.org/)
- ...

MetacatUI is an open source project, and we welcome full
Expand Down Expand Up @@ -58,31 +68,45 @@ Development is managed through the git repository at https://github.com/NCEAS/me

**main**. Releases are merged from the `develop` branch to the `main` branch, and the resulting commit is tagged with the release tag (e.g., `2.4.0`). The tip of the `main` branch always reflects the most recent release of the software. The version number in all configuration files and the README on the `main` branch follows [semantic versioning](https://semver.org/) and should always be set to the current release version, for example, `2.8.5`.

**develop**. The `develop` branch is a stable branch that is constantly maintained in a state ready for release. Commits should only be pushed to this branch once they are ready to be deployed to production immediately after being pushed. Any unreleased code changes on the develop branch represent changes that have been tested and staged for the next release. The tip of the develop branch always represents the set of features that have been staged for the next release. Commits are added to the develop branch via a pull request or after consultation with the designated MetacatUI product owner.
**develop**. The `develop` branch is a stable branch that is constantly
maintained in a state ready for release. Commits should only be pushed to this
branch once they are ready to be deployed to production immediately after being
pushed. Any unreleased code changes on the develop branch represent changes that
have been tested and staged for the next release. The tip of the develop branch
always represents the set of features that have been staged for the next
release. Commits are added to the develop branch via a pull request or after
consultation with the designated MetacatUI product owner.

**feature**. to isolate development on a specific set of capabilities, especially if it may be disruptive to other developers working on the main `develop` branch, feature branches should be created.
**feature**. to isolate development on a specific set of capabilities,
especially if it may be disruptive to other developers working on the main
`develop` branch, feature branches should be created.

Feature branches are named as `feature-` + `#{issue}` + `-{short-description}-`. With `{issue}` being the Github issue number related to that new feature. e.g. `feature-#1456-new-search`.
Feature branches are named as `feature-` + `#{issue}` + `-{short-description}-`.
With `{issue}` being the Github issue number related to that new feature. e.g.
`feature-#1456-new-search`.

All `feature-*` branches should be frequently merged with changes from `develop` to
ensure that the feature branch stays up to date with other features that have
been tested and are awaiting release. Thus, each `feature-*` branch represents an opportunity
for integration testing of the set of features intended to work together for a
particular release.

**dev-X.X**. Development branches named after their minor version number can be used when a patch release
needs to be created that is behind the main **develop** branch.
**dev-X.X**. Development branches named after their minor version number can be
used when a patch release needs to be created that is behind the main
**develop** branch.

**bugfix**. A final branch type are `bugfix` branches, which work the same as feature branches, but fix bugs rather than adding new functionality. Bugfix branches are named similarly, following the pattern: `bugfix-` + `{issue}` + `-{short-description}`, with `{issue}` being the GitHub issue number related to that bug. e.g. `bugfix-83-fix-name-display`.

### Development flow overview

```mermaid
%%{init: { 'theme': 'base',
%%{init: { 'theme': 'base',
'gitGraph': {
'rotateCommitLabel': false,
'showCommitLabel': false
},
},
'themeVariables': {
'commitLabelColor': '#ffffffff',
'commitLabelBackground': '#000000'
Expand All @@ -109,7 +133,7 @@ gitGraph
merge develop id: "11" tag: "v1.1.0"
```

## Release process
### 🚀 Release Process

1. Our release process starts with integration testing in a `develop` branch. Once all
changes that are desired in a release are merged into the `develop` branch, we run
Expand Down Expand Up @@ -200,43 +224,37 @@ When submitting a pull request (PR) to MetacatUI, it's essential to adhere not o

9. **Security Assessment**: Ensure that any security implications of your changes are thoroughly considered and addressed.

## Contributor license agreement

In order to clarify the intellectual property license
granted with Contributions from any person or entity, you agree to
a Contributor License Agreement ("CLA") with the Regents of the University of
California (hereafter, the "Regents").

1. Definitions.
"You" (or "Your") shall mean the copyright owner or legal entity
authorized by the copyright owner that is making this Agreement
with the Regents. For legal entities, the entity making a
Contribution and all other entities that control, are controlled
by, or are under common control with that entity are considered to
be a single Contributor. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"Contribution" shall mean any original work of authorship,
including any modifications or additions to an existing work, that
is intentionally submitted by You to the Regents for inclusion
in, or documentation of, any of the products owned or managed by
the Regents (the "Work"). For the purposes of this definition,
"submitted" means any form of electronic, verbal, or written
communication sent to the Regents or its representatives,
including but not limited to communication on electronic mailing
lists, source code control systems, and issue tracking systems that
are managed by, or on behalf of, the Regents for the purpose of
discussing and improving the Work, but excluding communication that
is conspicuously marked or otherwise designated in writing by You
as "Not a Contribution."
2. Grant of Copyright License. Subject to the terms and conditions of
this Agreement, You hereby grant to the Regents and to
recipients of software distributed by the Regents a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare derivative works of,
publicly display, publicly perform, sublicense, and distribute Your
## 📄 Contributor license agreement

In order to clarify the intellectual property license granted with Contributions
from any person or entity, you agree to a Contributor License Agreement ("CLA")
with the Regents of the University of California (hereafter, the "Regents").

1. Definitions. "You" (or "Your") shall mean the copyright owner or legal entity
authorized by the copyright owner that is making this Agreement with the
Regents. For legal entities, the entity making a Contribution and all other
entities that control, are controlled by, or are under common control with
that entity are considered to be a single Contributor. For the purposes of
this definition, "control" means (i) the power, direct or indirect, to cause
the direction or management of such entity, whether by contract or otherwise,
or (ii) ownership of fifty percent (50%) or more of the outstanding shares,
or (iii) beneficial ownership of such entity. "Contribution" shall mean any
original work of authorship, including any modifications or additions to an
existing work, that is intentionally submitted by You to the Regents for
inclusion in, or documentation of, any of the products owned or managed by
the Regents (the "Work"). For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent to the
Regents or its representatives, including but not limited to communication on
electronic mailing lists, source code control systems, and issue tracking
systems that are managed by, or on behalf of, the Regents for the purpose of
discussing and improving the Work, but excluding communication that is
conspicuously marked or otherwise designated in writing by You as "Not a
Contribution."
2. Grant of Copyright License. Subject to the terms and conditions of this
Agreement, You hereby grant to the Regents and to recipients of software
distributed by the Regents a perpetual, worldwide, non-exclusive, no-charge,
royalty-free, irrevocable copyright license to reproduce, prepare derivative
works of, publicly display, publicly perform, sublicense, and distribute Your
Contributions and such derivative works.
3. Grant of Patent License. Subject to the terms and conditions of
this Agreement, You hereby grant to the Regents and to
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
- **License**: [Apache 2](http://opensource.org/licenses/Apache-2.0)
- [Package source code on Github](https://github.com/NCEAS/metacatui)
- [**Submit Bugs and feature requests**](https://github.com/NCEAS/metacatui/issues/new/choose)
- Contact us: metacat-dev@ecoinformatics.org
- Contact us: developers@dataone.org

![Tests Status](https://github.com/NCEAS/metacatui/actions/workflows/test.js.yml/badge.svg)

Expand All @@ -17,7 +17,7 @@ MetacatUI is an open source, community project. We [welcome contributions](https

Cite this software as:

> Matthew B. Jones, Chris Jones, Lauren Walker, Robyn Thiessen-Bock, Ben Leinfelder, Peter Slaughter, Bryce Mecum, Rushiraj Nenuji, Hesham Elbashandy, Val Hendrix, Ian Nesbitt, Yvonne Shi, Ian Guerin, Doug Hungarter. 2024. MetacatUI: A client-side web interface for DataONE data repositories (version 2.29.0). Arctic Data Center. [doi:10.18739/A2KD1QN1N](https://doi.org/10.18739/A2KD1QN1N)
> Matthew B. Jones, Chris Jones, Lauren Walker, Robyn Thiessen-Bock, Ben Leinfelder, Peter Slaughter, Bryce Mecum, Rushiraj Nenuji, Hesham Elbashandy, Val Hendrix, Ian Nesbitt, Yvonne Shi, Ian Guerin, Doug Hungarter. 2024. MetacatUI: A client-side web interface for DataONE data repositories (version 2.29.1). Arctic Data Center. [doi:10.18739/A2KD1QN1N](https://doi.org/10.18739/A2KD1QN1N)
## Screenshots

Expand Down
2 changes: 1 addition & 1 deletion docs/_config.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
url: "/metacatui"
highlighter: "rouge"
version: "2.29.0"
version: "2.29.1"
Loading

0 comments on commit 3392635

Please sign in to comment.