Skip to content
Closed
Show file tree
Hide file tree
Changes from 62 commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
ff02b97
fixed plugin's outdir
cschuchardt88 Sep 20, 2025
8ea5980
Merge branch 'dev' into dev/fix-plugins
shargon Sep 21, 2025
ad1213e
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Sep 25, 2025
4a18443
Fixed plugins dependencies
cschuchardt88 Sep 25, 2025
42dd2fa
Fixed Leveldb
cschuchardt88 Sep 25, 2025
6e565da
Fixed leveldb dll
cschuchardt88 Sep 25, 2025
8a04140
Fixed deps
cschuchardt88 Sep 26, 2025
a2a7dc7
Fixes to target file
cschuchardt88 Sep 26, 2025
eda4379
Remove directory `@(PluginOutputPath.Identity)`
cschuchardt88 Sep 26, 2025
17fbbe5
Fixed runtime dlls for leveldb
cschuchardt88 Sep 26, 2025
dbd91de
Added `$(PluginRuntimeId)`
cschuchardt88 Sep 26, 2025
5199557
SignClient revert grpc
cschuchardt88 Sep 26, 2025
1305c17
optimized targets
cschuchardt88 Sep 26, 2025
861a75e
Fixed Docker CI for plugins and using new build process
cschuchardt88 Sep 26, 2025
deb0147
Fixed docker CI and image
cschuchardt88 Sep 27, 2025
764b5a9
fixed output directory
cschuchardt88 Sep 27, 2025
5b0ae06
Fixed Run process for `neo-cli` by coping plugins
cschuchardt88 Sep 27, 2025
adcdb7a
Fixed Release
cschuchardt88 Sep 27, 2025
dfe7840
fixed release
cschuchardt88 Sep 27, 2025
32500d5
Fixed release runtime files
cschuchardt88 Sep 27, 2025
91bfa61
Syntax typo
cschuchardt88 Sep 27, 2025
4245864
Fixed runtime again
cschuchardt88 Sep 27, 2025
5d66455
Added solution file to build
cschuchardt88 Sep 27, 2025
66b3090
disabled publish documents
cschuchardt88 Sep 27, 2025
dcd8e32
Fixed targets for publish release
cschuchardt88 Sep 27, 2025
47d573e
Fixed output text
cschuchardt88 Sep 27, 2025
bbf5772
Fix Jobs
cschuchardt88 Sep 27, 2025
7e7e221
Added dynamic OS detection
cschuchardt88 Sep 27, 2025
ee19252
Fixed docker file
cschuchardt88 Sep 27, 2025
894fcfd
Fixed docker.yml
cschuchardt88 Sep 27, 2025
32b402c
Fixed Runtime in docker.yml
cschuchardt88 Sep 27, 2025
e68a3d2
Changes to target file
cschuchardt88 Sep 27, 2025
97a5a44
Update matching versions with NeoFS
cschuchardt88 Sep 27, 2025
2e1a59e
Fixed out put
cschuchardt88 Sep 27, 2025
d6a9025
Changed message
cschuchardt88 Sep 27, 2025
481d7b4
Merge branch 'dev' into dev/fix-plugins
ajara87 Sep 29, 2025
959ac69
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Sep 30, 2025
afa9c61
updated `NeoFS.API` nuget version
cschuchardt88 Oct 2, 2025
13d4d41
Merge branch 'dev' into dev/fix-plugins
shargon Oct 4, 2025
888ce61
Update neofs version
cschuchardt88 Oct 4, 2025
80d81c1
Merge branch 'dev/fix-plugins' of github.com:cschuchardt88/neo into d…
cschuchardt88 Oct 4, 2025
df0189d
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Oct 4, 2025
1524bb0
Added extensions to the `Neo.VM.Tests`
cschuchardt88 Oct 4, 2025
881aabd
Outputs right number of copied files for native content
cschuchardt88 Oct 4, 2025
acedc94
Reverted the version. So, they are not dynamic updates
cschuchardt88 Oct 4, 2025
53fc8e6
Reverted more versions
cschuchardt88 Oct 4, 2025
0981b4f
Removed un-needed code.
cschuchardt88 Oct 4, 2025
0330f76
Update to remove caches
cschuchardt88 Oct 4, 2025
c5aef74
Fixed cache output
cschuchardt88 Oct 4, 2025
8b62e31
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Oct 4, 2025
3659e65
Add leveldbstore to tests
cschuchardt88 Oct 5, 2025
430908f
revert fixes
cschuchardt88 Oct 5, 2025
f4c7667
Merge branch 'dev/fix-plugins' of github.com:cschuchardt88/neo into d…
cschuchardt88 Oct 5, 2025
add2d7b
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Oct 6, 2025
fe5d285
Fixed a bug
cschuchardt88 Oct 7, 2025
832114b
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Oct 11, 2025
daaec8b
Fixed
cschuchardt88 Oct 12, 2025
fd9670d
Added `IncludeNativeLibrariesForSelfExtract` to `release.yml` for `Al…
cschuchardt88 Oct 12, 2025
c69c212
Added `IncludeNativeLibrariesForSelfExtract` to `docker.yml` for `All…
cschuchardt88 Oct 12, 2025
cc3cbc7
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Oct 13, 2025
92db162
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Oct 15, 2025
a19ab2e
Merge branch 'dev' into dev/fix-plugins
NGDAdmin Oct 17, 2025
366b2fb
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Oct 18, 2025
4266892
Merge branch 'dev' into dev/fix-plugins
ajara87 Oct 26, 2025
a5bf67b
Merge branch 'dev' into dev/fix-plugins
cschuchardt88 Nov 3, 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
25 changes: 12 additions & 13 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ on:

