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

Merge master into next #1

Open
wants to merge 202 commits into
base: next
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
55e0d2a
docs: fix pox-2.clar typos
edu-stx Jan 8, 2023
e9b8ba5
feat: support stacks 2.1 in mocknet controller
bestmike007 Jan 27, 2023
64f1567
chore: update mocknet config to disable public ip address discovery
bestmike007 Jan 27, 2023
0174151
chore: transition to epoch 2.05 before 2.1
bestmike007 Feb 8, 2023
91c8a4a
Merge branch 'develop' into feat/mocknet-next
bestmike007 Feb 10, 2023
e2af138
Merge branch 'develop' into patch-1
kantai Feb 14, 2023
3b3e920
docs: normalize bitwise operations names
hugocaillard Feb 14, 2023
66a542f
feat: set mainline testnet and mainnet block heights for 2.1
jcnelson Feb 15, 2023
6ac6ae6
fix: transfer_stx, not TransferStx
jcnelson Feb 15, 2023
ce04ee2
Merge branch 'edu-stx-patch-1' into feat/stacks-2.1-finishing-touches
jcnelson Feb 15, 2023
e962da5
Merge pull request #3572 from stacks-network/feat/stacks-2.1-finishin…
jcnelson Feb 15, 2023
ae050a2
Merge branch 'develop' into feat/mocknet-next
jcnelson Feb 15, 2023
1a86c34
Merge pull request #3537 from bestmike007/feat/mocknet-next
jcnelson Feb 15, 2023
e0a2071
Merge branch 'develop' into docs/clarity/bitwise-functions
obycode Feb 16, 2023
cbc8539
Merge pull request #3569 from hugocaillard/docs/clarity/bitwise-funct…
obycode Feb 16, 2023
2672e0c
chore: address 2.1 PR feedback
jcnelson Feb 16, 2023
c3975cd
chore: Stacks 2.1 changelog
jcnelson Feb 16, 2023
b6ad3bc
fix: clean up changelog
jcnelson Feb 16, 2023
6b920ba
Merge branch 'develop' into feat/stacks-2.1-changelog
jcnelson Feb 16, 2023
5923c48
Merge pull request #3575 from stacks-network/feat/stacks-2.1-changelog
jcnelson Feb 17, 2023
bc9f3e5
docs: fix principal -construct -destruct api reference
hugocaillard Feb 17, 2023
9eabcc5
docs: improve principal-construct output type
hugocaillard Feb 17, 2023
49c30f3
Merge pull request #3573 from hugocaillard/docs/principal-construct-d…
jcnelson Feb 17, 2023
f0ed1b9
Merge pull request #3567 from stacks-network/develop
jcnelson Feb 17, 2023
58a376f
chore: delete circle.yml
diwakergupta Feb 22, 2023
0910326
Merge pull request #3583 from stacks-network/chore/circleci
diwakergupta Feb 23, 2023
5a46817
fix: Exclude benchmarks from compilation
stjepangolemac Feb 24, 2023
9800e7e
fix: Resolve conflicts and the remaining two errors
stjepangolemac Feb 24, 2023
24d064f
clean: remove benchmark files
stjepangolemac Feb 27, 2023
bb43fc1
fix: don't assume that the bitcoin node always gives a non-zero numbe…
jcnelson Feb 27, 2023
7638dfc
Merge branch 'master' into fix/3588
jcnelson Feb 28, 2023
07e7a61
Merge pull request #3585 from stacks-network/3584-benchmarks-are-not-…
igorsyl Mar 1, 2023
5c57dbf
Merge branch 'master' into fix/3588
jcnelson Mar 1, 2023
ebce622
fix: add unit test and change log entry
jcnelson Mar 1, 2023
b4b6975
Merge branch 'fix/3588' of https://github.com/stacks-network/stacks-b…
jcnelson Mar 1, 2023
8043038
fix: use explicit version number
jcnelson Mar 1, 2023
a0c1f9e
Merge pull request #3589 from stacks-network/fix/3588
jcnelson Mar 1, 2023
58cc729
fix: always_use_affirmation_maps defaults to false
jcnelson Mar 4, 2023
9f7a650
fix: update changelog
jcnelson Mar 4, 2023
c1a2c2e
Merge pull request #3603 from stacks-network/fix/always-use-affirmati…
jcnelson Mar 7, 2023
2261900
Import wiki https://github.com/stacks-network/stacks-blockchain/wiki/…
igorsyl Mar 8, 2023
753aa1a
chore: update default seed nodes and example config files
CharlieC3 Mar 14, 2023
ffccbd7
fix(deps): only depend on one version of secp256k1
fpbgg Mar 14, 2023
91173a2
fix: don't panic if a bloom counter underflows
jcnelson Mar 14, 2023
1ebd2a0
Merge pull request #3611 from stacks-network/chore/update-seeds
kantai Mar 14, 2023
f6a48d0
fix: reduce chain-liveness poll frequency
kantai Mar 14, 2023
6ccadda
chore: update changelog
kantai Mar 14, 2023
bfa941e
Merge pull request #3610 from stacks-network/fix/chain-liveness-poll
kantai Mar 14, 2023
15c28b4
Merge branch 'master' into fix/3599
kantai Mar 14, 2023
d69012e
Merge pull request #3614 from stacks-network/fix/3599
kantai Mar 15, 2023
d51ed0c
Update README testnet command
jio-gl Mar 15, 2023
69778f0
Merge branch 'master' into feat/fix-deps
jcnelson Mar 17, 2023
58addb4
Added --bin and -- not working ow.
jio-gl Mar 17, 2023
ac35cde
fix: incorporate unlocks in mempool admitter, #3623
kantai Mar 20, 2023
2cd3dd0
test: add regression test for mempool unlock handling #3623
kantai Mar 20, 2023
aa5f167
chore: add changelog entry
kantai Mar 20, 2023
1bb056d
Merge branch 'master' into pr-reviews
jcnelson Mar 20, 2023
a3feafd
Merge pull request #3624 from stacks-network/fix/mempool-unlocks-3623
kantai Mar 20, 2023
dca3947
Merge branch 'master' into feat/fix-deps
jcnelson Mar 20, 2023
aa031d4
Merge branch 'master' into jo-tm-patch-1
jcnelson Mar 21, 2023
4852d64
Merge pull request #3613 from stacks-network/feat/fix-deps
jcnelson Mar 21, 2023
8cf2554
Merge branch 'master' into jo-tm-patch-1
jcnelson Mar 21, 2023
4b7880d
docs: update pr review docs with my comments
kantai Mar 21, 2023
2ae341f
Merge branch 'master' into pr-reviews
jcnelson Mar 22, 2023
18b3b86
docs: merge CONTRIBUTORS.md and DEVINFO.md into docs/CONTRIBUTING.md
kantai Mar 22, 2023
73f5552
docs: move docs/CONTRIBUTING.md to CONTRIBUTING.md
kantai Mar 22, 2023
2b5cda5
address PR review feedback
kantai Mar 28, 2023
6eb9d01
add resource bound example
kantai Mar 28, 2023
c7d2115
add more content from GH reviews
kantai Mar 28, 2023
87fd391
more PR feedback
kantai Mar 29, 2023
73af120
Merge pull request #3617 from stacks-network/jo-tm-patch-1
pavitthrap Mar 29, 2023
0b21740
Merge branch 'master' into pr-reviews
kantai Apr 3, 2023
3dbd820
Merge pull request #3604 from stacks-network/pr-reviews
kantai Apr 4, 2023
2015617
Add AI code policy
igorsyl Apr 6, 2023
d446737
Update CONTRIBUTING.md
igorsyl Apr 6, 2023
fa0eeae
Update CONTRIBUTING.md
igorsyl Apr 6, 2023
83a16d5
Merge pull request #3648 from stacks-network/igorsyl/ai-code
igorsyl Apr 6, 2023
ebf6cf2
fix: neon_node unprocessed_block behavior
kantai Apr 12, 2023
d4c73d1
add epoch-2.2 variant
kantai Apr 20, 2023
679ff44
epoch 2.2: unlock pox-2 lockups
kantai Apr 21, 2023
a741ee8
refresh epochs table in sortdb and add epochs definition
kantai Apr 20, 2023
5503a84
epoch 2.2: disable pox-2
kantai Apr 21, 2023
730028e
add e2e bitcoin test for epoch-2.2 disabling pox
kantai Apr 21, 2023
37cce8b
use EpochID check for disabling, add (missing) test file
kantai Apr 21, 2023
466d387
add transfer, lookup, mempool checks to pox_2_unlock_all
kantai Apr 21, 2023
78fc3f8
choose 2_431_300 as testnet 2.2 height
kantai Apr 24, 2023
4a3ef72
activate 2.2 on testnet
kantai Apr 24, 2023
1d09e2f
address refactoring review comments
kantai Apr 24, 2023
9c95b4f
fix testnet 2.1 end height
kantai Apr 24, 2023
f9e85d2
add pox_v2_unlock_height to "/new_block" event
kantai Apr 25, 2023
db00731
fix comments from PR review
kantai Apr 25, 2023
86dfaeb
set epoch-2.2 activation height according to sip-022
kantai Apr 25, 2023
cfeb584
upgrade debian dockerfiles from stretch (eol) to buster (current stable)
kantai Apr 25, 2023
e4976c8
disable macos builds until osxcross sources can be updated
kantai Apr 25, 2023
a27e10a
disable windows builds until cross-compilation sources can be updated
kantai Apr 25, 2023
51a019c
upgrade debian dockerfiles from stretch (eol) to buster (current stable)
kantai Apr 25, 2023
50fc803
ci: use stable (bullseye) for debian dockerfiles
kantai Apr 26, 2023
a376fec
update stale comment
kantai Apr 26, 2023
f5ba5ae
Merge branch 'fix/stretch-builds' into feat/sip-022-pox-disable
kantai Apr 26, 2023
d7827f7
add test, address PR comment feedback
kantai Apr 26, 2023
80a02c6
Merge pull request #3677 from stacks-network/feat/sip-022-pox-disable
kantai Apr 26, 2023
c522153
add epoch gate to claritydb::get_v2_unlock_height()
kantai Apr 27, 2023
6f57003
build: use optimizations in packages for dev builds
kantai Mar 23, 2023
dd71dde
chore: update CHANGELOG.
diwakergupta Apr 27, 2023
472649c
Update CHANGELOG.md
diwakergupta Apr 27, 2023
e6ffcdc
add integration test
kantai Apr 27, 2023
225549c
fix test
kantai Apr 27, 2023
7f8e4e5
Merge branch 'master' into next-master-merge
jferrant Apr 28, 2023
0abe7e8
introduce epoch 2.3
kantai Apr 26, 2023
71cf5f7
fix: preserve buggy canonicalize behavior in 2.2
obycode May 1, 2023
282f89f
test: add coverage for cross-epoch trait invocations for epochs 2.2 a…
kantai May 1, 2023
ba247b5
add more test rstest cases, update EpochId::latest()
kantai May 1, 2023
fd9fece
test: both invocation-1 and invocation-2
kantai May 1, 2023
c281835
bump block version
kantai May 1, 2023
7a14537
test: add epoch_23::trait_invocation_behavior
kantai May 1, 2023
c6e9d35
set 2.3 activation height to reflect SIP-023, set testnet activation …
kantai May 2, 2023
f1b7d1a
updated testnet height + expand vm::tests::traits
kantai May 2, 2023
9b8611e
chore: add copyright comment to epoch_23.rs
kantai May 2, 2023
13f0d28
correct comment text and loosen request time bound in atlas test
kantai May 2, 2023
0c23a83
update mainnet 2.3 activation height with latest from SIP
kantai May 2, 2023
6741e3c
Merge pull request #3693 from stacks-network/feat/2.3-traits-only-fix
kantai May 2, 2023
754146c
chore - update changelog for 2.3.0.0.0
wileyj May 2, 2023
6351470
Merge branch 'master' of github.com:stacks-network/stacks-blockchain …
jferrant May 5, 2023
4001fdb
Fix merge failures
jferrant May 5, 2023
2f36efa
fix: update peer versions to latest
kantai May 3, 2023
231491a
chore: update CHANGELOG.md
kantai May 3, 2023
adc87a6
chore: be permissive in 2.2/2.3 boundary on peer versions
kantai May 3, 2023
fbffd9e
imports
kantai May 3, 2023
6984348
fix: yield interpreter errors in deser_hex
kantai May 6, 2023
0ce213b
chore: updating changelog
wileyj May 8, 2023
baad222
fix: yield too large supertype from checks
kantai May 9, 2023
a3735ca
Merge master into next
jferrant May 17, 2023
0f4fae3
introduce epoch 2.4
kantai Apr 26, 2023
4e606b4
add STXBalance::LockedPoxThree variant
kantai Apr 26, 2023
8214cf3
address PR nits
kantai May 2, 2023
8c2ec78
add comments to epoch_22 test
kantai Apr 28, 2023
d0c3497
introduce epoch 2.4
kantai May 2, 2023
c473be7
expanded epoch validation checks
kantai May 4, 2023
960cbc0
wip - add pox 3 contract
pavitthrap Apr 28, 2023
c77bed7
added burnstateDB method to create getter for pox_3 contract activation
pavitthrap Apr 28, 2023
a3fd086
fix to test
pavitthrap Apr 28, 2023
57ad7ef
applying cargo fmt
pavitthrap Apr 28, 2023
539caa7
adjust first pox 3 cycle
pavitthrap May 1, 2023
2a68a0f
made changes needed for epoch 2.4
pavitthrap May 3, 2023
b87a5ac
fix test build errors, add receipt
kantai May 3, 2023
0b6c8c6
fixed test
pavitthrap May 3, 2023
7d55801
added special handlers
pavitthrap May 1, 2023
18805f7
used constant
pavitthrap May 2, 2023
3dbb886
respond to comments
pavitthrap May 3, 2023
e7a663b
removed burnchain height check
pavitthrap May 4, 2023
c37c345
fix: add `delegated-to` field to `stacking-state`
obycode Apr 28, 2023
205c380
fix: fix error in `increase-reward-cycle-entry`
obycode May 2, 2023
7c191d8
feat(pox-3): add more assertions
obycode May 3, 2023
8cd9273
refactor(pox-3): `first-extend-cycle`
obycode May 3, 2023
aeeec25
chore: add comment on `first-extend-cycle`
obycode May 3, 2023
c8a3fe0
use pox-3 for reward sets after activation height
kantai May 4, 2023
aa35ed7
initial testing
kantai May 4, 2023
0c03f85
working invariants in the simple test case
kantai May 4, 2023
8f6d96e
implement pox-3 auto-unlock, add pox-3 auto unlock test
kantai May 4, 2023
9672c33
fix pox-2 tests for the updated invariant checks
kantai May 4, 2023
cf53475
fix bug in pox-3-increase handler, add test for delegate-stack-increase
kantai May 5, 2023
1dbbc4e
test: add pox_3_tests::stack_increase
kantai May 5, 2023
e29e718
test: more porting of pox-2 tests to pox-3
kantai May 5, 2023
2dc1a55
feat: allow epoch2.2 through epoch2.4 to be configured in regtest mod…
zone117x May 3, 2023
4d98d56
fix: v2_unlock_height should be Epoch2.2 start_height+1
zone117x May 3, 2023
71d1ed2
chore: fix debug message for v2_unlock_height override
zone117x May 4, 2023
f4a712a
chore: fix typos
obycode May 5, 2023
eacbf98
test: add segwit, pox-address get-burn-info validation tests
kantai May 5, 2023
ab3e854
tests: finish porting pox_2_tests to pox_3
kantai May 5, 2023
f568ce2
update tests with new default regtest epochs
kantai May 5, 2023
fe85271
feat: add `pox-3` to contract list in `/v2/pox` RPC response
zone117x May 3, 2023
22baac4
chore: PR feedback (pox_3_first_cycle off-by-one)
zone117x May 4, 2023
7a8961d
Revert "chore: PR feedback (pox_3_first_cycle off-by-one)"
zone117x May 4, 2023
c5a1be2
chore: PR feedback (pox_3_first_cycle off-by-one)
zone117x May 4, 2023
cd66a94
added epoch2.4 test
pavitthrap May 4, 2023
1bdc6a4
fixed test, added to gh workflow
pavitthrap May 11, 2023
c58ba79
chore: update testnet 2.4 activation
obycode May 12, 2023
acc2279
feat: implement proposed SIP-024 sanitization logic for epoch-2.4
kantai May 12, 2023
eb8b2cb
fix pox_3 auto_unlock tests
kantai May 15, 2023
0a5af8b
more sanitization unit cases
kantai May 15, 2023
0201334
added more test coverage for epoch 2.4
pavitthrap May 15, 2023
4c12f9b
fix: allow change of delegation data
friedger May 15, 2023
defcaa3
chore: improve comments
friedger May 15, 2023
00e6c32
address PR feedback, enable sanitization in from-consensus-buff
kantai May 17, 2023
6866680
address PR feedback
kantai May 19, 2023
41da4a5
fix: affirmation calc should skip any ops whose parent is <= first_bl…
kantai May 19, 2023
bfa03c7
update mainnet 2.4 height with sip-024 value
kantai May 19, 2023
db22876
add comment to affirmation module explaining change
kantai May 19, 2023
c7b50e0
add epoch.truncate
pavitthrap May 22, 2023
ff25ba6
sanitize-gate the depth check
kantai May 22, 2023
cecc15c
Chore - adding 2.4.0.0.0 to changelog
wileyj May 22, 2023
a93c286
chore: add sip-024 text
wileyj May 22, 2023
9c8d26a
test: refactor rstest templates for reuse
kantai May 23, 2023
bfae083
chore: use explicit tmp path for testing marf. fixes fopen issues run…
kantai May 24, 2023
8a7a371
Update github action CI workflow (#3199)
wileyj Jun 6, 2023
1da60ad
hardcode the dockerhub org (#3741)
wileyj Jun 7, 2023
a04f364
update docs-pr dockerfile to use bullseye
wileyj Jun 7, 2023
7c10037
chore: eliminate unused imports, replace unused version tests with ep…
kantai Jun 12, 2023
85d9639
Merge branch 'master' into chore/rstest-improvements
kantai Jun 12, 2023
02dabb8
Merge pull request #3731 from stacks-network/chore/rstest-improvements
kantai Jun 13, 2023
a12916b
Merge branch 'master' of https://github.com/Trust-Machines/stacks-blo…
jferrant Jun 23, 2023
3b43af6
Clippy changes
jferrant Jun 23, 2023
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
2 changes: 1 addition & 1 deletion .github/actions/bitcoin-int-tests/Dockerfile.bitcoin-tests
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM stacks-node:integrations AS test
FROM stacks-blockchain:integrations AS test

ARG test_name
ENV BITCOIND_TEST 1
Expand Down
23 changes: 23 additions & 0 deletions .github/actions/dockerfiles/Dockerfile.alpine-binary
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM --platform=${TARGETPLATFORM} alpine as builder
# Use a small image to download and extract the release archive

ARG TAG
ARG BIN_ARCH
ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG TARGETARCH
ARG TARGETVARIANT
ARG REPO=stacks-network/stacks-blockchain

RUN case ${TARGETARCH} in \
"amd64") BIN_ARCH=linux-musl-x64 ;; \
"arm64") BIN_ARCH=linux-musl-arm64 ;; \
"*") exit 1 ;; \
esac \
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
&& unzip ${BIN_ARCH}.zip -d /out

