Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

easy-release-automation

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

easy-release-automation

Easy-Release-Automation for Multi-Package-Versioning.

  • 0.1.0
  • PyPI
  • Socket score

Maintainers
2

ERA (Easy Release Automation)

Imagine reducing the time and complexity of managing multiple software releases to a single click. That's exactly what the ERA tool does - it streamlines the tagging of multiple interdependent repositories by integrating ERA into your CI pipeline or your local development environment.

This robust automation not only saves us over four hours per release but also simplifies our release process, crucial for software project with frequent monthly updates.

ERA is an open source Python tool crafted to enhance efficiency and convenience in handling multiple repository tags.

Table of Contents

Requirements

  • Windows Subsystem for Linux (WSL2)
  • Ubuntu Version 20.04 LTS or higher
  • Python Version 3.9 or higher

Quick Start Guide

Explore the ERA Getting Started For End Users. This hands-on tutorial will guide you through releasing ERA and then applying it to your own Git project, all within approximately one hour.

What is ERA?

  • ERA provides a easy-release-automation CLI entry point to release multiple repositories in your project.
  • ERA configures the release process for modification, validation and tagging according to a lightweight release-config.yml (see Release-Config Example).
  • During the release process:
    • ERA offers repository validation steps before a repository is tagged.
    • ERA offers repository modification steps before and after a repository is tagged.
    • ERA tags the repositories.
    • ERA pushes the updated and tagged branches to the remote repository.
  • ERA offers an existing set of versatile modification and validation plugins.
  • ERA offers customization by enabling you to create your own modification and validation plugins to meet specific requirements.

ERA automatically generates the following three commit messages for each repository during the release process:

    Main branch (Merge Commit from stable into main)
    │
    ├─ chore: :wastebasket: ERA: Preparation for merging back into main with the plugin(s): changelog_unreleased_setter

    Stable branch (Commit for Tag 0.1.0)
    │
    ├─ chore: :bookmark: ERA: Release-Commit for Version: 0.1.0

    Stable branch (Commit for modification based on defined plugins in release-config.yml)
    │
    ├─ chore: :white_check_mark: ERA: Modification with the plugin(s): changelog_version_updater, yaml_updater
    │  and Validation with the plugin(s): validate_changelog 

What is ERA not?

ERA is not responsible for the following tasks:

  1. Building and deploying a package from the source code.
  2. Integrating manual testing during the release process.
  3. Testing created packages on end-devices or in cloud environment.

ERA Release With Continuous Integration

ERA is a practical tool that can be integrated into a Continuous Integration (CI) environment, such as GitHub, GitLab, or Azure pipelines. The following diagram illustrates a possible flow for integrating ERA into a CI pipeline within the Release With ERA step to ensure smooth and consistent tagging:

graph LR
    DevTeam(Dev Team) --> CodeRepo[Code Repository]

    CodeRepo --> CI_CD_Pipeline[CI/CD Pipeline]
    CI_CD_Pipeline --> BuildTests[Linting & Building & Testing]
    BuildTests --> Release[Release With ERA]
    Release --> Deployment[Deployment]
    style Release fill:#00ACA9

Diagram 1: ERA CI for Release Automation

Getting Started

Additional Documentation

FAQ

What Should I Know Before Using ERA?

  • Basics of using Git
  • Basics of GitFlow

Does ERA Natively Run On Windows?

ERA is primarily developed and used on Linux developer machines (see scripts/setup-era.sh) or in CI environment with Linux agents.

ERA operates in the following environments:

  1. ERA is supported on Ubuntu 20.04 or higher and on WSL2.
  2. ERA was tested on Ubuntu 20.04 and on WSL2 on Windows machines.
  3. ERA is not tested on native Windows machines.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc