Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
950 commits
Select commit Hold shift + click to select a range
2ccad9c
Protocol specific persistent and entity state
allanbrondum May 10, 2026
ed4c320
Protocol specific persistent and entity state
allanbrondum May 10, 2026
fec247f
Merge pull request #1645 from Concordium/feature/p11-locks
soerenbf May 13, 2026
0ffc241
Bump version in preparation of devnet release
soerenbf May 13, 2026
b1be17e
Merge pull request #1646 from Concordium/sz/bump-11.2.0-devnet
soerenbf May 13, 2026
d887348
Type alias for p10 block state
allanbrondum May 15, 2026
b8601c3
cleanup
allanbrondum May 15, 2026
96d674c
Move uilts module
allanbrondum May 15, 2026
a9132eb
Refactor persistent modules
allanbrondum May 15, 2026
8f106a4
merge
allanbrondum May 15, 2026
f3e8b71
Merge locks into new block state model
allanbrondum May 15, 2026
4c319f3
Merge locks into new block state model
allanbrondum May 15, 2026
f47a72f
Merge locks into new block state model
allanbrondum May 15, 2026
069a8a6
Merge locks into new block state model
allanbrondum May 15, 2026
2f5d938
Block state tests of locks
allanbrondum May 15, 2026
48fd4b6
Scheduler adjustments
allanbrondum May 15, 2026
de077ea
Move type to scheduler
allanbrondum May 15, 2026
1e8210f
Locked quanta on LockP11
allanbrondum May 15, 2026
9a2c7f4
Locked quanta on LockP11
allanbrondum May 15, 2026
8ee617e
Refactor scheduler tests for block state changes
allanbrondum May 15, 2026
c402d53
Adjust tests for new block state model
allanbrondum May 18, 2026
b75168b
Adjust tests for new block state model
allanbrondum May 18, 2026
87fcc15
Adjust tests for new block state types
allanbrondum May 18, 2026
2509b84
Adjust tests for new block state types
allanbrondum May 18, 2026
c8820bb
Adjust tests for new block state types
allanbrondum May 18, 2026
bccf020
Merge pull request #1644 from Concordium/ar/cor-2397-implement-block-…
allanbrondum May 19, 2026
0d36df4
Support for cancelling locks.
td202 May 19, 2026
ecfd2fb
Merge remote-tracking branch 'remotes/origin/release/p11' into lock-c…
td202 May 19, 2026
71c51e9
Fix after merge.
td202 May 19, 2026
27ae450
Fix tests. Rename test files to avoid `update` which triggers UAC pri…
td202 May 19, 2026
acc279f
Refactor parameters to `execute_transaction`.
td202 May 20, 2026
f506302
Implement protocol specific scheduler queries
allanbrondum May 22, 2026
ef0cde8
Implement protocol specific scheduler queries
allanbrondum May 22, 2026
4f065e9
Implement protocol specific scheduler queries
allanbrondum May 22, 2026
e36b823
Implement protocol specific scheduler queries
allanbrondum May 22, 2026
b6e3ef5
Implement protocol specific scheduler queries
allanbrondum May 22, 2026
c421eeb
Implement protocol specific scheduler operations
allanbrondum May 22, 2026
0428125
Implement protocol specific scheduler operations
allanbrondum May 22, 2026
b7f07e0
Implement protocol specific scheduler operations
allanbrondum May 22, 2026
ee22c80
Implement protocol specific scheduler operations
allanbrondum May 22, 2026
0635f9c
Implement protocol specific scheduler operations
allanbrondum May 22, 2026
bd0f506
Test lock_cancel.
td202 May 22, 2026
eed8abf
Implement protocol specific scheduler operations
allanbrondum May 22, 2026
04d354e
Implement protocol specific scheduler operations
allanbrondum May 22, 2026
99995df
Update changelog.
td202 May 22, 2026
86c38d0
FFI layer execution
allanbrondum May 24, 2026
f4ed00a
TokenBase
allanbrondum May 24, 2026
818760b
Use TokenP9Base
allanbrondum May 24, 2026
0a6b6fd
Token error handling
allanbrondum May 24, 2026
4ad218d
Token error handling
allanbrondum May 24, 2026
8fafdfd
TokenPX
allanbrondum May 24, 2026
54bf2be
TokenPX
allanbrondum May 24, 2026
204822d
doc
allanbrondum May 24, 2026
40f8e5f
Update test scheduler operations
allanbrondum May 24, 2026
2e5d674
Update test scheduler operations
allanbrondum May 24, 2026
dd44dc0
Update test scheduler operations
allanbrondum May 24, 2026
d605771
Move token module back temporarily
allanbrondum May 24, 2026
29cb6b6
Adjust tests for new block state types
allanbrondum May 24, 2026
e0aa155
Adjust tests for new block state types
allanbrondum May 24, 2026
e19d279
Revert tests
allanbrondum May 24, 2026
9664633
fix
allanbrondum May 25, 2026
9866ecf
Address reviews
td202 May 26, 2026
31a678e
Additional test. Renaming reject reasons.
td202 May 26, 2026
d00e5df
Docs & formatting.
td202 May 26, 2026
953781c
Revert refactor.
td202 May 26, 2026
04f34fe
Doc
td202 May 26, 2026
0d18d65
Fix tests.
td202 May 27, 2026
de550d9
Supporting functions for transfer of lock funds.
td202 May 27, 2026
32cc71e
Support fund/send/return operations.
td202 May 27, 2026
bdc7fea
Corrections to validation logic.
td202 May 28, 2026
d03afa9
Additional testing.
td202 May 28, 2026
77080a5
Format
td202 May 28, 2026
1a9ae53
Address pr comments
May 28, 2026
cfbb035
Merge branch 'release/p11' into sz/locks/cor-2316-locks-account-state
May 28, 2026
b531386
Formatting + clippy.
td202 May 29, 2026
319feb6
Merge pull request #1643 from Concordium/lock-cancel
td202 May 29, 2026
839ff8c
Implement protocol specific scheduler operations
allanbrondum May 29, 2026
3e93af3
Merge branch 'release/p11' into sz/locks/cor-2316-locks-account-state
May 29, 2026
7e4fc1f
merge
allanbrondum May 29, 2026
35753fc
Return errors instead of panic in lock queries
May 29, 2026
c10294f
Implement protocol specific scheduler operations
allanbrondum May 29, 2026
92f9340
Address pr feedback
May 29, 2026
c4473e0
Implement protocol specific scheduler operations
allanbrondum May 29, 2026
6c5cfe0
Implement protocol specific scheduler operations
allanbrondum May 29, 2026
bc22197
Merge pull request #1638 from Concordium/sz/locks/cor-2316-locks-acco…
soerenbf May 29, 2026
e547364
Update base after merge.
td202 May 29, 2026
85b6c01
Move balance operations into protocol_level_tokens
allanbrondum May 29, 2026
9172abc
Move token_module into protocol_level_tokens
allanbrondum May 29, 2026
316711c
merge
allanbrondum May 29, 2026
b88dc54
Fix smart contract trie iterator
allanbrondum May 29, 2026
2105cf0
Merge pull request #1648 from Concordium/ar/cor-2398-push-block-state…
allanbrondum May 30, 2026
e71cd08
Merge branch 'release/p11' into lock-transfer
Jun 1, 2026
1b71df4
Add lock_transfer tests
Jun 2, 2026
27cae2f
Update changelog
Jun 2, 2026
1fe66f9
Ensure we enforce `keep_alive`
Jun 2, 2026
02cb5c6
Ensure lock transfer operations are subject to rules imposed by tokens
Jun 3, 2026
ded6f7f
Address PR feedback
Jun 3, 2026
5870058
Use LfmbTree for locks, introducing LockIndex and an index from LockId
limemloh Jun 3, 2026
668769d
Update P11 block hashes in tests
limemloh Jun 4, 2026
6a8277c
Add shared constraint checks for token transfer and lock send
Jun 4, 2026
87e8478
docs
Jun 4, 2026
7762f5e
Fix hash fixtures in remaining unit tests
limemloh Jun 4, 2026
9a61777
Merge branch 'lock-transfer' into limemloh/cor-2295-locks-real-state-…
limemloh Jun 4, 2026
4f500d5
Address pr feedback
Jun 4, 2026
ef2c778
Update haskell test to match new reject reason ordering
Jun 4, 2026
5b16e8d
Bump version in prep. for devnet
Jun 4, 2026
404cb8f
..
Jun 4, 2026
e724bd9
Merge pull request #1649 from Concordium/lock-transfer
soerenbf Jun 4, 2026
49ba0bb
Merge pull request #1653 from Concordium/p11-locks-all-ops-devnet
soerenbf Jun 4, 2026
03e16b4
Merge remote-tracking branch 'origin/release/p11' into limemloh/cor-2…
limemloh Jun 4, 2026
d601609
Address review comments
limemloh Jun 8, 2026
e6ae10e
Migrate trait
allanbrondum Jun 8, 2026
cfcf820
Implement migrate for persistent types
allanbrondum Jun 8, 2026
c137833
Implement migrate for persistent types
allanbrondum Jun 8, 2026
4addeb1
Introduce Loadable, Cachable, Storable and Hashable for Option<T>
limemloh Jun 8, 2026
e71c2a6
Implement migrate for persistent tokens and locks
allanbrondum Jun 8, 2026
760b0a3
Implement migrate for persistent tokens and locks
allanbrondum Jun 8, 2026
69fcba5
Implement migrate for persistent tokens and locks
allanbrondum Jun 8, 2026
8f60d31
Merge pull request #1652 from Concordium/limemloh/cor-2295-locks-real…
limemloh Jun 8, 2026
7bd3352
Implement migrate for block state
allanbrondum Jun 12, 2026
b97a887
Implement migration for token from P9 to P11
allanbrondum Jun 12, 2026
7a9ebe1
Implement migration for token from P9 to P11
allanbrondum Jun 12, 2026
5b508ea
Implement migration for token from P9 to P11
allanbrondum Jun 12, 2026
2c30a09
Handle "any" lock recipient variant in node
soerenbf Jun 18, 2026
19667b7
Update changelog
soerenbf Jun 18, 2026
09204d6
..
soerenbf Jun 18, 2026
0bdf74c
Merge branch 'feature/rust_block_state_p11_migration' of github.com:C…
allanbrondum Jun 19, 2026
8f31860
Address feedback
soerenbf Jun 19, 2026
6fbbc5d
Enforce available balance checks on token transfer/burn operations
soerenbf Jun 19, 2026
27fc9d9
Implement P10 to P11 block state migration
allanbrondum Jun 19, 2026
3366669
Add `LockRecipientsList` to ensure members are correctly sorted
soerenbf Jun 19, 2026
236227a
Merge pull request #1656 from Concordium/sz/locks/check-available-bal…
soerenbf Jun 19, 2026
45339f2
Merge branch 'release/devnet-p11-2_11.2.2' into sz/locks/lock-config-…
soerenbf Jun 19, 2026
e3e8635
Implement P10 to P11 block state migration
allanbrondum Jun 19, 2026
ac2b587
Merge pull request #1655 from Concordium/sz/locks/lock-config-any-rec…
soerenbf Jun 19, 2026
dcea773
Bump version
soerenbf Jun 19, 2026
71af3ef
Merge branch 'release/p11' into merge-p11-devnet-2.1
soerenbf Jun 19, 2026
46a7596
...
soerenbf Jun 19, 2026
fc181a1
Merge pull request #1658 from Concordium/bump-version-11.2.2
soerenbf Jun 19, 2026
10c2313
Merge branch 'release/devnet-p11-2_11.2.2' into merge-p11-devnet-2.1
soerenbf Jun 19, 2026
f35449c
Implement P10 to P11 block state migration
allanbrondum Jun 19, 2026
08ec0aa
Implement P10 to P11 block state migration
allanbrondum Jun 19, 2026
6f31923
Implement migration
allanbrondum Jun 22, 2026
453ca6f
Implement migration
allanbrondum Jun 22, 2026
ed614fe
merge
allanbrondum Jun 22, 2026
c0b68a3
Implement migration on Haskell side
allanbrondum Jun 22, 2026
9cd11b6
Implement migration
allanbrondum Jun 22, 2026
e82e3ad
Test of Rust block state FFI
allanbrondum Jun 22, 2026
2b9b291
Merge branch 'ar/psr-90-haskell-side-migration-implementation_2' of g…
allanbrondum Jun 22, 2026
7507410
Implement migration
allanbrondum Jun 22, 2026
ea3e96a
merge
allanbrondum Jun 22, 2026
d065b43
Implement P10 to P11 block state migration
allanbrondum Jun 22, 2026
d066a5b
Implement long term lock recipients storage model
soerenbf Jun 24, 2026
b9faf64
Update base ref
soerenbf Jun 25, 2026
7cd61e1
Add metadata to node lock config
soerenbf Jun 25, 2026
ce0918d
Merge pull request #1659 from Concordium/merge-p11-devnet-2.1
soerenbf Jun 26, 2026
8e3c537
Merge pull request #1660 from Concordium/sz/locks/lock-config-any-rec…
soerenbf Jun 26, 2026
81fa5bf
Use new block state types in the locks scheduler operations and queries
allanbrondum Jun 26, 2026
a121f1b
Remove block state query and operations traits and implementations
allanbrondum Jun 26, 2026
771ae2c
Remove block state query and operations traits and implementations
allanbrondum Jun 26, 2026
88910f5
Remove block state query and operations traits and implementations
allanbrondum Jun 26, 2026
1e0e6e2
merge
allanbrondum Jun 26, 2026
eeabad6
merge
allanbrondum Jun 26, 2026
ea9adef
Update base
soerenbf Jun 26, 2026
c946927
Update changelog
soerenbf Jun 26, 2026
8980360
Fix build error
soerenbf Jun 26, 2026
e0c0723
Update test hashes due to block state changes
soerenbf Jun 26, 2026
c29721a
Implement migration
allanbrondum Jun 30, 2026
5373ac3
Merge pull request #1654 from Concordium/ar/psr-91-implement-migratio…
allanbrondum Jun 30, 2026
92951d8
Move WithBlockStateFailure to plt-scheduler
allanbrondum Jun 30, 2026
b15a8a8
Merge pull request #1662 from Concordium/sz/locks/config-metadata
soerenbf Jun 30, 2026
b6b81b0
Merge pull request #1661 from Concordium/ar/cor-2436-refactor-locks-s…
allanbrondum Jun 30, 2026
f445881
Test of Rust block state FFI
allanbrondum Jun 30, 2026
cff8ec8
Merge pull request #1635 from Concordium/ar/psr-90-haskell-side-migra…
allanbrondum Jun 30, 2026
d4cd4e8
merge
allanbrondum Jul 1, 2026
d8fb932
Fix duplicate field names
allanbrondum Jul 1, 2026
b727880
Fix duplicate field names
allanbrondum Jul 1, 2026
675d637
Move lock queries into protocol_level_locks module
allanbrondum Jul 1, 2026
08b73ac
Move lock scheduler operations into protocol_level_locks module
allanbrondum Jul 1, 2026
6318c77
Fix duplicate record field names
allanbrondum Jul 1, 2026
217bb2f
Merge pull request #1663 from Concordium/feature/rust_block_state_p11…
allanbrondum Jul 1, 2026
908990c
Merge branch 'release/p11' of github.com:Concordium/concordium-node i…
allanbrondum Jul 1, 2026
1a3ea92
Move lock queries into protocol_level_locks module
allanbrondum Jul 1, 2026
c38eb29
Remove controller trait
allanbrondum Jul 1, 2026
29a8d60
Merge pull request #1664 from Concordium/ar/cor-2441-refactor-code-mo…
allanbrondum Jul 2, 2026
ed9dde0
Remove error handling refactor todos
allanbrondum Jul 2, 2026
153dfef
Merge pull request #1665 from Concordium/ar/cor-2441-refactor-code-mo…
allanbrondum Jul 3, 2026
a32106a
Move migration code from base lib
soerenbf Jul 3, 2026
beeb738
Merge branch 'release/p11' into move-migration-code
soerenbf Jul 3, 2026
9b43af3
Update base
soerenbf Jul 3, 2026
bd0e933
Merge pull request #1666 from Concordium/move-migration-code
soerenbf Jul 6, 2026
e29a030
Update persistent state with token params
soerenbf Jul 6, 2026
114680e
Merge branch 'main' into merge/main-into-p11
soerenbf Jul 6, 2026
33240c5
Merge branch 'fix-changelog-10.0.9' into merge/main-into-p11
soerenbf Jul 6, 2026
c68582e
Merge branch 'main' into merge/main-into-p11
soerenbf Jul 7, 2026
db2d591
Merge pull request #1667 from Concordium/merge/main-into-p11
soerenbf Jul 8, 2026
230ed6d
Merge branch 'feature/max-lock-duration' of github.com:Concordium/con…
soerenbf Jul 8, 2026
b97e95e
Merge branch 'feature/max-lock-duration' into sz/locks/token-params-auth
soerenbf Jul 8, 2026
82a2d32
Update base ref to include update + state migration data
soerenbf Jul 8, 2026
4630649
Add rust managed persistent token chain parameters
soerenbf Jul 8, 2026
3ef30fd
Add haskell persistent chain parameters + ffi to rust token params
soerenbf Jul 9, 2026
d0902ac
Migrate p10->p11 + change chain parameters persistent type
soerenbf Jul 9, 2026
5601116
Update unit tests + add tests
soerenbf Jul 9, 2026
c59ad4c
Add unit tests related to p11 update
soerenbf Jul 9, 2026
83d09e8
Use ResultWithBlockStateFailure in error handling to make it more fluent
allanbrondum Jul 10, 2026
664fe9d
Add placeholder for new update, to be impl in subseq. PR
soerenbf Jul 10, 2026
bcd35da
Fix failing tests build
soerenbf Jul 10, 2026
46437ad
Move token amount utils to separate module
allanbrondum Jul 10, 2026
0962c8c
Fix bench error
soerenbf Jul 10, 2026
2e4a75d
Enqueue and run chain update
soerenbf Jul 10, 2026
3b1612f
Make token module update return TransactionRejectReason
allanbrondum Jul 10, 2026
7b0ccb3
Add unit tests for chain update execution
soerenbf Jul 10, 2026
6c0e655
Make RawTokenAmount value private and make all arithmetic go through …
allanbrondum Jul 10, 2026
37d2f4f
Make token module update return TransactionRejectReason
allanbrondum Jul 10, 2026
a42414a
Update changelog
soerenbf Jul 10, 2026
cd6c344
Fix failing golden p11 hash tests
soerenbf Jul 10, 2026
5c70cb6
Skip forwarding directly send pending blocks
limemloh Jul 17, 2026
f0fc10e
Update changelog and version preparing for build
limemloh Jul 20, 2026
cc7afbe
Merge pull request #1673 from Concordium/ar/cor-2441-refactor-code-mo…
allanbrondum Jul 21, 2026
721b50c
Merge pull request #1674 from Concordium/ar/cor-2441-refactor-code-mo…
allanbrondum Jul 22, 2026
a084465
Update lock file
limemloh Jul 24, 2026
4f1558f
Empty commit
limemloh Jul 24, 2026
1f09f8c
Merge commit from fork
limemloh Jul 24, 2026
fcd6d5b
Merge remote-tracking branch 'origin/release/10.0.10' into merge-main
limemloh Jul 24, 2026
2235c99
Merge pull request #1677 from Concordium/merge-main
limemloh Jul 24, 2026
06fe37f
Add enforcement of max lock duration chain parameter
soerenbf Aug 4, 2026
47b5aab
Add unit tests for duration bound enforcement
soerenbf Aug 4, 2026
a3246c7
Add ffi wrapper test
soerenbf Aug 4, 2026
55393ff
Changelog
soerenbf Aug 4, 2026
2487e68
Clean up + pass pv when loading rust managed chain params
soerenbf Aug 4, 2026
d377e17
..
soerenbf Aug 5, 2026
ce84926
Merge pull request #1671 from Concordium/sz/locks/token-params-auth
soerenbf Aug 5, 2026
4234508
Change test helper macro to fn
soerenbf Aug 5, 2026
49eeba5
Merge branch 'feature/max-lock-duration' into sz/locks/max-lock-dur-u…
soerenbf Aug 5, 2026
44ae1b9
Merge branch 'sz/locks/max-lock-dur-update' into sz/locks/max-lock-du…
soerenbf Aug 5, 2026
14ca03f
Use `SlotDuration` for `max_lock_duration` to align with Haskell.
soerenbf Aug 5, 2026
1addd57
Type constraints for rust managed ecp support
soerenbf Aug 5, 2026
645cdea
..
soerenbf Aug 5, 2026
52834ce
Remove redundant primed types
soerenbf Aug 5, 2026
9edaa98
Use `Duration` instead of `SlotDuration`
soerenbf Aug 6, 2026
f50ed98
Add structure for processing chain updates immutably
soerenbf Aug 6, 2026
df922db
Merge branch 'sz/locks/max-lock-dur-update' into sz/locks/max-lock-du…
soerenbf Aug 6, 2026
eca72ac
Merge branch 'sz/locks/max-lock-dur-execution' into sz/locks/dedupe-p…
soerenbf Aug 6, 2026
f05099f
Update base ref
soerenbf Aug 6, 2026
bf15ac5
Address PR feedback
soerenbf Aug 13, 2026
6836ac0
Merge branch 'sz/locks/max-lock-dur-update' into sz/locks/max-lock-du…
soerenbf Aug 13, 2026
c3a70bc
Merge branch 'sz/locks/max-lock-dur-execution' into sz/locks/dedupe-p…
soerenbf Aug 13, 2026
b1e9dd9
Merge pull request #1681 from Concordium/sz/locks/dedupe-pv-dependant…
soerenbf Aug 13, 2026
acd3e53
Merge branch 'release/p11' into feature/max-lock-duration
soerenbf Aug 13, 2026
8c7a005
Merge pull request #1680 from Concordium/feature/max-lock-duration
soerenbf Aug 14, 2026
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
68 changes: 23 additions & 45 deletions .github/workflows/build-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ on:
env:
dummy: 17 # change to force cache invalidation
CARGO_TERM_COLOR: always # implicitly adds '--color=always' to all cargo commands
GHC_VERSION: 9.10.2