FROM --platform=${TARGETPLATFORM} alpine
COPY --from=builder /out/stacks-node /bin/
CMD ["stacks-node", "mainnet"]
23 changes: 23 additions & 0 deletions .github/actions/dockerfiles/Dockerfile.debian-binary
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
FROM --platform=${TARGETPLATFORM} alpine as builder
# Use a small image to download and extract the release archive

ARG TAG
ARG BIN_ARCH
ARG TARGETPLATFORM
ARG BUILDPLATFORM
ARG TARGETARCH
ARG TARGETVARIANT
ARG REPO=stacks-network/stacks-blockchain

RUN case ${TARGETARCH} in \
"amd64") BIN_ARCH=linux-musl-x64 ;; \
"arm64") BIN_ARCH=linux-musl-arm64 ;; \
"*") exit 1 ;; \
esac \
&& echo "wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip" \
&& wget -q https://github.com/${REPO}/releases/download/${TAG}/${BIN_ARCH}.zip -O /${BIN_ARCH}.zip \
&& unzip ${BIN_ARCH}.zip -d /out

FROM --platform=${TARGETPLATFORM} debian:bullseye
COPY --from=builder /out/stacks-node /bin/
CMD ["stacks-node", "mainnet"]
24 changes: 24 additions & 0 deletions .github/actions/dockerfiles/Dockerfile.debian-source
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
FROM rust:bullseye as build

