Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
43aa54d
Implement initialize_token
td202 Oct 31, 2025
b66613a
Refactoring
td202 Nov 10, 2025
5c3216d
Unused import
td202 Nov 10, 2025
16b2ff8
Fix host stub.
td202 Nov 10, 2025
18c8a42
Tests for PLT initialization.
td202 Nov 11, 2025
9b6e839
Fix clippy.
td202 Nov 11, 2025
978deeb
Fix clippy.
td202 Nov 13, 2025
d28f200
Setup rust PLT scheduler project and CI
limemloh Dec 10, 2025
166c10b
Add trait for operations on the scheduler state
limemloh Dec 10, 2025
9e3a1fa
Merge pull request #1474 from Concordium/scheduler-port
limemloh Dec 12, 2025
50264c6
Address review comments.
td202 Dec 12, 2025
725aa82
Refactor the token module and host interface.
td202 Dec 12, 2025
a330e19
Update cargo lock
td202 Dec 12, 2025
26dc3aa
Merge remote-tracking branch 'origin/feature/plt-scheduler-port' into…
limemloh Dec 15, 2025
45ccdd3
Add build of plt-scheduler in concordium-consensus/Setup.hs
limemloh Dec 16, 2025
993aedd
Merge pull request #1465 from Concordium/port-token-module
limemloh Dec 16, 2025
5b2e0f8
Merge remote-tracking branch 'origin/feature/plt-scheduler-port' into…
limemloh Dec 16, 2025
e58773b
Implement simple binding to ensure the linking works
limemloh Dec 16, 2025
a67bfbc
Bump rust version to 1.86 due to dependencies
limemloh Dec 16, 2025
b60f0ba
Fix clippy warning
limemloh Dec 16, 2025
81403d4
Merge pull request #1479 from Concordium/limemloh/psr-9-node-integrat…
limemloh Dec 18, 2025
8280992
Remove non-essential dependencies (#1480)
allanbrondum Dec 18, 2025
660fe2b
PLT Workspace (#1480) (#1482)
allanbrondum Dec 22, 2025
a418c8f
Improve PLT traits, types and errors
allanbrondum Dec 23, 2025
e04a66a
Merge pull request #1483 from Concordium/ar/psr-22-implement-token-mo…
allanbrondum Dec 23, 2025
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
42 changes: 15 additions & 27 deletions .github/workflows/build-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ on:
- 'concordium-consensus/smart-contracts'
- 'concordium-consensus/haskell-lmdb'
- 'concordium-node/rustfmt.toml'
- 'plt'

pull_request:
types: [opened, synchronize, reopened, ready_for_review]
Expand All @@ -48,17 +49,19 @@ on:
- 'concordium-consensus/smart-contracts'
- 'concordium-consensus/haskell-lmdb'
- 'concordium-node/rustfmt.toml'
- 'plt'
workflow_dispatch: # allow manual trigger

env:
dummy: 17 # change to force cache invalidation
CARGO_TERM_COLOR: always # implicitly adds '--color=always' to all cargo commands
RUST_VERSION: 1.86
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,25 +96,17 @@ jobs:

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

strategy:
matrix:
plan:
- rust: "1.82"

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 }}
toolchain: ${{ env.RUST_VERSION }}
override: true
components: rustfmt

Expand All @@ -127,13 +122,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.82
ghc: 9.10.2

steps:
- name: Remove unnecessary files
Expand Down Expand Up @@ -164,7 +152,7 @@ jobs:
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.plan.rust }}
toolchain: ${{ env.RUST_VERSION }}
override: true
components: clippy, llvm-tools
target: x86_64-pc-windows-gnu
Expand All @@ -184,10 +172,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-${{ env.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-${{ env.RUST_VERSION }}-${{ hashFiles('**/Cargo.toml', '**/Cargo.lock') }}
${{ runner.os }}-${{ env.dummy }}-rust-deps-${{ env.RUST_VERSION }}

# HASKELL #

Expand All @@ -208,9 +196,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 @@ -220,11 +208,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
Expand Down
78 changes: 0 additions & 78 deletions .github/workflows/deployment-build-test.yaml

This file was deleted.

51 changes: 51 additions & 0 deletions .github/workflows/plt-build-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
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: Clippy
working-directory: plt
run: |
rustup component add clippy
cargo clippy --locked --all-targets --all-features -- -D warnings
- name: Test
working-directory: plt
run: |
cargo test --locked --all-targets --all-features
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ on:
env:
UBUNTU_VERSION: '22.04'
STATIC_LIBRARIES_IMAGE_TAG: 'rust-1.82_ghc-9.10.2'
RUST_VERSION: '1.82'
RUST_VERSION: '1.86'
STACK_VERSION: '3.7.1'
FLATBUFFERS_VERSION: '23.5.26'
GHC_VERSION: '9.10.2'
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,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,6 +48,7 @@ genesis_data
/concordium-consensus/a.out
/concordium-consensus/HSdll.dll
/concordium-consensus/HSdll.dll.a
/concordium-consensus/lib
concordium-node/deps/static-libs
.dir-locals.el
hie.yaml
Expand Down
8 changes: 6 additions & 2 deletions collector/src/bin/collector.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ use tonic::transport::{channel::Channel, ClientTlsConfig};
#[macro_use]
extern crate log;

#[allow(clippy::large_enum_variant, clippy::enum_variant_names)]
#[allow(
clippy::large_enum_variant,
clippy::enum_variant_names,
clippy::doc_overindented_list_items
)]
mod grpc {
mod plt {
tonic::include_proto!("concordium.v2.plt");
Expand Down Expand Up @@ -208,7 +212,7 @@ async fn main() {
}

#[allow(clippy::cognitive_complexity)]
async fn collect_data<'a>(
async fn collect_data(
node_name: NodeName,
grpc_host: String,
conf: &ConfigCli,
Expand Down
Loading
Loading