Skip to content

Latest commit

 

History

History
136 lines (120 loc) · 5.06 KB

CONTRIBUTING.md

File metadata and controls

136 lines (120 loc) · 5.06 KB

Contributing

Adminterface is currently under development. We have early adopters who already started using it. We welcome contributors to collaborate to shape the future of Adminterface.

The Open Source Guides website has a collection of resources for individuals, communities, and companies who want to learn how to run and contribute to an open source project. Contributors and people new to open source alike will find the following guides especially useful:

Code of Conduct

We've adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing to the code

Installation

  1. Clone the repo
  2. Install dependencies
$ bundle exec appraisal install
$ yarn install
$ cd test/dummy && yarn install
  1. Setup the database
$ rails db:setup
  1. Start up Rails and Webpacker server
$ rails s
$ cd test/dummy && ./bin/webpack-dev-server

Conventional Commit Messages

  • Format: <type>(<scope>): <subject>
  • <scope> is optional
<type>: <subject>
^----^  ^------------^
|       |
|       +-> Summary in present tense. Not capitalized. No period at the end.
|
+-------> Type: See types below.

The various types of commits:

Type Description
build Changes that affect the build system or external dependencies
ci Changes to our CI configuration files and scripts
docs Documentation only changes
feat A new feature
fix A bug fix
perf A code change that improves performance
refactor A code change that neither fixes a bug nor adds a feature
test Adding missing tests or correcting existing tests
chore Anything else without production code change

See more info at:

Pull request

:::tip Your first Pull Request? First, take a look at the How to Contribute to an Open Source Project on GitHub guide. :::

If you decided to contribute to our source, we appreciate your time and will do our best to work with you and get your PR reviewed.

  1. Fork it.
  2. Create a topic branch git checkout -b my_branch.
  3. Commit your changes git commit -am "Boom".
  4. Push to your branch git push origin my_branch.
  5. Ensure tests pass (rails test) and linter issues (standard and yarn lint) are resolved.
  6. Ensure relevant commits are grouped and follow the Conventional Commit Messages format.
  7. Send a pull request.

Release Candidates

Adminterface hosts release candidate builds on Github packages. If you wish to test a pre-publish build, please follow the steps below:

Installation

  1. Add the following to your application's Gemfile:
    source "https://rubygems.pkg.github.com/cmdbrew" do
      # Replace [VERSION] with the target RC version
      gem "adminterface", [VERSION]
    end
  2. Then execute:
    $ bundle install
  3. Add an .npmrc file and add the following line
    @cmdbrew:registry=https://npm.pkg.github.com
  4. Install ActiveAdmin (If you haven't)
    $ rails g active_admin:install --use_webpacker
  5. Install Adminterface
    $ rails g adminterface:install
  6. Migrate your database and start the server
    $ rails db:migrate
    $ rails server

Upgrading

  1. Replace $VERSION with the target RC version.
    source "https://rubygems.pkg.github.com/cmdbrew" do
      gem "adminterface", "$VERSION"
    end
  2. Run bundle install
  3. Replace $VERSION with the target RC version, and run:
    yarn upgrade @cmdbrew/adminterface@$VERSION

Releasing (maintainers only)

We use Github Actions to publish releases based on the git tags automatically. See .github/workflows/release.yml for more information.

  1. Update Gem version in lib/adminterface/version.rb
  2. Update NPM package version in package.json
  3. Update doc version in website/docusaurus.config.js
  4. Run yarn release to update license dependencies
  5. Create a tag using git and push it to the repo
    version="v0.x.x"
    git tag ${version}
    git push origin ${version}

License

By contributing to Adminterface, you agree that your contributions will be licensed under its License.