1.0.0-beta.1 • Published 10 months ago

arcteryx-navigation v1.0.0-beta.1

Weekly downloads
-
License
-
Repository
-
Last release
10 months ago

Arc'teryx Navigation

Deployment Pipeline

This project uses Bitbucket Pipelines for continuous integration and deployment. Below is a detailed description of our deployment setup, including the tools and libraries we use.

Pipeline Overview

Our Bitbucket pipeline is designed to automate various tasks such as building, testing, and deploying our application. The pipeline is configured to run different steps based on the branch being pushed to.

Branches

  1. main: The main branch is used for stable releases. Changes merged into this branch trigger the build and publish process.
  2. beta: The beta branch is used for pre-release versions. This allows us to test new features in a production-like environment before merging them into the main branch.

Tools and Libraries

  • Semantic Release: Automates the versioning and package publishing process.
  • SonarCloud: Provides code quality and security analysis.
  • Storybook: A tool for developing UI components in isolation.
  • AWS CLI: Command Line Interface for managing AWS services.
  • Prettier: An opinionated code formatter.
  • ESLint: A tool for identifying and fixing linting errors in JavaScript.

Testing and Deployment

  • Dry Run: Use the --dry-run flag with Semantic Release to test the release process without publishing.
    npx semantic-release --dry-run --debug
  • Feature Branches: Develop new features in feature branches and merge them into the beta branch for pre-release testing.
  • Pull Requests: Use pull requests to merge changes from feature branches to the beta branch and then to the main branch after successful testing.

By following this setup, we ensure a smooth and reliable deployment process, maintaining high code quality and stability.

Commit Message Conventions and Automated Releases

This project follows the Conventional Commits specification to maintain a consistent commit history and automate the release process using Semantic Release.

Tools and Setup

To enforce commit message conventions and automate releases, we use the following tools:

  • Husky: Manages Git hooks to run scripts before commits.
  • Commitlint: Lints commit messages to ensure they follow the Conventional Commits specification.
  • Semantic Release: Automates the versioning and release process.