ARG STACKS_NODE_VERSION="No Version Info"
ARG GIT_BRANCH='No Branch Info'
ARG GIT_COMMIT='No Commit Info'
ARG BUILD_DIR=/build
ARG TARGET=x86_64-unknown-linux-gnu
WORKDIR /src

COPY . .

RUN apt-get update && apt-get install -y git

# Run all the build steps in ramdisk in an attempt to speed things up
RUN --mount=type=tmpfs,target=${BUILD_DIR} cp -R /src/. ${BUILD_DIR}/ \
&& cd ${BUILD_DIR} \
&& rustup target add ${TARGET} \
&& cargo build --features monitoring_prom,slog_json --release --workspace --target ${TARGET} \
&& mkdir -p /out \
&& cp -R ${BUILD_DIR}/target/${TARGET}/release/. /out

FROM --platform=${TARGETPLATFORM} debian:bullseye
COPY --from=build /out/stacks-node /bin/
CMD ["stacks-node", "mainnet"]
2 changes: 1 addition & 1 deletion .github/actions/docsgen/Dockerfile.docsgen
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM rust:stretch as build
FROM rust:bullseye as build

WORKDIR /src

Expand Down
35 changes: 35 additions & 0 deletions .github/workflows/audit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
##
## Performs an audit for crate advisories against cargo dependencies
##

