diff --git a/.github/workflows/neoxp.yml b/.github/workflows/neoxp.yml
deleted file mode 100644
index 23ccdf6d..00000000
--- a/.github/workflows/neoxp.yml
+++ /dev/null
@@ -1,58 +0,0 @@
-name: Neo Express
-
-on:
- workflow_call:
-
-env:
- DOTNET_VERSION: '7.0.x'
-
-jobs:
- test:
- runs-on: ubuntu-latest
- steps:
- - name: Setup .NET
- uses: actions/setup-dotnet@v3
- with:
- dotnet-version: ${{ env.DOTNET_VERSION }}
-
- - name: Download Express
- uses: actions/download-artifact@v3
- with:
- name: packages
- path: ./out
-
- - name: Install Neo Express
- run: dotnet tool install --add-source ./out --verbosity normal --global --prerelease neo.express
-
- - name: Test Create Command
- run: neoxp create
-
- - name: Test Checkpoint Command (offline)
- run: neoxp checkpoint create checkpoints/init --force
-
- - name: Test Policy Command (offline)
- run: |
- neoxp policy get --rpc-uri mainnet --json > mainnet-policy.json
- neoxp policy sync mainnet-policy --account genesis
-
- - name: Test Wallet Command
- run: |
- neoxp wallet create bob
-
- - name: Test Transfer Command (offline)
- run: |
- neoxp transfer 10000 gas genesis node1
- neoxp transfer 10000 gas genesis bob
-
- - name: Test Run Command (online)
- timeout-minutes: 1
- run: neoxp run --seconds-per-block 3 --discard &
-
- - name: Test Transfer Command (online)
- run: |
- neoxp transfer 10000 gas genesis node1
- neoxp transfer 10000 gas genesis bob
-
- - name: Test Stop Command (online)
- run: neoxp stop --all
-
diff --git a/.github/workflows/pack.yml b/.github/workflows/pack.yml
index e6954a59..bdd507ac 100644
--- a/.github/workflows/pack.yml
+++ b/.github/workflows/pack.yml
@@ -1,4 +1,4 @@
-name: Run Pack
+name: Release (MyGet)
on:
workflow_call:
@@ -38,11 +38,42 @@ jobs:
run: |
dotnet format neo-express.sln --verify-no-changes --verbosity diagnostic
+ - name: Restore
+ run: dotnet restore neo-express.sln
+
+ - name: Build
+ run: dotnet build neo-express.sln --configuration ${{ env.CONFIGURATION }} --no-restore --verbosity normal --BinaryLogger:./msbuild.binlog
+
- name: Pack
- run: |
- dotnet restore neo-express.sln
- dotnet build neo-express.sln --configuration ${{ env.CONFIGURATION }} --no-restore --verbosity normal --BinaryLogger:./msbuild.binlog
- dotnet pack neo-express.sln --configuration ${{ env.CONFIGURATION }} --output ./out --no-build --verbosity normal
+ run: dotnet pack neo-express.sln --configuration ${{ env.CONFIGURATION }} --output ./out --no-build --verbosity normal
+
+ - name: Publish Package to MyGet (Neo.Assertions)
+ if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development')
+ run: dotnet nuget push ./out/Neo.Assertions.*.nupkg --source https://www.myget.org/F/neo/api/v3/index.json --api-key ${{ secrets.MYGET_TOKEN }}
+
+ - name: Publish Package to MyGet (Neo.BlockchainToolkit)
+ if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development')
+ run: dotnet nuget push ./out/Neo.BlockchainToolkit.*.nupkg --source https://www.myget.org/F/neo/api/v3/index.json --api-key ${{ secrets.MYGET_TOKEN }}
+
+ - name: Publish Package to MyGet (Neo.BuildTasks)
+ if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development')
+ run: dotnet nuget push ./out/Neo.BuildTasks.*.nupkg --source https://www.myget.org/F/neo/api/v3/index.json --api-key ${{ secrets.MYGET_TOKEN }}
+
+ - name: Publish Package to MyGet (Neo.Collector)
+ if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development')
+ run: dotnet nuget push ./out/Neo.Collector.*.nupkg --source https://www.myget.org/F/neo/api/v3/index.json --api-key ${{ secrets.MYGET_TOKEN }}
+
+ - name: Publish Package to MyGet (Neo.Express)
+ if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development')
+ run: dotnet nuget push ./out/Neo.Express.*.nupkg --source https://www.myget.org/F/neo/api/v3/index.json --api-key ${{ secrets.MYGET_TOKEN }}
+
+ - name: Publish Package to MyGet (Neo.Test.Harness)
+ if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development')
+ run: dotnet nuget push ./out/Neo.Test.Harness.*.nupkg --source https://www.myget.org/F/neo/api/v3/index.json --api-key ${{ secrets.MYGET_TOKEN }}
+
+ - name: Publish Package to MyGet (Neo.Test.Runner)
+ if: github.event_name == 'push' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development')
+ run: dotnet nuget push ./out/Neo.Test.Runner.*.nupkg --source https://www.myget.org/F/neo/api/v3/index.json --api-key ${{ secrets.MYGET_TOKEN }}
- name: Upload Build Log
if: always()
@@ -50,9 +81,3 @@ jobs:
with:
name: buildlog
path: ./msbuild.binlog
-
- - name: Upload NeoExpress
- uses: actions/upload-artifact@v3
- with:
- name: packages
- path: ./out/*.nupkg
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 3d1e6158..76d8583c 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -4,6 +4,7 @@ on:
pull_request:
branches:
- master
+ - development
- release/*
paths-ignore:
- '.gitignore'
@@ -12,10 +13,9 @@ on:
- '**/*.md'
jobs:
- pack:
- uses: ./.github/workflows/pack.yml
test:
uses: ./.github/workflows/test.yml
- neoxp:
- needs: [pack, test]
- uses: ./.github/workflows/neoxp.yml
+ pack:
+ name: pack
+ needs: [test]
+ uses: ./.github/workflows/pack.yml
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml
index 29ef13e7..1874ba2f 100644
--- a/.github/workflows/push.yml
+++ b/.github/workflows/push.yml
@@ -4,6 +4,7 @@ on:
push:
branches:
- master
+ - development
- release/*
paths-ignore:
- '.gitignore'
@@ -15,25 +16,10 @@ env:
DOTNET_VERSION: '7.0.x'
jobs:
- pack:
- uses: ./.github/workflows/pack.yml
test:
+ name: Test Application
uses: ./.github/workflows/test.yml
- publish:
- needs: [pack, test]
- runs-on: ubuntu-latest
-
- steps:
- - name: Setup .NET
- uses: actions/setup-dotnet@v3
- with:
- dotnet-version: ${{ env.DOTNET_VERSION }}
-
- - name: Download Express
- uses: actions/download-artifact@v3
- with:
- name: packages
- path: ./out
-
- - name: Publish to Azure Artifacts
- run: dotnet nuget push ./out/*.nupkg --source https://www.myget.org/F/neo/api/v3/index.json --api-key ${{ secrets.MYGET_TOKEN }}
+ pack:
+ name: MyGet Release
+ needs: [test]
+ uses: ./.github/workflows/pack.yml
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c35c51e9..a8490e57 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -5,10 +5,12 @@ on:
jobs:
standalone:
+ name: Standalone Build
if: startsWith(github.ref, 'refs/heads/release/')
uses: ./.github/workflows/standalone.yml
build:
+ name: Standalone Pack/Release/Publish
if: startsWith(github.ref, 'refs/heads/release/')
needs: [standalone]
runs-on: ubuntu-latest
@@ -31,31 +33,7 @@ jobs:
run: dotnet restore neo-express.sln
- name: Pack NeoExpress
- run: dotnet pack src/neoxp --output ./dist --configuration Release --no-restore --verbosity normal
-
- - name: Pack NeoTrace
- run: dotnet pack src/trace --output ./dist --configuration Release --no-restore --verbosity normal
-
- - name: Pack NeoWorkNet
- run: dotnet pack src/worknet --output ./dist --configuration Release --no-restore --verbosity normal
-
- - name: Pack BlockchainToolkitLibrary
- run: dotnet pack src/bctklib --output ./dist --configuration Release --no-restore --verbosity normal
-
- - name: Pack NeoAssertions
- run: dotnet pack src/assertions --output ./dist --configuration Release --no-restore --verbosity normal
-
- - name: Pack NeoBuildTasks
- run: dotnet pack src/build-tasks --output ./dist --configuration Release --no-restore --verbosity normal
-
- - name: Pack NeoCollector
- run: dotnet pack src/collector --output ./dist --configuration Release --no-restore --verbosity normal
-
- - name: Pack NeoTestRunner
- run: dotnet pack src/runner --output ./dist --configuration Release --no-restore --verbosity normal
-
- - name: Pack NeoTestHarness
- run: dotnet pack src/test-harness --output ./dist --configuration Release --no-restore --verbosity normal
+ run: dotnet pack neo-express.sln --output ./dist --configuration Release --no-restore --verbosity normal
- name: Download Express Files (Standalone)
uses: actions/download-artifact@v3
diff --git a/.github/workflows/standalone.yml b/.github/workflows/standalone.yml
index d0e03c7d..21d7c4df 100644
--- a/.github/workflows/standalone.yml
+++ b/.github/workflows/standalone.yml
@@ -1,4 +1,4 @@
-name: Run Standalone / Build / Pack
+name: Standalone Build
on:
workflow_call:
@@ -12,6 +12,7 @@ env:
jobs:
osx-pack:
+ name: MacOS x64/arm64
runs-on: macos-latest
steps:
@@ -109,6 +110,7 @@ jobs:
${{ env.UNIX_DIST_DIR }}/*
linux-pack:
+ name: Linux x64/arm64
runs-on: ubuntu-latest
steps:
- name: Checkout Code
@@ -236,6 +238,7 @@ jobs:
${{ env.UNIX_DIST_DIR }}/*
win-pack:
+ name: Windows x64/arm64
runs-on: windows-latest
steps:
- name: Checkout Code
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index d92e6c2c..e9e2489f 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -25,17 +25,20 @@ jobs:
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- - name: Install RocksDB Dependencies
- if: ${{ runner.os == 'Linux'}}
- run: |
- sudo apt-get update
- sudo apt-get install libsnappy-dev libc6-dev librocksdb-dev -y
+ # - name: Install RocksDB Dependencies
+ # if: ${{ runner.os == 'Linux'}}
+ # run: |
+ # sudo apt-get update
+ # sudo apt-get install libsnappy-dev libc6-dev librocksdb-dev -y
- - name: Build and Test
- run: |
- dotnet restore neo-express.sln
- dotnet build neo-express.sln --configuration ${{ env.CONFIGURATION }} --no-restore --verbosity normal --BinaryLogger:./msbuild.${{ matrix.os }}.binlog
- dotnet test neo-express.sln --configuration ${{ env.CONFIGURATION }} --no-build --verbosity normal --collect:"XPlat Code Coverage"
+ - name: Restore
+ run: dotnet restore neo-express.sln
+
+ - name: Build
+ run: dotnet build neo-express.sln --configuration ${{ env.CONFIGURATION }} --no-restore --verbosity normal --BinaryLogger:./msbuild.${{ matrix.os }}.binlog
+
+ - name: Test
+ run: dotnet test neo-express.sln --configuration ${{ env.CONFIGURATION }} --no-build --verbosity normal --collect:"XPlat Code Coverage"
- name: Upload Coverage
uses: actions/upload-artifact@v3
@@ -49,8 +52,47 @@ jobs:
name: buildlog
path: ./msbuild.${{ matrix.os }}.binlog
+ - name: Pack for Install
+ run: dotnet pack neo-express.sln --configuration ${{ env.CONFIGURATION }} --output ./out --no-build --verbosity normal
+
+ - name: Install neoxp tool
+ run: dotnet tool install --add-source ./out --verbosity normal --global --prerelease neo.express
+
+ - name: Test Create Command (neoxp)
+ run: neoxp create
+
+ - name: Test Checkpoint Command (offline) (neoxp)
+ run: neoxp checkpoint create checkpoints/init --force
+
+ - name: Test Policy Command (offline) (neoxp)
+ run: |
+ neoxp policy get --rpc-uri mainnet --json > mainnet-policy.json
+ neoxp policy sync mainnet-policy --account genesis
+
+ - name: Test Wallet Command (neoxp)
+ run: |
+ neoxp wallet create bob
+
+ - name: Test Transfer Command (offline) (neoxp)
+ run: |
+ neoxp transfer 10000 gas genesis node1
+ neoxp transfer 10000 gas genesis bob
+
+ - name: Test Run Command (online) (neoxp)
+ timeout-minutes: 1
+ run: neoxp run --seconds-per-block 3 --discard &
+
+ - name: Test Transfer Command (online) (neoxp)
+ run: |
+ neoxp transfer 10000 gas genesis node1
+ neoxp transfer 10000 gas genesis bob
+
+ - name: Test Stop Command (online) (neoxp)
+ run: neoxp stop --all
+
report:
- needs: build
+ name: Build Coverage (Report)
+ needs: [build]
runs-on: ubuntu-latest
steps:
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 6843a7be..ecab1726 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -4,6 +4,7 @@
The Neo Project
The Neo Project
2015-2023 The Neo Project
+ net7.0
enable
10
enable
@@ -13,8 +14,9 @@
Neo;Blockchain;Smart Contract
git
https://github.com/neo-project/neo-express.git
+ true
snupkg
- net7.0
+ ../neo-cli.ico
3.6.2
diff --git a/src/assertions/assertions.csproj b/src/assertions/assertions.csproj
index 48a4ac76..9054a9e8 100644
--- a/src/assertions/assertions.csproj
+++ b/src/assertions/assertions.csproj
@@ -7,8 +7,6 @@
Neo.Assertions
true
Embedded
- true
- snupkg
diff --git a/src/bctklib/bctklib.csproj b/src/bctklib/bctklib.csproj
index a3c98adb..a0fbb085 100644
--- a/src/bctklib/bctklib.csproj
+++ b/src/bctklib/bctklib.csproj
@@ -1,11 +1,10 @@
true
- Embedded
true
- true
+ Neo.BlockchainToolkit
Neo.BlockchainToolkit
- snupkg
+ Embedded
diff --git a/src/collector/collector.csproj b/src/collector/collector.csproj
index 518447f2..dac448a9 100644
--- a/src/collector/collector.csproj
+++ b/src/collector/collector.csproj
@@ -11,8 +11,6 @@
netstandard2.0;net472
true
Embedded
- true
- snupkg
diff --git a/src/neo-cli.ico b/src/neo-cli.ico
new file mode 100644
index 00000000..403aa7f3
Binary files /dev/null and b/src/neo-cli.ico differ
diff --git a/src/test-harness/test-harness.csproj b/src/test-harness/test-harness.csproj
index 995f160d..8640afad 100644
--- a/src/test-harness/test-harness.csproj
+++ b/src/test-harness/test-harness.csproj
@@ -6,8 +6,6 @@
NeoTestHarness
true
Embedded
- true
- snupkg