env:
DOTNET_VERSION: 9.0.x
DIST_DIR: ./dist

jobs:
neo-cli-build:
Expand All @@ -29,16 +28,18 @@ jobs:
- name: Build (neo-cli)
run: |
dotnet publish ./src/Neo.CLI \
--disable-parallel \
-m:1 \
--framework net9.0 \
--configuration Release \
--runtime linux-x64 \
--self-contained true \
--output ${{ env.DIST_DIR }} \
--output ${{ github.workspace }}/dist \
--verbosity normal \
-p:VersionPrefix=${{ env.APP_VERSION }} \
-p:RuntimeIdentifier=linux-x64 \
-p:SelfContained=true \
-p:IncludeNativeLibrariesForSelfExtract=false \
-p:RuntimeIdentifier=linux-x64 \
-p:PublishTrimmed=false \
-p:PublishSingleFile=true \
-p:PublishReadyToRun=true \
Expand All @@ -54,15 +55,19 @@ jobs:
-p:PublishReferencesDocumentationFiles=false \
-p:GITHUB_ACTIONS=true

- name: Build (LevelDbStore)
- name: Build (All Plugins)
run: |
dotnet build ./src/Plugins/LevelDBStore \
dotnet publish ./neo.sln \
--disable-parallel \
-m:1 \
--framework net9.0 \
--configuration Release \
--runtime linux-x64 \
--output ${{ env.DIST_DIR }}/Plugins/LevelDBStore \
--verbosity normal \
-p:PluginOutDir=${{ github.workspace }}/dist/Plugins \
-p:VersionPrefix=${{ env.APP_VERSION }} \
-p:RuntimeIdentifier=linux-x64 \
-p:PublishTrimmed=false \
-p:DebugSymbols=false \
-p:DebugType=none \
-p:ServerGarbageCollection=true \
Expand All @@ -72,15 +77,9 @@ jobs:
-p:GenerateDocumentationFile=false \
-p:PublishDocumentationFiles=false \
-p:PublishReferencesDocumentationFiles=false \
-p:IncludeNativeLibrariesForSelfExtract=false \
-p:GITHUB_ACTIONS=true