jobs:

fourmolu:
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.draft }}
steps:

- name: Download fourmolu
Expand Down Expand Up @@ -93,30 +93,15 @@ jobs:

rustfmt:
runs-on: ubuntu-latest
if: ${{ !github.event.pull_request.draft }}

strategy:
matrix:
plan:
- rust: "1.94"

steps:
- name: Checkout
uses: actions/checkout@v2
with:
# token: ${{ secrets.CONCORDIUM_CI }}
submodules: recursive

- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.plan.rust }}
override: true
components: rustfmt

- name: Run rustfmt
run: |
rustup component add rustfmt
cargo fmt --manifest-path concordium-node/Cargo.toml -- --check
cargo fmt --manifest-path collector-backend/Cargo.toml -- --check
cargo fmt --manifest-path collector/Cargo.toml -- --check
Expand All @@ -127,13 +112,6 @@ jobs:
needs: [fourmolu, rustfmt]
# Use fixed OS version because we install packages on the system.
runs-on: ubuntu-22.04
if: ${{ !github.event.pull_request.draft }}

strategy:
matrix:
plan:
- rust: 1.94
ghc: 9.10.2

steps:
- name: Remove unnecessary files
Expand All @@ -160,19 +138,19 @@ jobs:
# This must be done before checking the Rust sources (obviously)
# but also before building the Haskell sources because the Haskell
# build kicks of a Rust build.
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.plan.rust }}
override: true
components: clippy, llvm-tools
target: x86_64-pc-windows-gnu
# Install tool for code coverage reporting.
# Version cargo-llvm-cov 0.6.22 requries Rust 1.87, so we use 0.6.21 for now
- name: Install cargo-llvm-cov
- name: Install Rust tools
run: |
rustup component add clippy llvm-tools
rustup target add x86_64-pc-windows-gnu
cargo install cargo-llvm-cov --locked
- name: Read Rust version
id: read-rust-version
run: |
echo "RUST_VERSION=$(cargo --version | awk '{print $2}')" >> $GITHUB_OUTPUT
- name: Print Rust version
id: print-rust-version
run: |
cargo install cargo-llvm-cov --version 0.6.21 --locked
echo "Rust version: ${{ steps.read-rust-version.outputs.RUST_VERSION }}"
- name: Cache cargo dependencies and targets
uses: actions/cache@v4
with:
Expand All @@ -185,10 +163,10 @@ jobs:
concordium-base/smart-contracts/lib
concordium-node/target
collector/target
key: ${{ runner.os }}-${{ env.dummy }}-rust-deps-${{ matrix.plan.rust }}-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}-${{ hashFiles('concordium-base/rust-src/**/*.rs','concordium-base/smart-contracts/wasm-chain-integration/**/*.rs')}}
key: ${{ runner.os }}-${{ env.dummy }}-rust-deps-${{ steps.read-rust-version.outputs.RUST_VERSION }}-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}-${{ hashFiles('concordium-base/rust-src/**/*.rs','concordium-base/smart-contracts/wasm-chain-integration/**/*.rs')}}
restore-keys: |
${{ runner.os }}-${{ env.dummy }}-rust-deps-${{ matrix.plan.rust }}-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
${{ runner.os }}-${{ env.dummy }}-rust-deps-${{ matrix.plan.rust }}
${{ runner.os }}-${{ env.dummy }}-rust-deps-${{ steps.read-rust-version.outputs.RUST_VERSION }}-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
${{ runner.os }}-${{ env.dummy }}-rust-deps-${{ steps.read-rust-version.outputs.RUST_VERSION }}