name: Security Audit

# Only run when:
# - workflow is manually triggered
# - Cargo.toml/lock is changed
# - Daily at 0330 UTC
# Note: this will create issues for any crate advisories unless they already exist

on:
workflow_dispatch:
push:
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"
schedule:
- cron: 30 03 * * *

jobs:
security_audit:
if: ${{ false }}
name: Crate Vulnerability Check
runs-on: ubuntu-latest
steps:
- name: Checkout the latest code
id: git_checkout
uses: actions/checkout@v3
- name: Rust Dependency Check
id: rust_dep_check
uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
69 changes: 53 additions & 16 deletions .github/workflows/bitcoin-tests.yml
Original file line number Diff line number Diff line change
@@ -1,38 +1,53 @@
name: stacks-bitcoin-integration-tests
##
## Bitcoin Integration Tests
##

name: Bitcoin Integration Tests

# Only run when:
# - PRs are opened
# - the workflow is started from the UI
# - PRs are (re)opened against master branch

on:
pull_request:
workflow_dispatch:
types:
- opened
- reopened

concurrency:
group: stacks-bitcoin-integration-tests-${{ github.ref }}
# Only cancel in progress if this is for a PR
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
# Create bitcoin image used for later tests
build-integration-image:
name: Build Image
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Checkout the latest code
id: git_checkout
uses: actions/checkout@v3
- name: Build bitcoin integration testing image
id: build_docker_image
env:
DOCKER_BUILDKIT: 1
# Remove .dockerignore file so codecov has access to git info
# Remove .dockerignore file so codecov has access to git info and build the image
run: |
rm .dockerignore
docker build -f ./.github/actions/bitcoin-int-tests/Dockerfile.generic.bitcoin-tests -t stacks-node:integrations .
docker build -f ./.github/actions/bitcoin-int-tests/Dockerfile.generic.bitcoin-tests -t stacks-blockchain:integrations .
- name: Export docker image as tarball
run: docker save -o integration-image.tar stacks-node:integrations
id: export_docker_image
run: docker save -o integration-image.tar stacks-blockchain:integrations
- name: Upload built docker image
uses: actions/upload-artifact@v2
id: upload_docker_image
uses: actions/upload-artifact@v3
with:
name: integration-image.tar
path: integration-image.tar