- name: Remove (junk)
working-directory: ${{ env.DIST_DIR }}/Plugins/LevelDBStore
run: |
rm -v -R runtimes
rm -v Neo*
rm -v $(ls *.dll | grep -v "LevelDBStore.dll")

- name: Docker Login
run: |
docker login ghcr.io \
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,13 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Cache NuGet packages
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key : ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }}
restore-keys: ${{ runner.os }}-nuget-

- name: Restore
run: dotnet restore

Expand Down Expand Up @@ -112,20 +119,20 @@ jobs:
run: |
brew install leveldb
brew install gperftools
dotnet build --disable-parallel -p:GITHUB_ACTIONS=true -bl:build-macos.binlog
dotnet build --disable-parallel -m:1 -p:GITHUB_ACTIONS=true -bl:build-macos.binlog
dotnet test --no-build -p:GITHUB_ACTIONS=true -bl:test-macos.binlog

- name: Test (windows)
if: matrix.os == 'windows-latest'
run: |
dotnet build --disable-parallel -p:GITHUB_ACTIONS=true -bl:build-windows.binlog
dotnet build --disable-parallel -m:1 -p:GITHUB_ACTIONS=true -bl:build-windows.binlog
dotnet test --no-build -p:GITHUB_ACTIONS=true -bl:test-windows.binlog

- name: Test for coverall
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get --assume-yes install libleveldb-dev librocksdb-dev
dotnet build --disable-parallel -p:GITHUB_ACTIONS=true -bl:build-ubuntu.binlog
dotnet build --disable-parallel -m:1 -p:GITHUB_ACTIONS=true -bl:build-ubuntu.binlog
dotnet test --no-build -p:GITHUB_ACTIONS=true -p:Exclude="[Neo.UnitTests]*" -bl:test-ubuntu.binlog

- uses: actions/[email protected]
Expand Down
50 changes: 23 additions & 27 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ jobs:
- name: .NET Publish (neo-cli)
run: |
dotnet publish ./src/Neo.CLI \
--disable-parallel \
-m:1 \
--version-suffix ${{ matrix.runtime }} \
--framework net9.0 \
--configuration ${{ env.CONFIGURATION }} \
Expand All @@ -69,40 +71,41 @@ jobs:
-p:PublishReferencesDocumentationFiles=false \
-p:GITHUB_ACTIONS=true

