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

go-algorand 3.9.0-beta Release PR #4383

Merged
merged 79 commits into from
Aug 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
4403f1d
crypto: remove batch verification flag (#3781)
id-ms Jun 21, 2022
82e0d57
goal network catchup: automatically fetch catchpoint if not provided …
algoganesh Jun 22, 2022
688b3d7
Add a way to inject an external logger. (#4158)
winder Jun 22, 2022
9b04088
Make the -n flag (network name) optional. Get it from template file (…
jannotti Jun 22, 2022
7180539
Provide access to large programs in a txn, for read and write (#4148)
jannotti Jun 22, 2022
7bc8491
catchpointdump: fix downloading logic (#4171)
algorandskiy Jun 24, 2022
8e845fb
Allow --signer to send txns from rekeyed accounts (#4175)
jannotti Jun 27, 2022
ae17d8e
Don't allocate when invoking the Inc() fastpath (#4193)
jannotti Jun 28, 2022
8e967ee
Goal: Fix source map mappings key and use relative line values (#4198)
algochoi Jun 29, 2022
3b9cacd
CICD: remove unused genesis in stash (#4155)
algolucky Jun 29, 2022
b508cda
CICD: upgrade xcode on circleci macos executors (#4188)
algolucky Jun 29, 2022
792f2b6
Use bits package for Muldiv. 266x speedup (#4210)
jannotti Jul 1, 2022
77cb332
CICD: add mac arm64 to integration tests (#4167)
algolucky Jul 5, 2022
0e2b670
Github-Actions: add Not-Yet-Enabled and Skip-Release-Notes labels (#4…
algojack Jul 6, 2022
57aece5
testing: pingpong fixes and heap watch reporting (#4069)
brianolson Jul 6, 2022
eef3de1
Merge remote-tracking branch 'origin/rel/stable' into relstable3.8.0-…
Algo-devops-service Jul 6, 2022
41fbd18
Bump Version, Remove buildnumber.dat and genesistimestamp.dat files.
Algo-devops-service Jul 6, 2022
8a2ae16
Merge pull request #4228 from Algo-devops-service/relstable3.8.0-remerge
algojohnlee Jul 6, 2022
90b1c05
ledger: shorter deltas lookback implementation (320 rounds project) (…
algorandskiy Jul 6, 2022
b5500cc
Tools: Fixing updater to accept m1 (Darwin arm64) (#4099)
algojack Jul 7, 2022
8d9c8e4
Fixes to catchpoint e2e tests (#4236)
algorandskiy Jul 7, 2022
59e3116
Merge branch 'rel/stable' into relstable3.8.1-remerge
onetechnical Jul 10, 2022
769221f
skip prefetch tests that use resources
cce Jul 9, 2022
9e91460
Merge pull request #4251 from onetechnical/relstable3.8.1-remerge
algojohnlee Jul 10, 2022
1335f16
ledger: restore pointer receivers and args from #4003 (#4239)
cce Jul 11, 2022
294ec79
Document what the field _is_ rather than pointer to table (#4260)
jannotti Jul 13, 2022
d03a399
test: use `T.TempDir` to create temporary test directory (#4256)
Juneezee Jul 14, 2022
8367d1c
Algod: fix issues causing database is locked sqlite error (#4110)
Aharonee Jul 14, 2022
6dfa8ad
Fix TestParticipationDB_Locking (#4265)
algorandskiy Jul 15, 2022
1e7d2e8
Don't parallelize tests that use shared for loop var (#4253)
jannotti Jul 18, 2022
159af6e
Allow "empty" accounts to be Senders if someone else pays (#4151)
jannotti Jul 19, 2022
a7be175
Bug Fix: Adds ephemeral Flag and Better Error messages (#4245)
AlgoStephenAkiki Jul 19, 2022
5519656
Enhancement: Detect when valid partkeys represent an offline or close…
AlgoStephenAkiki Jul 19, 2022
8a598b5
AVM: Refactor Pseudo-ops (#4170)
iten-alg Jul 20, 2022
315037b
Fix struct initialization with promoted field (#4276)
michaeldiamant Jul 20, 2022
1484b56
AVM: Consolidate TEAL and AVM versioning (#4269)
michaeldiamant Jul 20, 2022
2a933eb
Test: Fail codegen_verification if dump_genesis.sh is bad (#4277)
jannotti Jul 21, 2022
4bac077
Move elliptic curve math up to v8 so it doesn't get released (#4282)
jannotti Jul 21, 2022
b8007e4
AVM: randomness support (#3900)
jannotti Jul 22, 2022
3f64398
testing: Support multiple e2e test archives. (#4284)
winder Jul 25, 2022
d65b179
Fix typo in ledger_test.go (#4297)
eltociear Jul 26, 2022
6889cf1
Tests: Attempt to make TestBasicCatchpointCatchup more deterministic…
michaeldiamant Jul 26, 2022
cdd4aa1
Test: Make e2e subs report individual results better (#4286)
jannotti Jul 26, 2022
92e4f85
CI: Add parameter to run Nightly Test (#4299)
algobarb Jul 26, 2022
805e99e
Ledger: remove txtail from data race test (#4315)
Jul 28, 2022
1806471
config: update vFuture consensus and configuration for 5MB blocks (#4…
cce Jul 28, 2022
cf69c19
Allow fido into a release with v7 on (#4314)
jannotti Jul 28, 2022
f44c162
CICD: create model mainnet (mmnet) recipe based on scenario2 (#4243)
algolucky Jul 28, 2022
3eff232
add AccountMnemonicList config option to loadgenerator (#4321)
cce Jul 29, 2022
09607f1
pass fixture by pointer instead of by value, since it contains a mute…
Aharonee Aug 1, 2022
f15b3a4
goal logging send fixes (#4281)
brianolson Aug 1, 2022
a337647
CI: Run go vet on the entire repo (#4312)
michaeldiamant Aug 1, 2022
43c829d
touch fields.go so everythign is rebuilt in codegen verification (#4330)
jannotti Aug 1, 2022
461a254
cluster scenarios for 2022-07 (#4331)
brianolson Aug 1, 2022
86da537
config: set MaxAcctLookback to 4 (#4296)
cce Aug 1, 2022
acb9cc9
ledger: add some more logging (#4332)
Aug 1, 2022
63bc717
tools: adapt loadgenerator to cluster testing (#4324)
brianolson Aug 2, 2022
82b7529
tests: simplify TestWebsocketNetworkMessageOfInterest (#4341)
brianolson Aug 2, 2022
1f7a49e
Fix crypto benchmarks from bitrot (#4340)
jannotti Aug 2, 2022
5f62166
tests: extended logging on expect test abort (#4343)
algorandskiy Aug 2, 2022
c72b26c
fix accountsMu usage (#4280)
brianolson Aug 3, 2022
7a56ea7
tests: close ledger in TestCatchupUnmatchedCertificate (#4348)
Aug 3, 2022
62ee2a7
cicd: update mmnet netgoal parameters (#4333)
algolucky Aug 4, 2022
a7ed845
Remove unused newAcctUpdates parameter: dbPathPrefix (#4353)
michaeldiamant Aug 4, 2022
f310801
tests: fix TestAccountsCanSendMoney (#4354)
Aug 4, 2022
38420a4
AVM: Spec updates for v7 (#4347)
jannotti Aug 4, 2022
c67fb24
Control the specs generated seperately from logic.LogicVersion (#4361)
jannotti Aug 5, 2022
d7ed271
Remove unused logicSigBatchVerify parameter: batchVerifier (#4360)
michaeldiamant Aug 5, 2022
49086e8
tests: fix TestAccountsCanSendMoney more (#4374)
Aug 9, 2022
2bc55c0
Algod: State Proofs (#4226)
id-ms Aug 9, 2022
566be49
AVM: Make `txn FirstValidTime` and `block` opcode available in logics…
jannotti Aug 9, 2022
9a03260
tests: fix TestAssetValidRounds (#4351)
algorandskiy Aug 9, 2022
60fb4f6
consensus: introduce v33, v34 (#4334)
algorandskiy Aug 9, 2022
3d5d903
un-shadow privateKeys var (#4380)
brianolson Aug 9, 2022
a83eac7
tests: localize failure place in TestAccountsCanSendMoney (#4379)
Aug 9, 2022
2d51070
make txBacklogSize responsive to block size (#4377)
brianolson Aug 9, 2022
42f449f
Algod: rename some API operations for clarity (#4376)
Aharonee Aug 9, 2022
ea33fe8
Merge branch 'master' into relbeta3.9.0
Algo-devops-service Aug 9, 2022
24b0cf9
Update the Version, BuildNumber, genesistimestamp.data
Algo-devops-service Aug 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
132 changes: 94 additions & 38 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@ parameters:
result_path:
type: string
default: "/tmp/build_test_results"
valid_nightly_branch:
type: string
default: /hotfix\/.*/

executors:
amd64_medium:
Expand All @@ -35,16 +38,27 @@ executors:
resource_class: arm.large
mac_amd64_medium:
macos:
xcode: 12.0.1
xcode: 13.4.1
resource_class: medium
environment:
HOMEBREW_NO_AUTO_UPDATE: "true"
mac_amd64_large:
macos:
xcode: 12.0.1
xcode: 13.4.1
resource_class: large
environment:
HOMEBREW_NO_AUTO_UPDATE: "true"
mac_arm64: &executor-mac-arm64
machine: true
resource_class: algorand/macstadium-m1
environment:
HOMEBREW_NO_AUTO_UPDATE: "true"
# these are required b/c jobs explicitly assign sizes to the executors
# for `mac_arm64` there is only one size
mac_arm64_medium:
<<: *executor-mac-arm64
mac_arm64_large:
<<: *executor-mac-arm64

workflows:
version: 2
Expand All @@ -57,30 +71,37 @@ workflows:
matrix: &matrix-default
parameters:
platform: ["amd64", "arm64", "mac_amd64"]
filters: &filters-default
branches:
ignore:
- /rel\/.*/
- << pipeline.parameters.valid_nightly_branch >>

- build_nightly:
name: << matrix.platform >>_build_nightly
matrix: &matrix-nightly
parameters:
platform: ["amd64", "arm64", "mac_amd64", "mac_arm64"]
filters: &filters-nightly
branches:
only:
- /rel\/.*/
- << pipeline.parameters.valid_nightly_branch >>
context: slack-secrets

- test:
name: << matrix.platform >>_test
matrix:
<<: *matrix-default
requires:
- << matrix.platform >>_build
filters: &filters-default
branches:
ignore:
- /rel\/.*/
- /hotfix\/.*/

- test_nightly:
name: << matrix.platform >>_test_nightly
matrix:
<<: *matrix-default
<<: *matrix-nightly
requires:
- << matrix.platform >>_build
filters: &filters-nightly
branches:
only:
- /rel\/.*/
- /hotfix\/.*/
- << matrix.platform >>_build_nightly
context: slack-secrets

- integration:
Expand All @@ -89,17 +110,13 @@ workflows:
<<: *matrix-default
requires:
- << matrix.platform >>_build
filters:
<<: *filters-default

- integration_nightly:
name: << matrix.platform >>_integration_nightly
matrix:
<<: *matrix-default
<<: *matrix-nightly
requires:
- << matrix.platform >>_build
filters:
<<: *filters-nightly
- << matrix.platform >>_build_nightly
context: slack-secrets

- e2e_expect:
Expand All @@ -108,17 +125,13 @@ workflows:
<<: *matrix-default
requires:
- << matrix.platform >>_build
filters:
<<: *filters-default

- e2e_expect_nightly:
name: << matrix.platform >>_e2e_expect_nightly
matrix:
<<: *matrix-default
<<: *matrix-nightly
requires:
- << matrix.platform >>_build
filters:
<<: *filters-nightly
- << matrix.platform >>_build_nightly
context: slack-secrets

- e2e_subs:
Expand All @@ -127,17 +140,13 @@ workflows:
<<: *matrix-default
requires:
- << matrix.platform >>_build
filters:
<<: *filters-default

- e2e_subs_nightly:
name: << matrix.platform >>_e2e_subs_nightly
matrix:
<<: *matrix-default
<<: *matrix-nightly
requires:
- << matrix.platform >>_build
filters:
<<: *filters-nightly
- << matrix.platform >>_build_nightly
context:
- slack-secrets
- aws-secrets
Expand All @@ -147,14 +156,24 @@ workflows:
matrix:
parameters:
platform: ["amd64", "arm64", "mac_amd64"]
job_type: ["test", "test_nightly", "integration", "integration_nightly", "e2e_expect", "e2e_expect_nightly"]
job_type: ["test", "integration", "e2e_expect"]
requires:
- << matrix.platform >>_<< matrix.job_type >>

- tests_verification_job_nightly:
name: << matrix.platform >>_<< matrix.job_type >>_verification
matrix:
parameters:
platform: ["amd64", "arm64", "mac_amd64", "mac_arm64"]
job_type: ["test_nightly", "integration_nightly", "e2e_expect_nightly"]
requires:
- << matrix.platform >>_<< matrix.job_type >>
context: slack-secrets

- upload_binaries:
name: << matrix.platform >>_upload_binaries
matrix:
<<: *matrix-default
<<: *matrix-nightly
requires:
- << matrix.platform >>_test_nightly_verification
- << matrix.platform >>_integration_nightly_verification
Expand All @@ -168,6 +187,7 @@ workflows:
context:
- slack-secrets
- aws-secrets

#- windows_x64_build

commands:
Expand All @@ -187,6 +207,7 @@ commands:
- run:
working_directory: /tmp
command: |
sudo rm -rf << parameters.build_dir >>
sudo mkdir -p << parameters.build_dir >>
sudo chown -R $USER:$GROUP << parameters.build_dir >>

Expand Down Expand Up @@ -378,6 +399,7 @@ commands:
no_output_timeout: << parameters.no_output_timeout >>
command: |
set -x
export CI_E2E_FILENAME="${CIRCLE_BRANCH/\//-}"
export PATH=$(echo "$PATH" | sed -e "s|:${HOME}/\.go_workspace/bin||g" | sed -e 's|:/usr/local/go/bin||g')
export KMD_NOUSB=True
export GOPATH="<< parameters.build_dir >>/go"
Expand Down Expand Up @@ -483,6 +505,21 @@ jobs:
- prepare_go
- generic_build

build_nightly:
parameters:
platform:
type: string
executor: << parameters.platform >>_medium
working_directory: << pipeline.parameters.build_dir >>/project
steps:
- prepare_build_dir
- checkout
- prepare_go
- generic_build
- slack/notify: &slack-fail-event
event: fail
template: basic_fail_1

test:
parameters:
platform:
Expand Down Expand Up @@ -514,9 +551,8 @@ jobs:
result_subdir: << parameters.platform >>_test_nightly
no_output_timeout: 45m
- upload_coverage
- slack/notify: &slack-fail-event
event: fail
template: basic_fail_1
- slack/notify:
<<: *slack-fail-event

integration:
parameters:
Expand Down Expand Up @@ -614,7 +650,10 @@ jobs:
working_directory: << pipeline.parameters.build_dir >>/project
environment:
E2E_TEST_FILTER: "SCRIPTS"
E2E_PLATFORM: << parameters.platform >>
CI_PLATFORM: << parameters.platform >>
# This platform is arbitrary, basically we just want to keep temps for
# one of the platforms in the matrix.
CI_KEEP_TEMP_PLATFORM: "amd64"
steps:
- prepare_build_dir
- prepare_go
Expand Down Expand Up @@ -659,6 +698,23 @@ jobs:
- tests_verification_command:
result_subdir: << parameters.platform >>_<< parameters.job_type >>

tests_verification_job_nightly:
docker:
- image: python:3.9.6-alpine
resource_class: small
working_directory: << pipeline.parameters.build_dir >>/project
parameters:
platform: # platform: ["amd64", "arm64", "mac_amd64"]
type: string
job_type: # job_type: ["test", "test_nightly", "integration", "integration_nightly", "e2e_expect", "e2e_expect_nightly"]
type: string
steps:
- checkout
- tests_verification_command:
result_subdir: << parameters.platform >>_<< parameters.job_type >>
- slack/notify:
<<: *slack-fail-event

upload_binaries:
working_directory: << pipeline.parameters.build_dir >>/project
parameters:
Expand Down
20 changes: 20 additions & 0 deletions .github/.release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
changelog:
exclude:
labels:
- Skip-Release-Notes
categories:
- title: Bugfixes
labels:
- Bug-Fix
- title: New Features
labels:
- New Feature
- title: Enhancements
labels:
- Enhancement
- title: Not Yet Enabled
labels:
- Not-Yet-Enabled
- title: Other
labels:
- "*"
31 changes: 9 additions & 22 deletions .github/workflows/pr-type-category.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,29 +9,16 @@ jobs:
runs-on: ubuntu-latest
name: Check PR Category and Type
steps:
- name: "Failed to find proper PR Type label. Please add one of the following: 'New Feature', 'Enhancement', or 'Bug-Fix'"
run: exit 1
if: |
!contains(github.event.pull_request.labels.*.name, 'New Feature') &&
!contains(github.event.pull_request.labels.*.name, 'Enhancement') &&
!contains(github.event.pull_request.labels.*.name, 'Bug-Fix')
- name: "Found more than one PR Type label. Please add only one of the following: 'New Feature', 'Enhancement', or 'Bug-Fix'"
run: exit 1
if: |
(
contains(github.event.pull_request.labels.*.name, 'New Feature') &&
contains(github.event.pull_request.labels.*.name, 'Enhancement')
) || (
contains(github.event.pull_request.labels.*.name, 'New Feature') &&
contains(github.event.pull_request.labels.*.name, 'Bug-Fix')
) || (
contains(github.event.pull_request.labels.*.name, 'Enhancement') &&
contains(github.event.pull_request.labels.*.name, 'Bug-Fix')
)
- name: "PR Category is missing from PR title. Please add it like '<category>: <pr title>'"
- name: Checking for correct number of required github pr labels
uses: mheap/github-action-required-labels@v2
with:
mode: exactly
count: 1
labels: "New Feature, Enhancement, Bug-Fix, Not-Yet-Enabled, Skip-Release-Notes"

- name: "Checking for PR Category in PR title. Should be like '<category>: <pr title>'."
run: |
if [[ ! "${{ github.event.pull_request.title }}" =~ ^.{2,}\:.{2,} ]]; then
echo "## PR Category is missing from PR title. Please add it like '<category>: <pr title>'." >> GITHUB_STEP_SUMMARY
exit 1
fi
- name: "Found at least one PR Type label and Category in the title. Good job!"
run: exit 0
5 changes: 4 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ GOLDFLAGS := $(GOLDFLAGS_BASE) \
UNIT_TEST_SOURCES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && go list ./... | grep -v /go-algorand/test/ ))
ALGOD_API_PACKAGES := $(sort $(shell GOPATH=$(GOPATH) && GO111MODULE=off && cd daemon/algod/api; go list ./... ))

MSGP_GENERATE := ./protocol ./protocol/test ./crypto ./crypto/merklearray ./crypto/merklesignature ./crypto/compactcert ./data/basics ./data/transactions ./data/committee ./data/bookkeeping ./data/hashable ./agreement ./rpcs ./node ./ledger ./ledger/ledgercore ./compactcert ./data/account ./daemon/algod/api/spec/v2
MSGP_GENERATE := ./protocol ./protocol/test ./crypto ./crypto/merklearray ./crypto/merklesignature ./crypto/stateproof ./data/basics ./data/transactions ./data/stateproofmsg ./data/committee ./data/bookkeeping ./data/hashable ./agreement ./rpcs ./node ./ledger ./ledger/ledgercore ./stateproof ./data/account ./daemon/algod/api/spec/v2

default: build

Expand Down Expand Up @@ -248,6 +248,9 @@ $(GOPATH1)/bin/%:
test: build
$(GOTESTCOMMAND) $(GOTAGS) -race $(UNIT_TEST_SOURCES) -timeout 1h -coverprofile=coverage.txt -covermode=atomic

benchcheck: build
$(GOTESTCOMMAND) $(GOTAGS) -race $(UNIT_TEST_SOURCES) -run ^NOTHING -bench Benchmark -benchtime 1x -timeout 1h

fulltest: build-race
$(GOTESTCOMMAND) $(GOTAGS) -race $(UNIT_TEST_SOURCES) -timeout 1h -coverprofile=coverage.txt -covermode=atomic

Expand Down
Loading