# Run integration tests using sampled genesis block
sampled-genesis:
name: Sampled Genesis
runs-on: ubuntu-latest
needs:
- build-integration-image
Expand Down Expand Up @@ -101,28 +116,43 @@ jobs:
- tests::epoch_21::test_v1_unlock_height_with_current_stackers
- tests::epoch_21::test_v1_unlock_height_with_delay_and_current_stackers
- tests::epoch_21::trait_invocation_cross_epoch
- tests::epoch_22::pox_2_unlock_all
- tests::epoch_22::disable_pox
- tests::epoch_22::test_pox_reorg_one_flap
- tests::epoch_23::trait_invocation_behavior
- tests::neon_integrations::bad_microblock_pubkey
- tests::epoch_24::fix_to_pox_contract
- tests::epoch_24::verify_auto_unlock_behavior
steps:
- uses: actions/checkout@v2
- name: Checkout the latest code
id: git_checkout
uses: actions/checkout@v3
- name: Download docker image
uses: actions/download-artifact@v2
id: download_docker_image
uses: actions/download-artifact@v3
with:
name: integration-image.tar
- name: Load docker image
id: load_docker_image
run: docker load -i integration-image.tar && rm integration-image.tar
- name: All integration tests with sampled genesis
id: bitcoin_integration_tests
timeout-minutes: 30
env:
DOCKER_BUILDKIT: 1
TEST_NAME: ${{ matrix.test-name }}
run: docker build -o coverage-output --build-arg test_name=${{ matrix.test-name }} -f ./.github/actions/bitcoin-int-tests/Dockerfile.bitcoin-tests .
- uses: codecov/codecov-action@v2
- name: Code Coverage
id: code_coverage
uses: codecov/codecov-action@v3
with:
files: ./coverage-output/lcov.info
name: ${{ matrix.test-name }}
fail_ci_if_error: false