# Copy 'libleveldb' library file
- name: Native Content (neo-cli)
working-directory: ${{ env.OUTPUT_PATH }}/${{ matrix.runtime }}
run: |
mv -v ./runtimes/${{ matrix.runtime }}/native/* .
rm -v -R runtimes

# Build the LevelDBStore plugin
- name: .NET Build (LevelDBStore)
# Build the plugins
- name: .NET Build (Plugins)
run: |
dotnet build ./src/Plugins/LevelDBStore \
dotnet publish ./neo.sln \
--disable-parallel \
-m:1 \
--version-suffix ${{ matrix.runtime }} \
--framework net9.0 \
--configuration ${{ env.CONFIGURATION }} \
--runtime ${{ matrix.runtime }} \
--output ${{ env.OUTPUT_PATH }}/${{ matrix.runtime }}/Plugins/LevelDBStore \
--verbosity normal \
-p:PluginOutDir=${{ env.OUTPUT_PATH }}/${{ matrix.runtime }}/Plugins \
-p:VersionPrefix=${{ env.APP_VERSION }} \
-p:RuntimeIdentifier=${{ matrix.runtime }} \
-p:PublishTrimmed=false \
-p:DebugSymbols=false \
-p:DebugType=none \
-p:ServerGarbageCollection=true \
-p:TieredCompilation=true \
-p:TieredCompilationQuickJitForLoops=false \
-p:TieredPGO=true \
-p:GenerateDocumentationFile=false \
-p:PublishDocumentationFiles=false \
-p:PublishReferencesDocumentationFiles=false \
-p:IncludeNativeLibrariesForSelfExtract=false \
-p:GITHUB_ACTIONS=true

# Remove unnecessary files from the LevelDBStore plugin output
- name: Remove files (junk)
working-directory: ${{ env.OUTPUT_PATH }}/${{ matrix.runtime }}/Plugins/LevelDBStore
run: |
rm -v -R runtimes
rm -v Neo*
rm -v $(ls *.dll | grep -v "LevelDBStore.dll")
# Cache binary build files for macOS
- name: Cache Distribution
if: ${{ startsWith(matrix.runtime, 'osx') }}
uses: actions/cache/save@v4
with:
path: ${{ env.OUTPUT_PATH }}/${{ matrix.runtime }}/*
key: neo-${{ matrix.runtime }}
enableCrossOsArchive: true

# Create the distribution directory
- name: Create Distribution Directory
Expand All @@ -114,14 +117,6 @@ jobs:
working-directory: ${{ env.OUTPUT_PATH }}/${{ matrix.runtime }}
run: tar -czvf ${{ env.DIST_PATH }}/neo-cli.v${{ env.APP_VERSION }}-${{ matrix.runtime }}.tar.gz .

# Create a tarball file for macOS distributions
- name: Cache Distribution
uses: actions/cache/save@v4
with:
path: ${{ env.OUTPUT_PATH }}/${{ matrix.runtime }}/*
key: neo-${{ matrix.runtime }}
enableCrossOsArchive: true

# Create a zip file for Windows distributions
- name: Create Zip File (win)
if: ${{ startsWith(matrix.runtime, 'win') }}
Expand Down Expand Up @@ -190,7 +185,7 @@ jobs:

code-sign:
needs: [build-neo-cli]
name: CodeSign & Publish (neo-cli) ${{ matrix.arch }}
name: CodeSign & Publish ${{ matrix.runtime }}
runs-on: macos-latest
strategy:
matrix:
Expand Down Expand Up @@ -265,6 +260,7 @@ jobs:

echo "Fetching list of cache key"
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH -L 100 | cut -f 1 )
echo $cacheKeysForPR

## Setting this to not fail the workflow while deleting cache keys.
set +e
Expand Down
2 changes: 1 addition & 1 deletion .neo/docker/neo-cli/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM debian:stable-slim

LABEL org.opencontainers.image.description "neo-cli -- full node, no plugins"
LABEL org.opencontainers.image.description "Neo N3 full node with All plugins."

# Install the apt-get packages
RUN apt-get update
Expand Down
5 changes: 4 additions & 1 deletion benchmarks/Neo.Benchmarks/Neo.Benchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,12 @@

<ItemGroup>
<PackageReference Include="System.IO.Hashing" Version="9.0.7" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.*" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\src\Neo\Neo.csproj" />
<ProjectReference Include="..\..\src\Plugins\LevelDBStore\LevelDBStore.csproj" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.*" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.15.*" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\src\Neo.Extensions\Neo.Extensions.csproj" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion benchmarks/Neo.Json.Benchmarks/Neo.Json.Benchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.*" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>

Expand Down
5 changes: 4 additions & 1 deletion benchmarks/Neo.VM.Benchmarks/Neo.VM.Benchmarks.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,14 @@
<Nullable>enable</Nullable>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.15.*" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\..\src\Neo.Extensions\Neo.Extensions.csproj" />
<ProjectReference Include="..\..\src\Neo.Json\Neo.Json.csproj" />
<ProjectReference Include="..\..\src\Neo.VM\Neo.VM.csproj" />
<PackageReference Include="BenchmarkDotNet" Version="0.15.2" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion src/Directory.Build.props
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
Expand Down Expand Up @@ -29,6 +28,7 @@
<AnalysisLevel>latest</AnalysisLevel>
<OutputPath>../../bin/$(PackageId)</OutputPath>
<OverwriteReadOnlyFiles>true</OverwriteReadOnlyFiles>
<BuildInParallel>false</BuildInParallel>
</PropertyGroup>

<ItemGroup>
Expand Down
49 changes: 34 additions & 15 deletions src/Neo.CLI/Neo.CLI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -16,33 +16,52 @@
</ItemGroup>

<ItemGroup>
<Content Include="neo.ico" />
</ItemGroup>

<ItemGroup>
<None Update="config*.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
<PackageReference Include="Akka" Version="1.5.46" />
<PackageReference Include="BouncyCastle.Cryptography" Version="2.6.2" />
<PackageReference Include="K4os.Compression.LZ4" Version="1.3.8" />
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
<PackageReference Include="System.CommandLine.NamingConventionBinder" Version="2.0.0-beta4.22272.1" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="8.13.0" />
<PackageReference Include="System.IO.Hashing" Version="9.0.7" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Neo.ConsoleService\Neo.ConsoleService.csproj" />
<ProjectReference Include="..\Neo.Extensions\Neo.Extensions.csproj" />
<ProjectReference Include="..\Neo\Neo.csproj" />
<ProjectReference Include="..\Plugins\LevelDBStore\LevelDBStore.csproj" />
<ProjectReference Include="..\Plugins\RocksDBStore\RocksDBStore.csproj" />
<ProjectReference Include="..\Neo.Json\Neo.Json.csproj" />
<ProjectReference Include="..\Neo.VM\Neo.VM.csproj" />
<ProjectReference Include="..\Neo.IO\Neo.IO.csproj" />
<ProjectReference Include="..\Neo.Cryptography.MPTTrie\Neo.Cryptography.MPTTrie.csproj" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
<PackageReference Include="System.CommandLine.NamingConventionBinder" Version="2.0.0-beta4.22272.1" />
<Content Include="neo.ico" />
</ItemGroup>

<Target Name="MoveLevelDbForBuild" BeforeTargets="PostBuildEvent">
<Move SourceFiles="$(OutputPath)/LevelDBStore.dll" DestinationFolder="$(OutDir)/Plugins/LevelDBStore" />
<Move SourceFiles="$(OutputPath)/RocksDBStore.dll" DestinationFolder="$(OutDir)/Plugins/RocksDBStore" />
<ItemGroup>
<None Update="config*.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</None>
</ItemGroup>

<Target Name="OnRunExecutable" BeforeTargets="PrepareForRun">
<ItemGroup>
<PluginFiles Include="$(MSBuildStartupDirectory)/bin/Plugins/**/*.*" />
</ItemGroup>