# HASKELL #

Expand All @@ -209,9 +187,9 @@ jobs:
uses: actions/cache@v4
with:
path: ~/.stack
key: ${{ runner.os }}-${{ env.dummy }}-stack-global-${{ matrix.plan.ghc }}-${{ hashFiles('**.yaml') }}
key: ${{ runner.os }}-${{ env.dummy }}-stack-global-${{ env.GHC_VERSION }}-${{ hashFiles('**.yaml') }}
restore-keys: |
${{ runner.os }}-${{ env.dummy }}-stack-global-${{ matrix.plan.ghc }}
${{ runner.os }}-${{ env.dummy }}-stack-global-${{ env.GHC_VERSION }}
- name: Cache '.stack-work'
uses: actions/cache@v4
with:
Expand All @@ -221,11 +199,11 @@ jobs:
concordium-consensus/.stack-work
concordium-consensus/haskell-lmdb/.stack-work

key: ${{ runner.os }}-${{ env.dummy }}-stack-work-${{ matrix.plan.ghc }}-${{ hashFiles('**.yaml') }}-${{ steps.cache-keys.outputs.proto_hash }}-${{ steps.cache-keys.outputs.base_hash }}
key: ${{ runner.os }}-${{ env.dummy }}-stack-work-${{ env.GHC_VERSION }}-${{ hashFiles('**.yaml') }}-${{ steps.cache-keys.outputs.proto_hash }}-${{ steps.cache-keys.outputs.base_hash }}
restore-keys: |
${{ runner.os }}-${{ env.dummy }}-stack-work-${{ matrix.plan.ghc }}-${{ hashFiles('**.yaml') }}-${{ steps.cache-keys.outputs.proto_hash }}-
${{ runner.os }}-${{ env.dummy }}-stack-work-${{ matrix.plan.ghc }}-${{ hashFiles('**.yaml') }}-
${{ runner.os }}-${{ env.dummy }}-stack-work-${{ matrix.plan.ghc }}
${{ runner.os }}-${{ env.dummy }}-stack-work-${{ env.GHC_VERSION }}-${{ hashFiles('**.yaml') }}-${{ steps.cache-keys.outputs.proto_hash }}-
${{ runner.os }}-${{ env.dummy }}-stack-work-${{ env.GHC_VERSION }}-${{ hashFiles('**.yaml') }}-
${{ runner.os }}-${{ env.dummy }}-stack-work-${{ env.GHC_VERSION }}

