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

repeat_full_node_311d0143 #16720

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
d293468
Fix `chia farm summary` aborting early if no local full node present …
xearl4 Sep 25, 2023
fb2a939
fix typo in PendingTxCache (#16417)
arvidn Sep 25, 2023
d298d6b
Update chiapos (#16419)
wallentx Sep 26, 2023
ee09892
rename `chia data add_missing_files` `-f`/`--foldername` to `-d`/`--d…
altendky Sep 26, 2023
07e2a0b
Wallet workaround for python issue 97641 and update anyio for issue 5…
wjblanke Sep 26, 2023
867b550
Fix issue with trade failures (#16415)
Quexington Sep 26, 2023
e48649c
Bump chia-blockchain-gui to ef10761cc0f60d275dbd0895c59729eed081aad1 …
paninaro Sep 26, 2023
58ad8b8
Fix CAT --> CR-CAT wallet conversion (#16423)
paninaro Sep 26, 2023
8b4b2ca
Update install-gui.sh to use check Node 18 and npm 9 (#16424)
paninaro Sep 26, 2023
04fa3b3
Fix glitch NFT wallet test (#16434)
ytx1991 Sep 27, 2023
4cdcce0
Merge commit 'd2934682ecc4a96c6b4641e8a68f48d5446787ea' into checkpoi…
altendky Sep 27, 2023
2ffd471
Fixing TAG_TYPE env for CI (#16442)
wallentx Sep 27, 2023
fc4f7f8
Bump chia-blockchain-gui to 2.1.0-rc4 (#16444)
paninaro Sep 28, 2023
8ebb31e
encapsulate `SyncStore._backtrack_syncing` dict (#16441)
altendky Sep 28, 2023
0730e2e
checkpoint: into main from release/2.1.0 @ d2934682ecc4a96c6b4641e8a…
wallentx Sep 28, 2023
1690e62
Merge commit 'fb2a939606f85c27d31c2ae1fad60789f158984d' into checkpoi…
AmineKhaldi Sep 28, 2023
9dea04d
Bump cryptography from 41.0.3 to 41.0.4 (#16390)
dependabot[bot] Sep 29, 2023
9f79769
checkpoint: into main from release/2.1.0 @ fb2a939606f85c27d31c2ae1f…
wallentx Sep 29, 2023
7862136
Merge commit 'd298d6b8c680df4f59a172e64cb6c929989770ca' into checkpoi…
altendky Sep 29, 2023
061ae61
Bump typing-extensions from 4.7.1 to 4.8.0 (#16437)
dependabot[bot] Sep 29, 2023
789df90
build(deps): bump bitstring from 4.0.2 to 4.1.2 (#16316)
dependabot[bot] Sep 29, 2023
3eb25ca
checkpoint: into main from release/2.1.0 @ d298d6b8c680df4f59a172e64…
wallentx Sep 29, 2023
275a19c
Merge commit 'ee09892f06e5ff697afde22ec667e6ecad52e888' into checkpoi…
altendky Sep 29, 2023
810df50
Dao wallet (#15559)
matt-o-how Sep 30, 2023
ce9713d
checkpoint: into main from release/2.1.0 @ ee09892f06e5ff697afde22ec…
wallentx Oct 1, 2023
a1b17be
full_sync flake test. (#16452)
fchirica Oct 1, 2023
7a81606
Add new RPC to get block spends with conditions (#16435)
freddiecoleman Oct 1, 2023
b049167
Merge commit '07e2a0b8bb75d72a4db689289109c69eb8e81234' into checkpoi…
altendky Oct 1, 2023
51d3bf0
Revert "Dao wallet" (#16465)
altendky Oct 1, 2023
abbf29b
checkpoint: into main from release/2.1.0 @ 07e2a0b8bb75d72a4db689289…
wallentx Oct 1, 2023
c19f766
Merge commit '867b55097e53de52f052aab9fcb1f4ec9c7422de' into checkpoi…
altendky Oct 1, 2023
5a77a0d
checkpoint: into main from release/2.1.0 @ 867b55097e53de52f052aab9f…
cmmarslender Oct 2, 2023
7effa29
remove test classes from `test/core/full_node/stores/` (#16453)
altendky Oct 2, 2023
5bbe8b1
Merge commit 'e48649c91a840018da69ba065f2f0b895507df5e' into checkpoi…
AmineKhaldi Oct 2, 2023
5990f10
Remove unused tmp_dir fixture from HintStore DB schema version test (…
AmineKhaldi Oct 2, 2023
7889f51
hint `chia.util.block_cache` and remove from exclusions (#16476)
altendky Oct 2, 2023
02033d1
checkpoint: into main from release/2.1.0 @ e48649c91a840018da69ba065…
cmmarslender Oct 2, 2023
d7ab76f
Merge commit '58ad8b8f0923b7cce09c5d04d9a543ac8af8ed2a' into checkpoi…
AmineKhaldi Oct 2, 2023
f3c1d15
Bump chia-blockchain-gui to 2.1.0-rc5 (#16486)
paninaro Oct 2, 2023
8ecb500
correct backtick usage in coverage comment (#16381)
altendky Oct 2, 2023
00c60cb
checkpoint: into main from release/2.1.0 @ 58ad8b8f0923b7cce09c5d04d…
cmmarslender Oct 2, 2023
6628a81
Merge commit '8b4b2ca86916d66ae6cc4a6fa9046b44b81172fa' into checkpoi…
AmineKhaldi Oct 2, 2023
67cd94c
checkpoint: into main from release/2.1.0 @ 8b4b2ca86916d66ae6cc4a6fa…
cmmarslender Oct 2, 2023
1285b29
Merge commit '04fa3b3780e34b735cadc66e8a2f2782579c189c' into checkpoi…
AmineKhaldi Oct 2, 2023
9ed789e
checkpoint: into main from release/2.1.0 @ 04fa3b3780e34b735cadc66e8…
cmmarslender Oct 3, 2023
5e7054b
Merge commit '2ffd471f99b3a57ea0cb4fc9996e9aedbcbb2110' into checkpoi…
AmineKhaldi Oct 3, 2023
6e9e744
checkpoint: into main from release/2.1.0 @ 2ffd471f99b3a57ea0cb4fc99…
cmmarslender Oct 3, 2023
0ca779a
Merge commit 'fc4f7f8f0696b691ee25e460dee883ce1fbb369d' into checkpoi…
AmineKhaldi Oct 3, 2023
df56098
checkpoint: into main from release/2.1.0 @ fc4f7f8f0696b691ee25e460d…
cmmarslender Oct 3, 2023
63db08b
Merge commit 'f3c1d152602313a0651238ee506988ccea2821a4' into checkpoi…
AmineKhaldi Oct 3, 2023
5fcd119
checkpoint: into main from release/2.1.0 @ f3c1d152602313a0651238ee5…
cmmarslender Oct 3, 2023
f1059bc
`@dataclass` `FullNode` to avoid risks of instances without attribute…
altendky Oct 3, 2023
13b7410
`@dataclass` `RpcClient` (#16385)
altendky Oct 3, 2023
4e81bfe
remove test classes from `test/clvm/` and switch to pytest (#16488)
altendky Oct 3, 2023
0606c23
hint `chia.pools` and remove from exclusions (#16493)
altendky Oct 3, 2023
88e2761
merge `listen` into `advertised_port` as `None` (#15024)
altendky Oct 4, 2023
debeb1b
Update chiapos to 2.0.3 (#16520)
emlowe Oct 4, 2023
a2ad0fe
Merge commit 'debeb1b5500f9aaed6d13c37ef6ce5e0c297dada' into checkpoi…
AmineKhaldi Oct 4, 2023
991afb5
checkpoint: into main from release/2.1.0 @ debeb1b5500f9aaed6d13c37e…
cmmarslender Oct 4, 2023
4b96f16
fix flaky test_bad_timestamp. (#16495)
fchirica Oct 4, 2023
5ea1432
Refactor daemon simulation test (#16081)
emlowe Oct 4, 2023
f65d5a5
remove test classes from `test/core/` (#16519)
altendky Oct 4, 2023
1654de1
fix mutable defaults in `Service.__init__()` (#16472)
altendky Oct 4, 2023
2f41a8c
Updated default bladebit version to v3.1.0 (#16531)
ChiaMineJP Oct 5, 2023
d6fd69d
Merge commit '2f41a8cfaa82a61702d92fefa3e5c0d9d6a5ae8f' into checkpoi…
altendky Oct 5, 2023
b03dfc6
checkpoint: into main from release/2.1.0 @ 2f41a8cfaa82a61702d92fefa…
cmmarslender Oct 5, 2023
f2cc5db
Update CHANGELOG.md (#16512)
emlowe Oct 5, 2023
7966aaa
Merge commit 'f2cc5dbd94e5a13cc0b76ca05aec801d7d18d8a5' into checkpoi…
altendky Oct 5, 2023
0f3c786
checkpoint: into main from release/2.1.0 @ f2cc5dbd94e5a13cc0b76ca05…
cmmarslender Oct 5, 2023
1249938
DID wallet coin_added (#16256)
ytx1991 Oct 5, 2023
0d13189
Enhancements to WalletTestFramework (#16291)
Quexington Oct 5, 2023
ad267b1
Fix DID resync (#15675)
ytx1991 Oct 5, 2023
0a53976
skip coverage commenting and labels on `main` (#16539)
altendky Oct 6, 2023
4ba74c9
Use network overrides for default port for WalletPeers (#16525)
emlowe Oct 6, 2023
277d7b4
build(deps): bump aws-actions/configure-aws-credentials from 2 to 4 (…
dependabot[bot] Oct 10, 2023
aeeced6
build(deps): bump actions/checkout from 3 to 4 (#16258)
dependabot[bot] Oct 10, 2023
d2abc99
Sync store's clear_sync_info doesn't need to be async (#16528)
AmineKhaldi Oct 10, 2023
1b66df3
Bump chia-blockchain-gui to 2.1.1-rc1 (#16546)
paninaro Oct 10, 2023
0ada945
fix recovery of invalid sub epoch summaries cache (#16333)
arvidn Oct 10, 2023
fe8ae58
Get block spends (#16451)
arvidn Oct 10, 2023
63c1ed6
build(deps): bump clvm from 0.9.7 to 0.9.8 (#16193)
dependabot[bot] Oct 10, 2023
1afcbb9
Merge commit '1b66df3a77fb7c5b331a57e7397cc57dbd94858c' into checkpoi…
AmineKhaldi Oct 10, 2023
c5dfbf4
build(deps-dev): bump types-aiofiles from 23.1.0.5 to 23.2.0.0 (#16514)
dependabot[bot] Oct 10, 2023
f187b51
build(deps-dev): bump pre-commit from 3.3.3 to 3.4.0 (#16515)
dependabot[bot] Oct 10, 2023
ddfdc7a
unpin astroid (#16560)
altendky Oct 10, 2023
3d728c2
cleanup unused peer config (#14922)
altendky Oct 10, 2023
a153d34
Improve clarity of legacy support policy language (#15784)
TheLastCicada Oct 10, 2023
33edfa8
test_services.py flaky test. (#16518)
fchirica Oct 10, 2023
d82876d
hint `chia.util` and remove from exclusions (#16521)
altendky Oct 10, 2023
21f0ee0
enable reorg tests in TestFullNodeBlockCompression (#16562)
arvidn Oct 10, 2023
fa6ce4a
increase timeouts and use some helpers to reduce flakes in nft tests …
emlowe Oct 10, 2023
cda2b09
Add config option to set rpc timeout and use it for simulator tests (…
emlowe Oct 10, 2023
10a5f75
Changelog for 2.1.1 (#16581)
emlowe Oct 10, 2023
8484ffb
checkpoint: into main from release/2.1.1 @ 1b66df3a77fb7c5b331a57e73…
cmmarslender Oct 10, 2023
ac1dfa1
Merge commit '10a5f7559ee9b0f4c9e2f78f087dad51cb6168e9' into checkpoi…
AmineKhaldi Oct 11, 2023
d8efdc5
Merge commit '10a5f7559ee9b0f4c9e2f78f087dad51cb6168e9' into checkpoi…
AmineKhaldi Oct 11, 2023
290698d
checkpoint: into release/2.1.2 from release/2.1.1 @ 10a5f7559ee9b0f4…
cmmarslender Oct 11, 2023
6630a2b
checkpoint: into main from release/2.1.1 @ 10a5f7559ee9b0f4c9e2f78f0…
cmmarslender Oct 11, 2023
07d713e
Merge commit '0ada9453ae3c2ce589039aaf6633cdfd13e01959' into checkpoi…
AmineKhaldi Oct 11, 2023
c5923cd
checkpoint: into main from release/2.1.2 @ 0ada9453ae3c2ce589039aaf6…
cmmarslender Oct 11, 2023
d980714
Merge commit 'fe8ae5865099aca446fb446057b8e6c320402839' into checkpoi…
AmineKhaldi Oct 11, 2023
6966fe0
separate installer build and publish to separate jobs (#16552)
altendky Oct 11, 2023
52fff14
drop `max-parallel` (#16591)
altendky Oct 11, 2023
6c58c5a
Better timestamps on simulated chains (#16326) (#16586)
arvidn Oct 11, 2023
75af6a9
Dao wallet (#16500)
geoffwalmsley Oct 11, 2023
1195281
drop ipython dev dependency (#16583)
altendky Oct 11, 2023
1fbf6b0
allow macOS installer publish job to use GitHub Python (#16595)
altendky Oct 11, 2023
5d0c9c3
allow macOS installer build job to use GitHub Python (#16596)
altendky Oct 11, 2023
2305b05
run benchmarks in 22.04 container (#16599)
cmmarslender Oct 12, 2023
f5ac6f2
remove unused test utility function (#16601)
arvidn Oct 12, 2023
f47cd46
fixup macos keychain deletion (#16605)
altendky Oct 12, 2023
dc0f7f6
Shutdown on startup failure and log to the log if possible (#16593)
altendky Oct 12, 2023
f455667
Update to the upstream actions (#16614)
cmmarslender Oct 12, 2023
d387716
remove synchronized block height based clearing of `SyncStore.peak_to…
altendky Oct 13, 2023
0e26867
checkpoint: into main from release/2.1.2 @ fe8ae5865099aca446fb44605…
cmmarslender Oct 13, 2023
7dbcc12
Merge commit '21f0ee077f356aab7736f2fca49323224916a2c8' into checkpoi…
AmineKhaldi Oct 13, 2023
de536a1
checkpoint: into main from release/2.1.2 @ 21f0ee077f356aab7736f2fca…
cmmarslender Oct 13, 2023
04804cb
Merge commit '290698d4fe1bb222dee02a5d81e86fc54c1f8af4' into checkpoi…
AmineKhaldi Oct 13, 2023
71fe930
checkpoint: into main from release/2.1.2 @ 290698d4fe1bb222dee02a5d8…
cmmarslender Oct 13, 2023
957f8d1
Convert KeyTool to a dataclass and annotate it (#16602)
AmineKhaldi Oct 13, 2023
69c251f
Merge commit '6c58c5ac00bce66d70f6dbbf01abf5d7c004c543' into checkpoi…
AmineKhaldi Oct 13, 2023
d0aa215
checkpoint: into main from release/2.1.2 @ 6c58c5ac00bce66d70f6dbbf0…
cmmarslender Oct 13, 2023
4b003ea
consistently use `CliRunner.invoke(catch_exceptions=False)` (#16523)
altendky Oct 13, 2023
7de5256
cleanup unused test config settings (#16603)
altendky Oct 13, 2023
f2586f6
Make the sync store tests synchronous (#16529)
AmineKhaldi Oct 13, 2023
c21c2d6
fix issue with syncing testnet, introduced in: Get block spends (#164…
arvidn Oct 16, 2023
3707aa4
Remove unused tmp_dir fixture from test_unsupported_version (#16634)
AmineKhaldi Oct 16, 2023
2a34249
Fixed an issue where plot filter reduction was not applied on testnet…
ChiaMineJP Oct 17, 2023
acaedd5
Merge commit 'c21c2d673400b9b88206c7ba89fd9abf25da1d14' into checkpoi…
altendky Oct 17, 2023
d312ce0
remove unnecessary parameter to ClassgroupElement.get_size() (#16628)
arvidn Oct 17, 2023
a612995
checkpoint: into main from release/2.1.2 @ c21c2d673400b9b88206c7ba8…
cmmarslender Oct 17, 2023
05716c1
Add timeouts and reduce flakes for datalayer (#16621)
emlowe Oct 17, 2023
e15b9a0
Chunk SQLite query for old TR/TX conversion (#16639)
Quexington Oct 18, 2023
52cc1dc
simplify test_mempool_update_performance() (#16652)
arvidn Oct 18, 2023
2ed99c0
blind bump `test_benchmark_batch_insert_speed()` runtime limits (#16655)
altendky Oct 18, 2023
da10f65
rename ClassgroupElement.from_bytes() (#16635)
arvidn Oct 18, 2023
133ea18
install blspy stubs on Windows for dev installs (#16656)
altendky Oct 18, 2023
e32a8ff
Allow set_status to overwrite trade in store (#16636)
Quexington Oct 18, 2023
ff59bc3
Add cache to wallet node preventing resend of processing TX (#16640)
Quexington Oct 18, 2023
368f8b9
improve `benchmark_runner` usage efficiency (#16653)
altendky Oct 18, 2023
5a28f3b
remove types-pkg_resources (#16650)
altendky Oct 19, 2023
1e9142a
blind bump `test_duplicate_reserve_fee()` runtime limits (#16659)
altendky Oct 19, 2023
ef3dda7
build(deps): bump boto3 from 1.28.25 to 1.28.65 (#16646)
dependabot[bot] Oct 19, 2023
eadecd5
build(deps-dev): bump build from 0.10.0 to 1.0.3 (#16579)
dependabot[bot] Oct 19, 2023
d819b21
build(deps-dev): bump pylint from 2.17.5 to 3.0.1 (#16574)
dependabot[bot] Oct 19, 2023
1779433
build(deps): bump clvm-tools-rs from 0.1.34 to 0.1.38 (#16561)
dependabot[bot] Oct 19, 2023
81e487f
Swap the benchmark job to the same container we use for installers wi…
cmmarslender Oct 19, 2023
1a05888
Optimize CRCAT trades (#16430)
Quexington Oct 20, 2023
c158330
Correct `FullNodeDiscovery.pending_tasks` typo without `s` (#16669)
altendky Oct 23, 2023
4a35d74
build(deps-dev): bump types-pyyaml from 6.0.12.11 to 6.0.12.12 (#16578)
dependabot[bot] Oct 24, 2023
74c5f60
build(deps-dev): bump diff-cover from 7.7.0 to 8.0.0 (#16647)
dependabot[bot] Oct 24, 2023
b3650ca
add NFT, DID, DAO_CAT to wallets denominated in mojos (#16632)
geoffwalmsley Oct 24, 2023
95078d6
Remove unused `Service._rpc_close_task` attribute (#16673)
altendky Oct 24, 2023
493d36b
require SerializedProgram.from_bytes() is passed a valid clvm structu…
arvidn Oct 24, 2023
90c1441
apply pyupgrade --py38-plus --keep-runtime-typing (#14646)
altendky Oct 24, 2023
ef98949
Add support for lists of peers in the config (#16376)
felixbrucker Oct 24, 2023
ca59c50
Fix benchmark flakiness (#16649)
fchirica Oct 24, 2023
79f876e
add `-force` to `hdiutil detach` (#16690)
altendky Oct 25, 2023
311d014
add junit output and summaries for benchmarks (#16660)
altendky Oct 25, 2023
03d791d
repeats
altendky Oct 28, 2023
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
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,7 @@ per-file-ignores =
tests/util/test_network_protocol_files.py:F405
tests/util/test_network_protocol_json.py:F405
tests/util/protocol_messages_json.py:E501
chia/wallet/dao_wallet/dao_utils.py:E501
chia/wallet/dao_wallet/dao_wallet.py:E501
chia/wallet/cat_wallet/dao_cat_wallet.py:E501
tests/wallet/dao_wallet/test_dao_clvm.py:E501
17 changes: 17 additions & 0 deletions .github/actions/install/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ inputs:
description: "Skip python package installation and just do pip install."
required: false
default: "false"
constraints-file-artifact-name:
description: "Name of the artifact to upload the constraints file to."
required: false
default: ""

runs:
using: "composite"
Expand All @@ -50,3 +54,16 @@ runs:
INSTALL_PYTHON_VERSION: ${{ inputs.python-version }}
run: |
${{ inputs.command-prefix }} ./Install.ps1 ${{ inputs.development && '-d' || '' }} ${{ (inputs.editable != 'true') && '-i' || '' }}

- name: Create constraints file
if: inputs.constraints-file-artifact-name != ''
shell: bash
run: |
${{ runner.os == 'windows' && 'venv/scripts/pip' || 'venv/bin/pip' }} freeze --exclude-editable > venv/constraints.txt

- name: Upload constraints file
if: inputs.constraints-file-artifact-name != ''
uses: actions/upload-artifact@v3
with:
name: ${{ inputs.constraints-file-artifact-name }}
path: venv/constraints.txt
62 changes: 52 additions & 10 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ name: ⚡️ Benchmarks

on:
workflow_dispatch:
inputs:
repeats:
description: "The number of times to execute each benchmark"
type: int
default: 1
push:
paths-ignore:
- '**.md'
Expand All @@ -23,13 +28,34 @@ concurrency:
cancel-in-progress: true

jobs:
setup:
name: Setup
runs-on: ubuntu-latest
timeout-minutes: 5
outputs:
repeats: ${{ steps.repeats.outputs.repeats }}
timeout: ${{ steps.timeout.outputs.timeout }}

steps:
- name: Calculate repeats
id: repeats
run: |
echo "repeats=${{ inputs.repeats != '' && inputs.repeats || 1 }}" >> "$GITHUB_OUTPUT"
- name: Calculate timeout
id: timeout
run: |
echo "timeout=$(( ${{ steps.repeats.outputs.repeats }} * 20 ))" >> "$GITHUB_OUTPUT"

build:
name: Benchmarks
runs-on: benchmark
timeout-minutes: 30
needs:
- setup
container:
image: chianetwork/ubuntu-22.04-builder:latest
timeout-minutes: ${{ fromJSON(needs.setup.outputs.timeout) }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
python-version: [ "3.10" ]
env:
Expand All @@ -40,16 +66,14 @@ jobs:
- name: Clean workspace
uses: Chia-Network/actions/clean-workspace@main

- name: Add safe git directory
uses: Chia-Network/actions/git-mark-workspace-safe@main

- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Python environment
uses: Chia-Network/actions/setup-python@main
with:
python-version: ${{ matrix.python-version }}

- name: Get pip cache dir
id: pip-cache
shell: bash
Expand All @@ -65,7 +89,7 @@ jobs:
${{ runner.os }}-pip-

- name: Checkout test blocks and plots
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
repository: 'Chia-Network/test-cache'
path: '.chia'
Expand All @@ -82,4 +106,22 @@ jobs:

- name: pytest
run: |
pytest -n 0 --capture no -m benchmark tests
pytest -n 0 --capture no -m benchmark -o 'junit_suite_name=benchmarks' --junitxml=junit-data/benchmarks.raw.xml --benchmark-repeats ${{ needs.setup.outputs.repeats }} tests

- name: Format JUnit data and prepare results
if: always()
run: |
yq junit-data/benchmarks.raw.xml > junit-data/benchmarks.xml

- name: Publish JUnit results
if: always()
uses: actions/upload-artifact@v3
with:
name: junit-data
path: junit-data/*
if-no-files-found: error

- name: Add benchmark results to workflow summary
if: always()
run: |
python -m tests.process_benchmarks --xml junit-data/benchmarks.xml --markdown --link-prefix ${{ github.event.repository.html_url }}/blob/${{ github.sha }}/ --link-line-separator \#L >> "$GITHUB_STEP_SUMMARY"
122 changes: 83 additions & 39 deletions .github/workflows/build-linux-installer-deb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,20 +43,19 @@ jobs:
runs-on: ${{ matrix.os.runs-on }}
container: chianetwork/ubuntu-20.04-builder:latest
timeout-minutes: 120
outputs:
chia-installer-version: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
strategy:
fail-fast: false
max-parallel: 4
matrix:
python-version: ["3.10"]
os:
- runs-on: ubuntu-latest
arch: amd64
glue-name: "build-amd64-deb"
madmax-suffix: "x86-64"
bladebit-suffix: "ubuntu-x86-64.tar.gz"
- runs-on: [Linux, ARM64]
arch: arm64
glue-name: "build-arm64-deb"
madmax-suffix: "arm64"
bladebit-suffix: "ubuntu-arm64.tar.gz"

Expand All @@ -67,7 +66,7 @@ jobs:
uses: Chia-Network/actions/git-mark-workspace-safe@main

- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
Expand All @@ -83,15 +82,16 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Check tag type
id: check_tag_type
shell: bash
run: |
REG_B="^[0-9]+\.[0-9]+\.[0-9]+-b[0-9]+$"
REG_RC="^[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]+$"
if [[ "${{ github.event.release.tag_name }}" =~ $REG_B ]] || [[ "${{ inputs.release_type }}" =~ $REG_B ]]; then
echo "TAG_TYPE=beta" >> "$GITHUB_OUTPUT"
echo "TAG_TYPE=beta"
echo "TAG_TYPE=beta" >> "$GITHUB_ENV"
elif [[ "${{ github.event.release.tag_name }}" =~ $REG_RC ]] || [[ "${{ inputs.release_type }}" =~ $REG_RC ]]; then
echo "TAG_TYPE=rc" >> "$GITHUB_OUTPUT"
echo "TAG_TYPE=rc"
echo "TAG_TYPE=rc" >> "$GITHUB_ENV"
fi

# Create our own venv outside of the git directory JUST for getting the ACTUAL version so that install can't break it
Expand All @@ -104,22 +104,6 @@ jobs:
echo "CHIA_INSTALLER_VERSION=$(python3 ./build_scripts/installer-version.py)" >> "$GITHUB_OUTPUT"
deactivate

- name: Test for secrets access
id: check_secrets
shell: bash
run: |
unset HAS_AWS_SECRET
unset HAS_GLUE_SECRET

if [ -n "$AWS_SECRET" ]; then HAS_AWS_SECRET='true' ; fi
echo HAS_AWS_SECRET=${HAS_AWS_SECRET} >> "$GITHUB_OUTPUT"

if [ -n "$GLUE_ACCESS_TOKEN" ]; then HAS_GLUE_SECRET='true' ; fi
echo HAS_GLUE_SECRET=${HAS_GLUE_SECRET} >> "$GITHUB_OUTPUT"
env:
AWS_SECRET: "${{ secrets.CHIA_AWS_ACCOUNT_ID }}"
GLUE_ACCESS_TOKEN: "${{ secrets.GLUE_ACCESS_TOKEN }}"

- name: Get latest madmax plotter
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -142,7 +126,7 @@ jobs:
LATEST_RC=$(gh api repos/Chia-Network/bladebit/releases --jq 'map(select(.prerelease) | select(.tag_name | test("^v[0-9]+\\.[0-9]+\\.[0-9]+-rc[0-9]+$"))) | first | .tag_name')

# Compare the versions and choose the newest that matches the requirements
if [[ "$TAG_TYPE" == "beta" || -z "${{ github.event.release.tag_name }}" ]]; then
if [[ "$TAG_TYPE" == "beta" || -z "$TAG_TYPE" ]]; then
# For beta or dev builds (indicated by the absence of a tag), use the latest version available
LATEST_VERSION=$(printf "%s\n%s\n%s\n" "$LATEST_RELEASE" "$LATEST_BETA" "$LATEST_RC" | sed '/-/!s/$/_/' | sort -V | sed 's/_$//' | tail -n 1)
elif [[ "$TAG_TYPE" == "rc" ]]; then
Expand Down Expand Up @@ -171,6 +155,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
development: true
constraints-file-artifact-name: constraints-file-${{ matrix.os.arch }}

- uses: chia-network/actions/activate-venv@main

Expand Down Expand Up @@ -211,17 +196,88 @@ jobs:
name: chia-installers-linux-deb-${{ matrix.os.arch }}
path: ${{ github.workspace }}/build_scripts/final_installer/

- name: Remove working files to exclude from cache
run: |
rm -rf ./chia-blockchain-gui/packages/gui/daemon

publish:
name: Publish ${{ matrix.os.arch }}
runs-on: ${{ matrix.os.runs-on }}
needs:
- build
container: chianetwork/ubuntu-20.04-builder:latest
timeout-minutes: 5
strategy:
fail-fast: false
matrix:
python-version: ["3.10"]
os:
- runs-on: ubuntu-latest
arch: amd64
glue-name: "build-amd64-deb"
- runs-on: [Linux, ARM64]
arch: arm64
glue-name: "build-arm64-deb"

env:
CHIA_INSTALLER_VERSION: ${{ needs.build.outputs.chia-installer-version }}

steps:
- uses: Chia-Network/actions/clean-workspace@main

- uses: chia-network/actions/create-venv@main
id: create-venv

- uses: chia-network/actions/activate-venv@main
with:
directories: ${{ steps.create-venv.outputs.activate-venv-directories }}

- name: Download constraints file
uses: actions/download-artifact@v3
with:
name: constraints-file-${{ matrix.os.arch }}
path: venv

- name: Install utilities
run: |
pip install --constraint venv/constraints.txt py3createtorrent

- name: Download packages
uses: actions/download-artifact@v3
with:
name: chia-installers-linux-deb-${{ matrix.os.arch }}
path: build_scripts/final_installer/

- name: Set Env
uses: Chia-Network/actions/setjobenv@main
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Test for secrets access
id: check_secrets
shell: bash
run: |
unset HAS_AWS_SECRET
unset HAS_GLUE_SECRET

if [ -n "$AWS_SECRET" ]; then HAS_AWS_SECRET='true' ; fi
echo HAS_AWS_SECRET=${HAS_AWS_SECRET} >> "$GITHUB_OUTPUT"

if [ -n "$GLUE_ACCESS_TOKEN" ]; then HAS_GLUE_SECRET='true' ; fi
echo HAS_GLUE_SECRET=${HAS_GLUE_SECRET} >> "$GITHUB_OUTPUT"
env:
AWS_SECRET: "${{ secrets.CHIA_AWS_ACCOUNT_ID }}"
GLUE_ACCESS_TOKEN: "${{ secrets.GLUE_ACCESS_TOKEN }}"

- name: Configure AWS credentials
if: steps.check_secrets.outputs.HAS_AWS_SECRET
uses: aws-actions/configure-aws-credentials@v2
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ secrets.CHIA_AWS_ACCOUNT_ID }}:role/installer-upload
aws-region: us-west-2

- name: Upload to s3
if: steps.check_secrets.outputs.HAS_AWS_SECRET
env:
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
run: |
GIT_SHORT_HASH=$(echo "${GITHUB_SHA}" | cut -c1-8)
CHIA_DEV_BUILD=${CHIA_INSTALLER_VERSION}-$GIT_SHORT_HASH
Expand All @@ -231,8 +287,6 @@ jobs:

- name: Create Checksums
if: env.FULL_RELEASE == 'true' || github.ref == 'refs/heads/main'
env:
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
run: |
ls "$GITHUB_WORKSPACE"/build_scripts/final_installer/
sha256sum "$GITHUB_WORKSPACE"/build_scripts/final_installer/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb > "$GITHUB_WORKSPACE"/build_scripts/final_installer/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb.sha256
Expand All @@ -242,7 +296,6 @@ jobs:
- name: Create .deb torrent
if: env.FULL_RELEASE == 'true'
env:
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
py3createtorrent -f -t udp://tracker.opentrackr.org:1337/announce "$GITHUB_WORKSPACE"/build_scripts/final_installer/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb -o "$GITHUB_WORKSPACE"/build_scripts/final_installer/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb.torrent --webseed https://download.chia.net/install/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb
Expand All @@ -251,8 +304,6 @@ jobs:

- name: Upload Dev Installer
if: steps.check_secrets.outputs.HAS_AWS_SECRET && github.ref == 'refs/heads/main'
env:
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
run: |
aws s3 cp "$GITHUB_WORKSPACE"/build_scripts/final_installer/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb s3://download.chia.net/latest-dev/chia-blockchain_${{ matrix.os.arch }}_latest_dev.deb
aws s3 cp "$GITHUB_WORKSPACE"/build_scripts/final_installer/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb.sha256 s3://download.chia.net/latest-dev/chia-blockchain_${{ matrix.os.arch }}_latest_dev.deb.sha256
Expand All @@ -261,8 +312,6 @@ jobs:

- name: Upload Release Files
if: steps.check_secrets.outputs.HAS_AWS_SECRET && env.FULL_RELEASE == 'true'
env:
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
run: |
aws s3 cp "$GITHUB_WORKSPACE"/build_scripts/final_installer/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb s3://download.chia.net/install/
aws s3 cp "$GITHUB_WORKSPACE"/build_scripts/final_installer/chia-blockchain_${CHIA_INSTALLER_VERSION}_${{ matrix.os.arch }}.deb.sha256 s3://download.chia.net/install/
Expand All @@ -275,7 +324,6 @@ jobs:
if: env.RELEASE == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHIA_INSTALLER_VERSION: ${{ steps.version_number.outputs.CHIA_INSTALLER_VERSION }}
run: |
gh release upload \
$RELEASE_TAG \
Expand All @@ -292,10 +340,6 @@ jobs:
run: |
curl -s -XPOST -H "Authorization: Bearer ${{ secrets.GLUE_ACCESS_TOKEN }}" --data '{"chia_ref": "${{ env.RELEASE_TAG }}"}' ${{ secrets.GLUE_API_URL }}/api/v1/${{ env.RFC_REPO }}/${{ env.RELEASE_TAG }}/success/${{ matrix.os.glue-name }}

- name: Remove working files to exclude from cache
run: |
rm -rf ./chia-blockchain-gui/packages/gui/daemon

test:
name: Test ${{ matrix.distribution.name }} ${{ matrix.mode.name }} ${{ matrix.arch.name }}
runs-on: ${{ matrix.os.runs-on[matrix.arch.matrix] }}
Expand Down
Loading
Loading