Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
182 commits
Select commit Hold shift + click to select a range
fad5a25
refactor: migrate to typescript (#1625)
faustbrian Dec 13, 2018
452f96b
chore: add usage of cross-env-shell (#1691)
ciband Dec 13, 2018
9f320c4
fix(core-api): pagination schema (#1717)
spkjp Dec 14, 2018
0c23196
fix(core-p2p): malformed condition for filtering peers (#1689)
vasild Dec 14, 2018
8fc955a
perf(core-api): use a faster alternative to derive an estimate (#1655)
vasild Dec 14, 2018
d3815ac
chore(core-transaction-pool): update @types/better-sqlite3 to version…
faustbrian Dec 14, 2018
fb7e703
chore: update husky to version 1.2.1 (#1724)
faustbrian Dec 14, 2018
6284457
chore: update pg-promise to version 8.5.4 (#1725)
faustbrian Dec 14, 2018
5d7e891
chore(core-error-tracker-sentry): update @sentry/node to version 4.4.…
faustbrian Dec 14, 2018
904bfba
fix(core-p2p): get difference in milliseconds (#1726)
faustbrian Dec 14, 2018
03aef7f
chore: release plugins in locked mode with a shared version (#1721)
faustbrian Dec 14, 2018
c419ef7
fix(core-blockchain): add missing log statement for block verificatio…
faustbrian Dec 14, 2018
3487fed
feat(core-api): allow filtering of transactions for wallet resources …
faustbrian Dec 14, 2018
08558a3
refactor(core-p2p): adjust some ban durations (#1730)
faustbrian Dec 14, 2018
109a4d3
fix(core-p2p): revert #1689 as it randomly causes issues
faustbrian Dec 14, 2018
2bb00da
fix(core-database): delegate ordering (#1731)
dated Dec 14, 2018
9502585
fix(core-p2p): prevent the list of peers to become too short (#1713)
vasild Dec 15, 2018
9c545bc
fix(core-p2p): call updateNetworkStatusIfNotEnoughPeers in the correc…
faustbrian Dec 15, 2018
e42f4c7
refactor(core-p2p): replace the network update timeout with a period …
faustbrian Dec 15, 2018
3b43057
chore(package): update better-sqlite3 to version 5.2.0 (#1739)
faustbrian Dec 15, 2018
c551622
test(core-utils): increase coverage (#1742)
faustbrian Dec 16, 2018
55bf003
test(core-debugger-cli): increase coverage (#1743)
faustbrian Dec 16, 2018
5d9c769
chore: update @babel/core and @babel/preset-env (#1740)
faustbrian Dec 16, 2018
e9a7e4c
test(crypto): increase identity coverage (#1744)
faustbrian Dec 16, 2018
375770c
test(crypto): increase handler coverage (#1745)
faustbrian Dec 16, 2018
61e8bc1
test(crypto): increase handler coverage (#1746)
faustbrian Dec 16, 2018
4980c07
test(crypto): increase multi signature/payment coverage (#1747)
faustbrian Dec 16, 2018
e39e781
docs: changelog and readme formatting (#1824)
faustbrian Dec 16, 2018
db6590e
chore(package): update ajv to version 6.6.2 (#1827)
faustbrian Dec 17, 2018
35dbb99
fix(core-blockchain): discard blocks containing forged tx and stop pr…
spkjp Dec 17, 2018
9a76d4c
refactor: split config into network, milestones, exceptions and dynam…
faustbrian Dec 17, 2018
3674423
feat(core-p2p): milestone hash (#1837)
spkjp Dec 18, 2018
aff9c15
fix(core-p2p): check validity of version instead of throwing error (#…
spkjp Dec 18, 2018
8c9b323
fix(core-database): ensure that search deals with "undefined" as user…
j-a-m-l Dec 18, 2018
be16f1d
chore: update changelog (#1838)
faustbrian Dec 18, 2018
83ad5b5
docs: add a document to provide upgrade steps (#1839)
faustbrian Dec 18, 2018
7c6100d
chore: add dynamic fee config to default plugin.js files (#1840)
faustbrian Dec 18, 2018
7d4d126
fix(core-p2p): add the milestoneHash as a required header (#1841)
faustbrian Dec 18, 2018
f082137
fix(core-p2p): check both the peer and the headers for the milestone …
faustbrian Dec 18, 2018
967d014
fix(core-p2p): check milestoneHash on the peer instance (#1843)
faustbrian Dec 18, 2018
07380e9
fix(core-p2p): config getter (#1845)
spkjp Dec 18, 2018
bc2a79b
fix: get exceptions through the crypto config and handle them (#1844)
faustbrian Dec 18, 2018
cb444cf
fix(core-p2p): parse headers milestone hash (#1851)
spkjp Dec 19, 2018
24efce7
fix(core-api): remove reverse mapping from /transactions/types (#1850)
spkjp Dec 19, 2018
a1d4077
fix(core-p2p): wrong config object in /config (#1854)
spkjp Dec 19, 2018
d68943d
fix(core-http-utils): add try catch to whitelist ip match (#1849)
spkjp Dec 19, 2018
b172743
feat: allow searching wallets by several addresses at once (#1852)
j-a-m-l Dec 19, 2018
ef2d321
chore: Export core-logger types. Update core-winston-logger to use ty…
paroxysm Dec 19, 2018
bf990b8
chore: remove core-deployer (#1864)
faustbrian Dec 19, 2018
d147c7b
chore: setup dependency update command (#1865)
faustbrian Dec 19, 2018
d202f2c
chore: add missing type declarations (#1866)
faustbrian Dec 19, 2018
066d1a7
chore: ignore bootstrap files for coverage (#1870)
faustbrian Dec 19, 2018
9d06e55
fix(core-webhooks): push job when there are no conditions (#1869)
vmunich Dec 19, 2018
30ab06d
fix(crypto): add devnet milestone for invalid second signature field …
spkjp Dec 20, 2018
f545b3f
feat(core-api): allow searching by several addresses on `/api/transac…
j-a-m-l Dec 20, 2018
017e0bd
fix(core-api): cast core-p2p port to number (#1889)
dated Dec 20, 2018
8dffbb7
chore: export core-logger-winston types. (#1887)
paroxysm Dec 20, 2018
8c2e8e8
feat(core-database): enable delegate ordering by 'rank' (#1890)
dated Dec 20, 2018
9a19547
feat(core-database): enable delegate ordering by 'productivity' & 'ap…
dated Dec 21, 2018
22e04af
fix(core-transaction-pool): check against transaction network byte if…
spkjp Dec 21, 2018
26374df
refactor: export core-container types (#1891)
paroxysm Dec 21, 2018
7df0e8c
refactor: add minFeeBroadcast to getFeeStatistics query (#1873)
vulet Dec 21, 2018
3a96db4
feat(core-api): allow full disabling of caching (#1895)
faustbrian Dec 21, 2018
64e290c
chore: update changelog (#1897)
faustbrian Dec 21, 2018
6466030
refactor: export core-database typedefs (#1901)
paroxysm Dec 24, 2018
c5a235b
refactor: Export core-database typedefs (#1905)
paroxysm Dec 25, 2018
f8c4796
refactor: Export core-database typedefs (#1906)
paroxysm Dec 26, 2018
9900caa
refactor(core-p2p): remove transactionsFromIds endpoint (#1911)
alessiodf Dec 27, 2018
6967e5b
fix(core-database-postgres): populate last block of all delegates dur…
dated Dec 30, 2018
d7d74bc
refactor(crypto): export type definitions (#1917)
paroxysm Dec 30, 2018
d7bb3b6
refactor(core-p2p): simplify updatePeersOnMissingBlocks() (#1916)
vasild Dec 31, 2018
b26ab9c
refactor: extract jest matchers into its own package (#1926)
faustbrian Jan 3, 2019
18120a3
feat(core-api): return the transaction expiration time via node/confi…
faustbrian Jan 3, 2019
276b4e2
chore: simpler CircleCI config generation script (#1928)
faustbrian Jan 3, 2019
dfa3881
feat(core-interfaces): initial implementation (#1924)
paroxysm Jan 3, 2019
13bc930
refactor(core-api): implement a cache service to DRY the server metho…
faustbrian Jan 3, 2019
06ab743
refactor(core-transaction-pool): use distinct error codes for differe…
faustbrian Jan 3, 2019
86a4a2f
refactor(crypto): only allow vendor fields for type 0 & type 6 (#1931)
faustbrian Jan 3, 2019
c25967f
refactor(core-p2p): network state quorum calculation (#1898)
spkjp Jan 3, 2019
7d240d9
fix(core-transaction-pool): only return error when min fee is too lo…
spkjp Jan 3, 2019
02467f3
perf(crypto): native bip38 (#1941)
spkjp Jan 4, 2019
7597399
chore: remove slow jobs from CircleCI (#1942)
faustbrian Jan 4, 2019
12a6aa7
refactor: export core-blockchain types (#1943)
paroxysm Jan 4, 2019
e5d9abd
refactor(core-blockchain): reset wakeup timeout (#1946)
spkjp Jan 5, 2019
72b1a0b
refactor: export and use core-snapshots types (#1947)
paroxysm Jan 5, 2019
9d223c8
refactor: export core-api types (#1948)
paroxysm Jan 7, 2019
d0634da
feat: unit network for unit tests (#1952)
air1one Jan 8, 2019
69421d7
refactor(crypto): mark some validator methods as private (#1950)
tpscrpt Jan 8, 2019
80e35a9
fix(core-api): use correct schemas (#1954)
faustbrian Jan 8, 2019
a6e98f0
test: modify transactions after signing in the transaction guard (#1956)
air1one Jan 9, 2019
dfa2ac0
fix(core-api): return the database timestamp instead of deserialised…
faustbrian Jan 9, 2019
9b26df4
test(crypto): update handler tests to apply basic tests to all handle…
air1one Jan 9, 2019
7dcb256
fix(core-api): mark cold wallets as "not found" (#1955)
tpscrpt Jan 10, 2019
39b6aa8
refactor(core-blockchain): block processing (#1953)
spkjp Jan 10, 2019
a8aa729
fix(core-p2p): malformed condition for filtering peers (#1939)
vasild Jan 10, 2019
1c254aa
test: transaction replay tests for blockchain and transaction-pool (#…
air1one Jan 11, 2019
252a16a
test(core-jest-matchers): increase coverage (#1968)
tpscrpt Jan 14, 2019
de13e61
refactor: remove hacky use of 'global' in transaction builder tests (…
paroxysm Jan 14, 2019
b69c92f
test(core-blockchain): block-processor (#1973)
air1one Jan 14, 2019
7ff52c8
test(core-debugger-cli): increase coverage (#1975)
tpscrpt Jan 15, 2019
5aa2731
refactor(crypto): split de/serialization, more static typing, cleanup…
spkjp Jan 15, 2019
ce45f61
test(core-database-postgres): initial setup (#1979)
air1one Jan 15, 2019
1b42c18
perf(core-blockchain): optimize StateStorage.getCommonBlocks() (#1981)
vasild Jan 15, 2019
7808755
perf(core-p2p): optimize Peer.getPeers() (#1983)
vasild Jan 15, 2019
dcfa2c7
test(crypto): bignumber coverage (#1984)
tpscrpt Jan 16, 2019
5df5ba2
fix(core-blockchain): port slot check from master (#1985)
spkjp Jan 16, 2019
795c077
test(core-logger-winston): increase coverage (#1966)
tpscrpt Jan 16, 2019
a7e7cb6
chore: debrand core by renaming ARK to CORE (#1970)
faustbrian Jan 16, 2019
9f7e0f4
feat(core-container): use system paths for configuration and data (#1…
faustbrian Jan 16, 2019
491852e
fix(core): temporarily add data and config flags
faustbrian Jan 16, 2019
a1609a2
fix(core-container): always set path variables and overwrite custom o…
faustbrian Jan 16, 2019
52e7fe8
fix(core-database-postgres): off-by-one error in getBlocks() (#1982)
vasild Jan 16, 2019
5a703df
chore: ark => core in docker-compose files (#1991)
air1one Jan 16, 2019
8cb6716
test: fix coverage by registering current package plugin manually (#1…
air1one Jan 17, 2019
24d43fe
chore: add missing @types (#1990)
faustbrian Jan 17, 2019
c3ad02d
chore(core-transaction-pool): increase max transaction age to 6 hours…
spkjp Jan 17, 2019
de97a29
chore: bump @types/node-forge (#1998)
spkjp Jan 18, 2019
aa0718e
refactor(core-json-rpc): mark __ methods as private (#1997)
tpscrpt Jan 18, 2019
ea4f775
chore(core-database-postgres): use token in database name (#1992)
spkjp Jan 18, 2019
ec5cd33
test(crypto): increase model coverage (#2005)
air1one Jan 21, 2019
5dd3121
chore(crypto): add devnet blocks and transactions exceptions (#2002)
vasild Jan 21, 2019
00a9f86
refactor: update storage paths (#2007)
spkjp Jan 22, 2019
7d6125c
feat(core-api): return wallet vote on v2 endpoints (#2009)
alexbarnsley Jan 22, 2019
23b978c
test(crypto): transaction validators (#2008)
air1one Jan 22, 2019
cc1c249
refactor(core-logger-winston): add flag to disable extra spacing for …
faustbrian Jan 23, 2019
938d79b
refactor(core-logger-winston): do not log empty values and stringify …
faustbrian Jan 23, 2019
5980c33
chore: setup basic crypto benchmarks (#2014)
faustbrian Jan 23, 2019
0bad276
chore: update changelog
faustbrian Jan 23, 2019
5c687f4
chore: upgrade script for the 2.1 release (#1999)
faustbrian Jan 23, 2019
2a185a9
test(crypto): ser/deserialization on blocks and transaction (#2018)
air1one Jan 24, 2019
5db86e1
test(crypto): add missing tests to get coverage to 100% (#2019)
air1one Jan 25, 2019
9a264b4
chore: install script for core (#2016)
faustbrian Jan 27, 2019
ec643fe
fix: update the plugins.js file through the upgrade script (#2022)
faustbrian Jan 28, 2019
36f96dd
chore: delete pm2 processes before upgrading to avoid config issues
faustbrian Jan 28, 2019
c4d9879
chore: add default notice to upgrade script
faustbrian Jan 28, 2019
eea3a76
fix(crypto): add missing devnet block exceptions (#2023)
spkjp Jan 28, 2019
4b59073
refactor(crypto): remove validation rules and validator (#2021)
faustbrian Jan 28, 2019
77653d7
chore: add centOS support to install script and some fixes (#2024)
adrian69 Jan 28, 2019
75962f3
chore: fix exit in install script (#2025)
adrian69 Jan 29, 2019
9b54de8
test(core-transaction-pool): 100% coverage (#2030)
air1one Jan 29, 2019
50568a4
chore: better database detection in install script (#2031)
adrian69 Jan 29, 2019
13f2ecc
chore: replace all ARK occurrences with CORE during the upgrade
faustbrian Jan 29, 2019
6949148
fix(core-api): return fixed states for the v1 and v2 API peer lists (…
faustbrian Jan 29, 2019
fb0491a
fix(core-snapshots): use correct paths and add migration (#2033)
spkjp Jan 30, 2019
c922325
fix: add devnet tx exceptions (#2043)
spkjp Jan 31, 2019
b10a948
refactor: remove progress tracker and further reduce log noise (#2044)
faustbrian Jan 31, 2019
fd1bb45
fix(core-p2p): ip address validation (#2045)
spkjp Jan 31, 2019
1ec1ee9
fix(core-blockchain): invalid timestamp check (#2046)
spkjp Feb 1, 2019
4bc439a
fix(core-p2p): check if state is available (#2047)
spkjp Feb 1, 2019
d1e65c0
docs: update changelog with pull request links
faustbrian Feb 1, 2019
0652c09
chore: ignore a few things for coverage
faustbrian Feb 1, 2019
d77b15a
refactor(core-snapshots-cli): replace commander.js with @oclif (#2050)
faustbrian Feb 1, 2019
ef563b7
refactor(core-debugger-cli): replace commander.js with @oclif (#2049)
faustbrian Feb 1, 2019
b5bcfe9
feat(crypto): implement error classes (#2038)
faustbrian Feb 1, 2019
c2c99e6
refactor(core-tester-cli): replace commander.js with @oclif (#2051)
faustbrian Feb 2, 2019
27e4aa6
chore: store development docker files in docker/development (#2053)
faustbrian Feb 2, 2019
9828c96
refactor: move genesisBlock to network config and remove extraneous c…
faustbrian Feb 2, 2019
8a3a45b
chore: add bash fallback for ARK > CORE in upgrade script
faustbrian Feb 3, 2019
aac0e96
fix(crypto): disable multisig (#2057)
spkjp Feb 4, 2019
8e9049e
fix: syntax error in upgrade script
faustbrian Feb 4, 2019
76eda8f
fix: remove entries with double and single quotes during the upgrade
faustbrian Feb 4, 2019
5a3e765
misc: add github templates for docs, security and support (#2059)
faustbrian Feb 4, 2019
0dd9062
chore: few upgrade script fixes (#2060)
faustbrian Feb 4, 2019
ccf3647
fix(core-p2p): return an empty array if the peers cache parsing fails…
faustbrian Feb 4, 2019
0318bd8
fix(core-api): always sort transactions by sequence and the requested…
faustbrian Feb 5, 2019
bcbed22
docs: preliminary 2.1 changelog (#2062)
faustbrian Feb 5, 2019
e0f65b5
chore: docker production set (#2063)
adrian69 Feb 5, 2019
235300f
chore(docker): mount database and log paths as volumes (#2064)
adrian69 Feb 5, 2019
cf74814
chore: ignore a few things for coverage
faustbrian Feb 6, 2019
9a09fd4
test(core-blockchain): increase coverage (#2066)
air1one Feb 6, 2019
5fd79ed
chore(docker): rename development to unitnet (#2065)
faustbrian Feb 6, 2019
5254e07
chore(docker): update p2p port for mainnet production
faustbrian Feb 6, 2019
4e41294
refactor(core-database): separate business-logic from data-layer logi…
faustbrian Feb 7, 2019
6a896f5
chore: prepare install script for master (#2070)
faustbrian Feb 7, 2019
68534ec
fix(crypto): add multisignature related exceptions (#2071)
faustbrian Feb 7, 2019
a7439e0
chore: add upgrade scripts for future reference (#2074)
faustbrian Feb 7, 2019
5f1892e
chore(docker): changed forging secret and password handling (#2075)
adrian69 Feb 7, 2019
7e5382b
fix(core-api): give user requested field priority for sorting (#2073)
faustbrian Feb 7, 2019
f3ef473
fix(crypto): add multisignature related exceptions (#2076)
faustbrian Feb 8, 2019
0a09340
Merge branch 'master' into develop
Feb 10, 2019
716e129
docs: 2.1.0 changelog (#2072)
faustbrian Feb 11, 2019
8399caa
fix(core-transaction-pool): disallow multiple registrations for same …
faustbrian Feb 11, 2019
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
  •  
  •  
  •  
567 changes: 501 additions & 66 deletions .circleci/config.yml

Large diffs are not rendered by default.

255 changes: 171 additions & 84 deletions .circleci/configTemplate.json
Original file line number Diff line number Diff line change
@@ -1,90 +1,177 @@
{
"version": 2,
"jobs": {
"test-node10-0": {
"working_directory": "~/ark-core",
"docker": [
{
"image": "circleci/node:10-browsers"
"version": 2,
"jobs": {
"test-node10-0": {
"working_directory": "~/core",
"environment": {
"CORE_DB_DATABASE": "core_development",
"CORE_DB_USERNAME": "core"
},
"docker": [
{
"image": "circleci/node:10-browsers"
},
{
"image": "postgres:alpine",
"environment": {
"POSTGRES_PASSWORD": "password",
"POSTGRES_DB": "core_development",
"POSTGRES_USER": "core"
}
}
],
"steps": [
"checkout",
{
"run": {
"name": "Apt update",
"command": "sudo sh -c 'echo \"deb http://ftp.debian.org/debian stable main contrib non-free\" >> /etc/apt/sources.list' && sudo apt-get update"
}
},
{
"run": {
"name": "Install xsel & postgresql-client",
"command": "sudo apt-get install -q xsel postgresql-client"
}
},
{
"run": {
"name": "Generate cache key",
"command": "find ./packages/ -name package.json -print0 | sort -z | xargs -r0 echo ./package.json | xargs md5sum | md5sum - > checksum.txt"
}
},
{
"restore_cache": {
"key": "core-node10-{{ checksum \"checksum.txt\" }}-1"
}
},
{
"run": {
"name": "Install and build packages",
"command": "yarn setup"
}
},
{
"save_cache": {
"key": "core-node10-{{ checksum \"checksum.txt\" }}-1",
"paths": []
}
},
{
"run": {
"name": "Create .core/database directory",
"command": "mkdir -p $HOME/.core/database"
}
},
{
"run": {
"name": "Test",
"command": ""
}
},
{
"run": {
"name": "Last 1000 lines of test output",
"when": "on_fail",
"command": "tail -n 1000 test_output.txt"
}
},
{
"run": {
"name": "Codecov",
"command": "./node_modules/.bin/codecov"
}
}
]
},
{
"image": "postgres:alpine",
"environment": {
"POSTGRES_PASSWORD": "password",
"POSTGRES_DB": "ark_development",
"POSTGRES_USER": "ark"
}
"test-node11-0": {
"working_directory": "~/core",
"environment": {
"CORE_DB_DATABASE": "core_development",
"CORE_DB_USERNAME": "core"
},
"docker": [
{
"image": "circleci/node:11-browsers"
},
{
"image": "postgres:alpine",
"environment": {
"POSTGRES_PASSWORD": "password",
"POSTGRES_DB": "core_development",
"POSTGRES_USER": "core"
}
}
],
"steps": [
"checkout",
{
"run": {
"name": "Apt update",
"command": "sudo sh -c 'echo \"deb http://ftp.debian.org/debian stable main contrib non-free\" >> /etc/apt/sources.list' && sudo apt-get update"
}
},
{
"run": {
"name": "Install xsel & postgresql-client",
"command": "sudo apt-get install -q xsel postgresql-client"
}
},
{
"run": {
"name": "Generate cache key",
"command": "find ./packages/ -name package.json -print0 | sort -z | xargs -r0 echo ./package.json | xargs md5sum | md5sum - > checksum.txt"
}
},
{
"restore_cache": {
"key": "core-node11-{{ checksum \"checksum.txt\" }}-1"
}
},
{
"run": {
"name": "Install and build packages",
"command": "yarn setup"
}
},
{
"save_cache": {
"key": "core-node11-{{ checksum \"checksum.txt\" }}-1",
"paths": []
}
},
{
"run": {
"name": "Create .core/database directory",
"command": "mkdir -p $HOME/.core/database"
}
},
{
"run": {
"name": "Test",
"command": ""
}
},
{
"run": {
"name": "Last 1000 lines of test output",
"when": "on_fail",
"command": "tail -n 1000 test_output.txt"
}
},
{
"run": {
"name": "Codecov",
"command": "./node_modules/.bin/codecov"
}
}
]
}
],
"steps": [
"checkout",
{
"run": {
"name": "Apt update",
"command": "sudo sh -c 'echo \"deb http://ftp.debian.org/debian stable main contrib non-free\" >> /etc/apt/sources.list' && sudo apt-get update"
}
},
{
"run": {
"name": "Install xsel",
"command": "sudo apt-get install -q xsel"
}
},
{
"run": {
"name": "Generate cache key",
"command": "find ./packages/ -name package.json -print0 | sort -z | xargs -r0 echo ./package.json | xargs md5sum | md5sum - > checksum.txt"
}
},
{
"restore_cache": {
"key": "core-node10-{{ checksum \"checksum.txt\" }}-1"
}
},
{
"run": {
"name": "Install packages",
"command": "yarn"
}
},
{
"save_cache": {
"key": "core-node10-{{ checksum \"checksum.txt\" }}-1",
"paths": []
}
},
{
"run": {
"name": "Create .ark/database directory",
"command": "mkdir -p $HOME/.ark/database"
}
},
{
"run": {
"name": "Test",
"command": "./node_modules/.bin/cross-env ARK_ENV=test ./node_modules/.bin/jest {{TESTPATHS}} --detectOpenHandles --runInBand --forceExit --ci --coverage | tee test_output.txt\n"
}
},
{
"run": {
"name": "Last 1000 lines of test output",
"when": "on_fail",
"command": "tail -n 1000 test_output.txt"
}
},
{
"run": {
"name": "Codecov",
"command": "./node_modules/.bin/codecov"
}
},
"workflows": {
"version": 2,
"build_and_test": {
"jobs": []
}
]
}
},
"workflows": {
"version": 2,
"build_and_test": {
"jobs": []
}
}
}
Loading