# Compile Haskell sources. This must be done before running checks or tests on the Rust sources.
- name: Build consensus and run tests (with code coverage)
Expand Down
78 changes: 0 additions & 78 deletions .github/workflows/deployment-build-test.yaml

This file was deleted.

69 changes: 69 additions & 0 deletions .github/workflows/plt-build-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
name: PLT scheduler build and run tests

on:
push:
branches:
- main
paths:
- '.github/workflows/plt-build-test.yaml'
- 'concordium-base'
- 'plt/**'

pull_request:
paths:
- '.github/workflows/plt-build-test.yaml'
- 'concordium-base'
- 'plt/**'

env:
CARGO_TERM_COLOR: always # implicitly adds '--color=always' to all cargo commands

jobs:
rustfmt:
name: Check formatting
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Run rustfmt
working-directory: plt
run: |
rustup component add rustfmt
cargo fmt --check

clippy_test:
name: Run Clippy and tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install tools
working-directory: plt
run: |
rustup component add clippy llvm-tools
cargo install cargo-llvm-cov --locked
- name: Clippy
working-directory: plt
run: |
cargo clippy --locked --all-targets --all-features -- -D warnings
- name: Test
working-directory: plt
run: |
cargo llvm-cov test --locked --all-targets --all-features --no-report
- name: Generate a report of the tests above.
working-directory: plt
run: |
cargo llvm-cov report --lcov --output-path plt_lcov.info
# Options documented here: https://github.com/codecov/codecov-action
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
disable_telem: true
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
files: plt/plt_lcov.info
30 changes: 11 additions & 19 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ on:

