mirror of
https://github.com/alexgo-io/stacks-puppet-node.git
synced 2026-05-18 18:10:07 +08:00
* Updating Github Action - build all release images from binaries - create checksum of binary artifacts for release - adds clippy and crate advisory actions - update all dockerfiles to use ramdisk for building - separate actions to relevant files - adds arm64 binaries/docker image - update all debian builds to use bullseye (latest debian) * only run btc int tests on default branch * enable btc int test on develop * Feat/update ci (#38) * Updating Github Action - build all release images from binaries - create checksum of binary artifacts for release - adds clippy and crate advisory actions - update all dockerfiles to use ramdisk for building - separate actions to relevant files - adds arm64 binaries/docker image - update all debian builds to use bullseye (latest debian) * only run btc int tests on default branch * final action test disabled a lot of the long-running tests * Update ci.yml * Update ci.yml * Update bitcoin-tests.yml * Update bitcoin-tests.yml * run on push to master (merge) * Update Github Actions - build all release images from binaries - create checksum of binary artifacts for release - adds clippy and crate advisory actions - update all dockerfiles to use ramdisk for building - separate actions to relevant files - adds arm64 binaries/docker image - update all debian builds to use bullseye (latest debian) * adding build features to dockerfiles * update repo org to stacks-network missed a ref to wileyj forked repo * addressing comments in pr 3199 see https://github.com/stacks-network/stacks-blockchain/pull/3199 for changes requested * cleaning up docker tags prevent overwriting of docker image branch tags * disabling audit workflow disabling this workflow until we can test further * Adding a release file * Update to trigger logic Updating the logic of how/when builds and releases happen based on comments in PR. Updated the RELEASING.md file to reflect these changes * chore: delete circle.yml CircleCI hasn't been used in 11+ months. Fixes #3072 * switch repo&owner to var remove hardcoded value in favor or `GITHUB_REPOSITORY` * use local workflows * fix: don't assume that the bitcoin node always gives a non-zero number of headers * fix: add unit test and change log entry * fix: Exclude benchmarks from compilation * fix: Resolve conflicts and the remaining two errors * clean: remove benchmark files * fix: use explicit version number * minor update to reconcile diffs since some files were renamed, some minor changes had to be made manually here, i.e. fail_ci_if_error: false * hardcode some vals for testing * revert * use org/repo locations for jobs testing the locally built packages/docker images is successful, this reverts those changes need for testing the resulting artifacts * Moving file to docs dir * continue build if unit-tests fail use current settings from master branch * 3199 - minor updates for recent upstream changes --------- Co-authored-by: Diwaker Gupta <15990+diwakergupta@users.noreply.github.com> Co-authored-by: Jude Nelson <judecn@gmail.com> Co-authored-by: Stjepan Golemac <stjepan.golemac@gmail.com>
6.0 KiB
6.0 KiB
Releases
All releases are built via a Github Actions workflow named CI, and is responsible for building binary archives, checksums, and resulting docker images.
This workflow will also trigger any tests that need to be run, like integration tests.
- Releases are only created if a tag is manually provided when the ci workflow is triggered.
- Pushing a new feature branch: Nothing is triggered automatically. PR's are required, or the ci workflow can be triggered manually on a specific branch to build a docker image for the specified branch.
The following workflow steps are currently disabled:
- Clippy
- Net-test
- Crate audit
TL;DR
- A PR will produce a single image built from source on Debian with glibc with 2 tags:
stacks-blockchain:<branch-name>stacks-blockchain:<pr-number>
- A merged PR from
developto the default branch will produce a single image built from source on Debian with glibc:stacks-blockchain:<default-branch-name>
- An untagged build of any branch will produce a single image built from source on Debian with glibc:
stacks-blockchain:<branch-name>
- A tagged release on a non-default branch will produce 2 versions of the docker image (along with all binary archives):
- An Alpine image for several architectures tagged with:
stacks-blockchain:<x.x.x.x.x>
- An Debian image for several architectures tagged with:
stacks-blockchain:<x.x.x.x.x-debian>
- An Alpine image for several architectures tagged with:
- A tagged release on the default branch will produce 2 versions of the docker image (along with all binary archives):
- An Alpine image for several architectures tagged with:
stacks-blockchain:<x.x.x.x.x>stacks-blockchain:<latest>
- An Debian image for several architectures tagged with:
stacks-blockchain:<x.x.x.x.x-debian>stacks-blockchain:<latest-debian>
- An Alpine image for several architectures tagged with:
Release workflow:
- Create a feature branch:
feat/112-fix-something - PR
feat/112-fix-somethingto thedevelopbranch- CI Workflow is automatically triggered, resulting in a pushed docker image tagged with the branch name and PR number
- PR
developto the default branch- CI Workflow is automatically triggered, resulting in a pushed docker image tagged with the branch name and PR number
- Merge
developbranch to the default branch- CI Workflow is triggered, resulting in a pushed docker image tagged with the default branch name
- CI workflow is manually triggered on non-default branch with a version, i.e.
2.1.0.0.0-rc0- Github release for the manually input version is created with binaries
- Docker image pushed with tags of the input version and branch
- CI workflow is manually triggered on default branch with a version, i.e.
2.1.0.0.0- Github release for the manually input version is created with binaries
- Docker image pushed with tags of the input version and latest
PR a branch to develop:
ex: Branch is named feat/112-fix-something and the PR is numbered 112
- Steps executed:
- Rust Format
- Integration Tests
- Leaked credential test
- Docker image is built from source on a debian distribution and pushed with the branch name and PR number as tags
- ex:
stacks-blockchain:feat-112-fix-somethingstacks-blockchain:pr-112
- Steps not executed:
- No binaries are built
- No github release
- No docker images built from binary artifacts
Merging a branch to develop:
Nothing is triggered automatically
PR develop to master branches:
ex: Branch is named develop and the PR is numbered 113
- Steps executed:
- Rust format
- Integration tests
- Leaked credential test
- Docker image is built from source on a debian distribution and pushed with the branch name and PR number as tags
- ex:
stacks-blockchain:developstacks-blockchain:pr-113
- Steps not executed:
- No binaries are built
- No github release
- No docker images built from binary artifacts
Merging a PR from develop to master:
- Steps executed:
- Rust format
- Integration tests
- Leaked credential test
- Docker image is built from source on a debian distribution and pushed with the branch name as a tag
- ex:
stacks-blockchain:master
- Steps not executed:
- No binaries are built
- No github release
- No docker images built from binary artifacts
Manually triggering workflow without tag (any branch):
- Steps executed:
- Rust format
- Integration tests
- Leaked credential test
- Docker image is built from source on a debian distribution and pushed with the branch name as a tag
- ex:
stacks-blockchain:<branch name>
- Steps not executed:
- No binaries are built
- No github release
- No docker images built from binary artifacts
Manually triggering workflow with tag on a non-default branch (i.e. tag of 2.1.0.0.0-rc0):
- Steps executed:
- Rust format
- Integration tests
- Leaked credential test
- Binaries built for specified architectures
- Archive and checksum files added to github release
- Github release (with artifacts/checksum) is created using the manually input tag
- Docker image built from binaries on debian/alpine distributions and pushed with the provided input tag and
latest - ex:
stacks-blockchain:2.1.0.0.0-rc0
- Steps not executed:
- No docker images built from source
Manually triggering workflow with tag on default branch (i.e. tag of 2.1.0.0.0):
- Steps executed:
- Rust format
- Integration tests
- Leaked credential test
- Binaries built for specified architectures
- Archive and checksum files added to github release
- Github release (with artifacts/checksum) is created using the manually input tag
- Docker image built from binaries on debian/alpine distributions and pushed with the provided input tag and
latest - ex:
stacks-blockchain:2.1.0.0.0-debianstacks-blockchain:latest-debianstacks-blockchain:2.1.0.0.0stacks-blockchain:latest
- Steps not executed:
- No docker images built from source