Skip to content

Commit

Permalink
Merge pull request #5824 from stacks-network/chore/update_docs_173923…
Browse files Browse the repository at this point in the history
…4650

Update release docs/dockerfile fixes
  • Loading branch information
jcnelson authored Feb 12, 2025
2 parents a0ab14b + 021c23d commit 3a616de
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 44 deletions.
6 changes: 2 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rust:alpine as build
FROM rust:bookworm AS build

ARG STACKS_NODE_VERSION="No Version Info"
ARG GIT_BRANCH='No Branch Info'
Expand All @@ -8,15 +8,13 @@ WORKDIR /src

COPY . .

RUN apk add --no-cache musl-dev

RUN mkdir /out

RUN cargo build --features monitoring_prom,slog_json --release

RUN cp target/release/stacks-node /out

FROM alpine
FROM debian:bookworm-slim

COPY --from=build /out/ /bin/

Expand Down
21 changes: 0 additions & 21 deletions Dockerfile.debian

This file was deleted.

2 changes: 1 addition & 1 deletion Dockerfile.memtest → contrib/tools/Dockerfile.memtest
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM rust:latest

WORKDIR /src/blockstack-core
WORKDIR /src/stacks-core

RUN apt-get update
RUN apt-get install valgrind heaptrack -y
Expand Down
6 changes: 1 addition & 5 deletions contrib/tools/block-replay.sh
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,6 @@ usage() {
echo " ${COLBOLD}${0}${COLRESET}"
echo " ${COLYELLOW}--testing${COLRESET}: only check a small number of blocks"
echo " ${COLYELLOW}-t|--terminal${COLRESET}: more terminal friendly output"
echo " ${COLYELLOW}-u|--upload${COLRESET}: upload results to s3"
echo " ${COLYELLOW}-n|--network${COLRESET}: run block replay against specific network (default: mainnet)"
echo " ${COLYELLOW}-b|--branch${COLRESET}: branch of stacks-core to build stacks-inspect from (default: develop)"
echo " ${COLYELLOW}-r|--reserved${COLRESET}: how many cpu cores to reserve for system tasks"
Expand All @@ -387,7 +386,7 @@ usage() {


## install missing dependencies
for cmd in curl tmux git wget tar gzip grep cargo pgrep aws; do
for cmd in curl tmux git wget tar gzip grep cargo pgrep; do
command -v "${cmd}" >/dev/null 2>&1 || {
case "${cmd}" in
"cargo")
Expand All @@ -396,9 +395,6 @@ for cmd in curl tmux git wget tar gzip grep cargo pgrep aws; do
"pgrep")
package="procps"
;;
"aws")
package="awscli"
;;
*)
package="${cmd}"
;;
Expand Down
24 changes: 15 additions & 9 deletions docs/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
Normal releases in this repository that add new features are released on a monthly schedule.
The currently staged changes for such releases are in the [develop branch](https://github.com/stacks-network/stacks-core/tree/develop).
It is generally safe to run a `stacks-node` from that branch, though it has received less rigorous testing than release tags or the [master branch](https://github.com/stacks-network/stacks-core/tree/master).
If bugs are found in the `develop` branch, please do [report them as issues](https://github.com/stacks-network/stacks-core/issues) on this repository.
If bugs are found in the `develop` branch, please do [report them as issues](https://github.com/stacks-network/stacks-core/issues) in this repository.

For fixes that impact the correct functioning or liveness of the network, _hotfixes_ may be issued.
These are patches to the main branch which are backported to the develop branch after merging.
These are patches to the default branch which are backported to the develop branch after merging.
These hotfixes are categorized by priority according to the following rubric:

- **High Priority**. Any fix for an issue that could deny service to the network as a whole, e.g., an issue where a particular kind of invalid transaction would cause nodes to stop processing requests or shut down unintentionally. Any fix for an issue that could cause honest miners to produce invalid blocks.
Expand Down Expand Up @@ -58,27 +58,33 @@ The timing of the next Stacking cycle can be found [here](https://stx.eco/dao/to

- A label should be applied to each such issue/PR as `X.Y.Z.A.n-blocker`.

3. Since development is continuing in the `develop` branch, it may be necessary to cherry-pick some commits into the release branch.
3. Perform a [block-replay](../contrib/tools/block-replay.sh) using an existing chainstate, or sync from genesis

4. Since development is continuing in the `develop` branch, it may be necessary to cherry-pick some commits into the release branch or open a PR against the release branch.

- Create a feature branch from `release/X.Y.Z.A.n`, ex: `feat/X.Y.Z.A.n-pr_number`.
- Add cherry-picked commits to the `feat/X.Y.Z.A.n-pr_number` branch
- Merge `feat/X.Y.Z.A.n-pr_number` into `release/X.Y.Z.A.n`.

4. Open a PR to update the [CHANGELOG](../CHANGELOG.md) in the `release/X.Y.Z.A.n` branch.
5. If necessary, open a PR to update the [CHANGELOG](../CHANGELOG.md) in the `release/X.Y.Z.A.n` branch.

- Create a chore branch from `release/X.Y.Z.A.n`, ex: `chore/X.Y.Z.A.n-changelog`.
- Update [versions.toml](../versions.toml) to match this release:
- Update the `stacks_node_version` string to match this release version.
- Update the `stacks_signer_version` string to match `stacks_node_version`, with an appending `0` for this release version.
- Add summaries of all Pull Requests to the `Added`, `Changed` and `Fixed` sections.
- Update the `stacks_node_version` string in [versions.toml](../versions.toml) to match this release.

- Pull requests merged into `develop` can be found [here](https://github.com/stacks-network/stacks-core/pulls?q=is%3Apr+is%3Aclosed+base%3Adevelop+sort%3Aupdated-desc).

**Note**: GitHub does not allow sorting by _merge time_, so, when sorting by some proxy criterion, some care should be used to understand which PR's were _merged_ after the last release.

5. Once `chore/X.Y.Z.A.n-changelog` has merged, a build may be started by manually triggering the [`CI` workflow](../.github/workflows/ci.yml) against the `release/X.Y.Z.A.n` branch.
- This PR must be merged before continuing to the next steps

6. A build may be started by manually triggering the [`CI` workflow](../.github/workflows/ci.yml) against the `release/X.Y.Z.A.n` branch.

6. Once the release candidate has been built and binaries are available, ecosystem participants shall be notified to test the tagged release on various staging infrastructure.
- **Note**: A `stacks-signer` release will also be produced when this workflow is run

7. The release candidate will test that it successfully syncs with the current chain from genesis both in testnet and mainnet.
7. Once the release candidate has been built and binaries are available, ecosystem participants shall be notified to test the tagged release on various staging infrastructure.

8. If bugs or issues emerge from the rollout on staging infrastructure, the release will be delayed until those regressions are resolved.

Expand All @@ -90,7 +96,7 @@ The timing of the next Stacking cycle can be found [here](https://stx.eco/dao/to

10. Finally, the following merges will happen to complete the release process:
- Release branch `release/X.Y.Z.A.n` will be merged into the `master` branch.
- Then, `master` will be merged into `develop`.
- Then, `release/X.Y.Z.A.n` will be merged into `develop`.

## Consensus Breaking Release Process

Expand Down
1 change: 0 additions & 1 deletion sample/conf/mainnet-miner-conf.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ rpc_bind = "127.0.0.1:20443"
p2p_bind = "127.0.0.1:20444"
prometheus_bind = "127.0.0.1:9153"
seed = "<YOUR_SEED>"
local_peer_seed = "<YOUR_SEED>"
miner = true
mine_microblocks = false # Disable microblocks (ref: https://github.com/stacks-network/stacks-core/pull/4561 )

Expand Down
14 changes: 14 additions & 0 deletions sample/conf/mocknet.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[node]
# working_dir = "/dir/to/save/chainstate" # defaults to: /tmp/stacks-node-[0-9]*
rpc_bind = "0.0.0.0:20443"
p2p_bind = "0.0.0.0:20444"
prometheus_bind = "0.0.0.0:9153"

[burnchain]
mode = "mocknet"

# Used for sending events to a local stacks-blockchain-api service
# [[events_observer]]
# endpoint = "localhost:3700"
# events_keys = ["*"]

6 changes: 3 additions & 3 deletions stacks-signer/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ The timing of the next Stacking cycle can be found [here](https://stx.eco/dao/to
- Add cherry-picked commits to the `feat/signer-X.Y.Z.A.n.x-pr_number` branch
- Merge `feat/signer-X.Y.Z.A.n.x-pr_number` into `release/signer-X.Y.Z.A.n.x`.

4. Open a PR to update the [CHANGELOG](./CHANGELOG.md) in the `release/signer-X.Y.Z.A.n.x` branch.
4. If necessary, open a PR to update the [CHANGELOG](./CHANGELOG.md) in the `release/signer-X.Y.Z.A.n.x` branch.

- Create a chore branch from `release/signer-X.Y.Z.A.n.x`, ex: `chore/signer-X.Y.Z.A.n.x-changelog`.
- Add summaries of all Pull Requests to the `Added`, `Changed` and `Fixed` sections.
Expand All @@ -86,5 +86,5 @@ The timing of the next Stacking cycle can be found [here](https://stx.eco/dao/to
Announcements will then be shared in the `#stacks-core-devs` channel in the Stacks Discord, as well as the [mailing list](https://groups.google.com/a/stacks.org/g/announce).

9. Finally, the following merges will happen to complete the release process:
- Release branch `release/signer-X.Y.Z.A.n.x` will be merged into the `master` branch.
- Then, `master` will be merged into `develop`.
- Release branch `release/X.Y.Z.A.n` will be merged into the `master` branch.
- Then, `release/X.Y.Z.A.n` will be merged into `develop`.

0 comments on commit 3a616de

Please sign in to comment.