# Run atlas integration tests
atlas-test:
if: ${{ true }}
name: Atlas Test
runs-on: ubuntu-latest
needs:
- build-integration-image
Expand All @@ -133,20 +163,27 @@ jobs:
- tests::neon_integrations::atlas_integration_test
- tests::neon_integrations::atlas_stress_integration_test
steps:
- uses: actions/checkout@v2
- name: Checkout the latest code
id: git_checkout
uses: actions/checkout@v3
- name: Download docker image
uses: actions/download-artifact@v2
id: download_docker_image
uses: actions/download-artifact@v3
with:
name: integration-image.tar
- name: Load docker image
id: load_docker_image
run: docker load -i integration-image.tar && rm integration-image.tar
- name: Atlas integration tests
id: atlas_integration_tests
timeout-minutes: 40
env:
DOCKER_BUILDKIT: 1
TEST_NAME: ${{ matrix.test-name }}
run: docker build -o coverage-output --build-arg test_name=${{ matrix.test-name }} -f ./.github/actions/bitcoin-int-tests/Dockerfile.bitcoin-tests .
- uses: codecov/codecov-action@v2
- name: Code Coverage
id: code_coverage
uses: codecov/codecov-action@v3
with:
files: ./coverage-output/lcov.info
name: ${{ matrix.test-name }}
Expand Down
65 changes: 65 additions & 0 deletions .github/workflows/build-source-binary.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
##
## Builds binary assets of stacks-blockchain and creates a named tag github (draft) release
##