env:
UBUNTU_VERSION: '22.04'
STATIC_LIBRARIES_IMAGE_TAG: 'rust-1.94_ghc-9.10.2'
RUST_VERSION: '1.94.0'
STATIC_LIBRARIES_IMAGE_TAG: 'rust-1.95.0_ghc-9.10.2'
STACK_VERSION: '3.7.1'
FLATBUFFERS_VERSION: '23.5.26'
GHC_VERSION: '9.10.2'
Expand Down Expand Up @@ -119,7 +118,6 @@ jobs:
ghc_version=${{ env.GHC_VERSION }}
protoc_version=${{ env.PROTOC_VERSION }}
flatbuffers_version=${{ env.FLATBUFFERS_VERSION }}
rust_toolchain_version=${{ env.RUST_VERSION }}
labels: |
ubuntu_version=${{ env.UBUNTU_VERSION }}
static_libraries_image_tag=${{ env.STATIC_LIBRARIES_IMAGE_TAG }}
Expand Down Expand Up @@ -306,17 +304,16 @@ jobs:
smctl healthcheck --all
shell: cmd

- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}-x86_64-pc-windows-msvc
rustflags: ""
- name: Read Rust version
id: read-rust-version
run: |
$rustVersion = (cargo --version).Split(" ")[1]
echo "RUST_VERSION=$rustVersion" >> $env:GITHUB_OUTPUT

- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}-x86_64-pc-windows-gnu
rustflags: ""
- name: Print Rust version
id: print-rust-version
run: |
echo "Rust version: ${{ steps.read-rust-version.outputs.RUST_VERSION }}"

- name: Setup node folder
run: |
Expand Down Expand Up @@ -362,7 +359,7 @@ jobs:
SM_CLIENT_CERT_PASSWORD: ${{ secrets.WINDOWS_SM_CLIENT_CERT_PASSWORD }}
SM_ARGS: "--verbose --exit-non-zero-on-fail --failfast"
run: |
./scripts/distribution/windows/build-all.ps1 -nodeVersion ${{ needs.validate-preconditions.outputs.version }} -rustVersion ${{ env.RUST_VERSION }}
./scripts/distribution/windows/build-all.ps1 -nodeVersion ${{ needs.validate-preconditions.outputs.version }} -rustVersion ${{ steps.read-rust-version.outputs.RUST_VERSION }}

- name: Sign installer with smctl
working-directory: ${{steps.build.outputs.bin_dir}}
Expand Down Expand Up @@ -435,11 +432,6 @@ jobs:
security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH

- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}
rustflags: ""

- uses: haskell-actions/setup@v2
with:
ghc-version: ${{ env.GHC_VERSION }}
Expand Down
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ concordium-node/.idea/
.so
.stack-work
.stack-work-test
.stack-work-bench
dist
.cabal-sandbox
cabal.sandbox.config
Expand All @@ -27,7 +28,6 @@ deps/internal/crypto/build
*.ps
scripts/static-libs/static-libs-docker/output_dir/
result
**/**/Cargo.lock
0
**/**/0
scripts/genesis-data/genesis_data/**
Expand All @@ -49,13 +49,16 @@ genesis_data
/concordium-consensus/a.out
/concordium-consensus/HSdll.dll
/concordium-consensus/HSdll.dll.a
/concordium-consensus/*.dat
/concordium-consensus/lib
concordium-node/deps/static-libs
.dir-locals.el
hie.yaml
**/**/TAGS
.DS_Store
/concordium-node/*.log
/stack.yaml.lock
/stack.static.yaml.lock

# MacOS distribution
/scripts/distribution/macOS-package/tools
Expand All @@ -67,4 +70,5 @@ xcuserdata/
lcov.info
# Test artefacts
.stack-work-coverage*
*.blob
*.blob
plt/plt-types/proptest-regressions/
Loading
Loading