Skip to content

samvera/maintenance

Repository files navigation

Component Maintenance Interest Group

This repository holds templates and guidelines to support the maintenance of projects in the Samvera Github organization.

Samvera Core Components

Samvera Core Components are defined as the following:

The primary Samvera code repository contains the Samvera community’s current consensus on what we are using, maintaining, and recommending. Ideally, this repository only contains code modules that are being actively used and maintained.

Please reference A Guide for the Samvera Community for further information.

Currently, there are twenty Samvera Core Components maintained by the community:

Ruby Samvera Components

Component CircleCI Status Ruby 3.1 Support Ruby 3.0 Support Ruby 2.7 Support Ruby 2.6 Support Rails 7.0 Support Rails 6.1 Support Rails 6.0 Support Rails 5.2 Support
active_fedora Build Status 2.7.0 2.6.5 6.0.2 5.2.4
bixby Build Status 3.1.1 3.0.3 2.7.5 2.6.9 N/A N/A N/A N/A
browse-everything Build Status 2.7.5 2.6.9 6.0.4.7 5.2.4
hydra-derivatives Build Status 2.7.5 2.6.9 N/A N/A N/A N/A
hydra-editor Build Status 2.7.5 2.6.9 6.0.3.4 5.2.3
hydra-file_characterization Build Status 3.0.3 2.7.5 2.6.9 7.0.2.3 6.1.5 6.0.4.7 5.2.7
hydra-head Build Status 2.7.3 2.6.7 6.0.3.7 5.2.6
hydra-pcdm Build Status 2.7.5 2.6.9 6.0.2 5.2.4
hydra-role-management Build Status 2.7.5 2.6.9 6.0.2 5.2.4
hydra-works Build Status 2.7.5 2.6.9 6.0.3.1 5.2.4.3
iiif_manifest Build Status 3.0.3 2.7.5 2.6.9 N/A N/A N/A N/A
ldp Build Status 2.7.5 2.6.9 6.0.4.4 5.2.0
noid-rails Build Status 2.7.5 2.6.9 6.1.3.2 6.0.3.2 5.2.4.3
questioning_authority Build Status 2.7.5 2.6.9 6.1.1 6.0.2 5.2.4
rubydora Build Status 2.7.5 2.6.9 6.0.2 5.2.4
samvera.github.io Build Status 3.1.1 3.0.3 2.7.5 2.6.9 N/A N/A N/A N/A
samvera-circleci-orb Build Status N/A N/A N/A N/A N/A N/A N/A N/A
valkyrie Build Status 2.7.5 2.6.5 6.0.5 5.2.8

JavaScript Samvera Components

Component CircleCI Status Node.js 18.x Support Node.js 16.x Support Node.js 14.x Support
node-iiif Build Status N/A N/A N/A
serverless-iiif Build Status N/A N/A N/A

Maintenance Documentation

  • ORGS - Reference guide for the structure of GitHub Organizations (samvera, samvera-labs, and samvera-deprecated)
  • TEAMS - Reference guide for the structure of GitHub Teams within the samvera, samvera-labs, and samvera-deprecated Organizations
  • RELEASES - Reference guide for the releasing Ruby Gem components maintained by the Samvera Community

Samvera Component Templates

README.md - The elements in this template should be in every repository. Additional elements may be added.

SUPPORT.md - Copy this and replace {{library}} with the repository name. This is linked from the README and has information on how to create an issue, email the list, and connect to Slack.

CONTRIBUTING.md - Contribution guidelines for Samvera projects. Should be included. Minimal customization should be necessary.

CODE_OF_CONDUCT.md - Should be included verbatim in every Samvera repository. If this is updated, it needs to be distributed to all Samvera organization repositories.

LICENSE - Should be included in every Samvera repository. The copyright statements may change as appropriate. This template was taken from guidelines found on the wiki.

MAILMAP - A master template for git mailmap. This template is something to push to all samvera repositories. The goal in applying a common mailmap is to help understand contributions as people move and change roles/functions/laptops.

Ruby Scripts

There exist Ruby scripts in this repository that can be used to propagate some of these templates. These are located within ruby/scripts/:

Querying for Gem Metadata

This queries for and prints to the STDOUT Gem metadata for each Samvera repository:

$ bundle exec ruby ./ruby/script/bundled-gem-release-dates.rb

The output is formatted using the following structure:

# Read through the current directories list of bundled gems. Capture
# each gem's specification. Sort the specifications by version release
# date, and print one line per gem. Note, this takes some time to run.
#
# Example:
#
#   2020-06-11  1.40.0  rubocop-rspec
#   2020-06-11  1.329.0 aws-partitions
#   2020-06-12  3.99.2  aws-sdk-core
#   2020-06-12  1.0.1   ldp

Updating Gem Ownership Permissions

This ensures that a list maintained within this repository have the proper permissions for all Samvera repositories:

$ bundle exec ruby ./ruby/script/grant_revoke_gem_authority.rb

One may also explicitly request that all existing ownership permissions be revoked before adding permissions for each Gem:

$ WITH_REVOKE=true bundle exec ruby ./ruby/script/grant_revoke_gem_authority.rb

Contributing

If you're working on PR for this project, create a feature branch off of main.

This repository follows the Samvera Community Code of Conduct and language recommendations. Please do not create a branch called master for this repository or as part of your pull request; the branch will either need to be removed or renamed before it can be considered for inclusion in the code base and history of this repository.

About

Organizing repository for the Core Components Maintenance Interest Group.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages