Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

*: release related improvements #96

Merged
merged 6 commits into from
Feb 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 46 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Build

on:
pull_request:
branches:
- master
types: [opened, synchronize]
paths-ignore:
- 'scripts/**'
- '**/*.md'
push:
# Build for the master branch.
branches:
- master
release:
# Publish released commit as Docker `latest` and `git_revision` images.
types:
- published
workflow_dispatch:
inputs:
ref:
description: 'Ref to build dBFT [default: latest master; examples: v0.1.0, 0a4ff9d3e4a9ab432fd5812eb18c98e03b5a7432]'
required: false
default: ''

jobs:
run:
name: Run simulation
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.event.inputs.ref }}
# Allows to fetch all history for all branches and tags. Need this for proper versioning.
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: '1.21'
cache: true

- name: Run simulation
run: |
cd ./simulation
go run main.go
14 changes: 12 additions & 2 deletions .github/workflows/go.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
name: Go
on: [push]
on:
push:
branches: [ master ]
pull_request:
branches:
- master
types: [opened, synchronize]
paths-ignore:
- '**/*.md'
workflow_dispatch:

jobs:
lint:
name: Lint
Expand All @@ -16,7 +26,7 @@ jobs:
version: latest

test:
name: test
name: Test
runs-on: ubuntu-latest
strategy:
matrix:
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Changelog

This document outlines major changes between releases.
roman-khimov marked this conversation as resolved.
Show resolved Hide resolved

## [Unreleased]
roman-khimov marked this conversation as resolved.
Show resolved Hide resolved

New features:

Behaviour changes:
* add generic Hash/Address parameters to `DBFT` service (#94)
* remove custom payloads implementation from default `DBFT` service configuration
(#94)
* rename `InitializeConsensus` dBFT method to `Reset` (#95)
* drop outdated dBFT `Service` interface (#95)

Improvements:
* add MIT License (#78, #79)
* documentation updates (#80, #86, #95)
* dependencies upgrades (#82, #85)
* minimum required Go version upgrade to Go 1.19 (#83)
* log messages adjustment (#88)
* untie `dbft` module from `github.com/nspcc-dev/neo-go` dependency (#94)

roman-khimov marked this conversation as resolved.
Show resolved Hide resolved
Bugs fixed:

## [0.1.0] (15 May 2023)

Stable dbft 2.0 implementation.

[Unreleased]: https://github.com/nspcc-dev/dbft/compare/v0.1.0...master
[0.1.0]: https://github.com/nspcc-dev/dbft/releases/v0.1.0
64 changes: 64 additions & 0 deletions docs/release-instruction.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Release instructions

This document outlines the dbft release process. It can be used as a todo
list for a new release.

## Check the state

These should run successfully:
* build
* unit-tests
* lint
* simulation with default settings

## Update CHANGELOG and ROADMAP

Add an entry to the CHANGELOG.md following the style established there. Add a
codename, version and release date in the heading. Write a paragraph
describing the most significant changes done in this release. In case if the dBFT
configuration was changed, some API was marked as deprecated, any experimental
changes were made in the user-facing code and the users' feedback is needed or
if there's any other information that requires user's response, write
another separate paragraph for those who uses dbft package. Then, add sections
with release content describing each change in detail and with a reference to
GitHub issues and/or PRs. Minor issues that doesn't affect the package end-user may
be grouped under a single label.
* "New features" section should include new abilities that were added to the
dBFT/API, are directly visible or available to the user and are large
enough to be treated as a feature. Do not include minor user-facing
improvements and changes that don't affect the user-facing functionality
even if they are new.
* "Behaviour changes" section should include any incompatible changes in default
settings or in API that are available to the user. Add a note about changes
user needs to make if he uses the affected code.
* "Improvements" section should include user-facing changes that are too
insignificant to be treated as a feature and are not directly visible to the
package end-user, such as performance optimizations, refactoring and internal
API changes.
* "Bugs fixed" section should include a set of bugs fixed since the previous
release with optional bug cause or consequences description.

Create a PR with CHANGELOG changes, review/merge it.

## Create a GitHub release and a tag

Use "Draft a new release" button in the "Releases" section. Create a new
`vX.Y.Z` tag for it following the semantic versioning standard. Put change log
for this release into the description. Do not attach any binaries.
Set the "Set as the latest release" checkbox if this is the latest stable
release or "Set as a pre-release" if this is an unstable pre-release.
Press the "Publish release" button.

## Close GitHub milestone

Close corresponding X.Y.Z GitHub milestone.

## Announcements

Copy the GitHub release page link to:
* Riot channel

## Dependant projects update

Create an issue or PR to fetch the updated package version in the dependant
repositories.
Loading