name: Build Distributable Assets

# Only run when:
# - manually triggered via the ci.yml workflow with a provided input tag

on:
workflow_call:
inputs:
tag:
description: "Tag name of this release (x.y.z)"
required: true
type: string
parallel_jobs:
description: "Number of parallel binary builds"
required: false
type: number
default: 4
arch:
description: "Stringified JSON object listing of platform matrix"
required: true
type: string

jobs:
artifact:
if: ${{ inputs.tag != '' }}
name: Create Artifacts
runs-on: ubuntu-latest
strategy:
max-parallel: ${{ inputs.parallel_jobs }}
matrix:
platform: ${{ fromJson(inputs.arch) }}
steps:
- name: Checkout the latest code
id: git_checkout
uses: actions/checkout@v3
- name: Set Vars
id: set_vars
run: |
echo "GITHUB_SHA_SHORT=${GITHUB_SHA::7}" >> $GITHUB_ENV
echo "GITHUB_REF_SHORT=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Set up Docker Buildx
id: setup_buildx
uses: docker/setup-buildx-action@v2
- name: Build Binaries
id: build_binaries
uses: docker/build-push-action@v3
with:
file: build-scripts/Dockerfile.${{ matrix.platform }}
outputs: type=local,dest=./release/${{ matrix.platform }}
build-args: |
OS_ARCH=${{ matrix.platform }}
GIT_BRANCH=${{ env.GITHUB_REF_SHORT }}
GIT_COMMIT=${{ env.GITHUB_SHA_SHORT }}
- name: Compress artifact
id: compress_artifact
run: zip --junk-paths ${{ matrix.platform }} ./release/${{ matrix.platform }}/*
- name: Upload artifact
id: upload_artifact
uses: actions/upload-artifact@v3
with:
path: ${{ matrix.platform }}.zip
Loading