<Copy
SourceFiles="%(PluginFiles.Identity)"
DestinationFolder="$(OutDir)/Plugins/%(PluginFiles.RecursiveDir)"
OverwriteReadOnlyFiles="false"
ContinueOnError="true"
SkipUnchangedFiles="true" />

<Message
Condition=" '%(PluginFiles.Identity)' != '' "
Text="$(MSBuildProjectName) -> Copied '%(PluginFiles.FullPath)'"
Importance="high" />
</Target>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" />
<PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" PrivateAssets="all" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Neo.Extensions\Neo.Extensions.csproj" />
<ProjectReference Include="..\Neo.Extensions\Neo.Extensions.csproj" PrivateAssets="all" />
</ItemGroup>

</Project>
6 changes: 4 additions & 2 deletions src/Neo.Cryptography.MPTTrie/Neo.Cryptography.MPTTrie.csproj
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
Expand All @@ -8,7 +8,9 @@
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\Neo\Neo.csproj" />
<ProjectReference Include="..\Neo.Extensions\Neo.Extensions.csproj" PrivateAssets="all" />
<ProjectReference Include="..\Neo.IO\Neo.IO.csproj" PrivateAssets="all" />
<ProjectReference Include="..\Neo\Neo.csproj" PrivateAssets="all" />
</ItemGroup>

</Project>
Loading
Loading