From b6473c878f22f85db73e31649b304f7ab18f6182 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 27 Jun 2026 15:50:27 +0300 Subject: [PATCH 1/8] OS2, dotnet8 --- NUnitTests/NUnitTests.csproj | 10 +++---- TestApp/Program.cs | 1 - TestApp/TestApp.csproj | 8 ++--- TestApp/packages.config | 7 ----- appveyor.yml | 28 ++++++++---------- .../Components/net4}/1script_v8unpack.dll | Bin oslib/packagedef | 2 +- v8unpack/v8unpack.csproj | 8 ++--- 8 files changed, 27 insertions(+), 37 deletions(-) delete mode 100644 TestApp/packages.config rename {assets => oslib/Components/net4}/1script_v8unpack.dll (100%) diff --git a/NUnitTests/NUnitTests.csproj b/NUnitTests/NUnitTests.csproj index fd1f0f5..7c7de39 100644 --- a/NUnitTests/NUnitTests.csproj +++ b/NUnitTests/NUnitTests.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 false @@ -11,10 +11,10 @@ - - - - + + + + diff --git a/TestApp/Program.cs b/TestApp/Program.cs index 00d46f0..4776edb 100644 --- a/TestApp/Program.cs +++ b/TestApp/Program.cs @@ -7,7 +7,6 @@ This Source Code Form is subject to the terms of the using System; using OneScript.StandardLibrary; using ScriptEngine.HostedScript; -using ScriptEngine.HostedScript.Library; using ScriptEngine.Hosting; namespace TestApp diff --git a/TestApp/TestApp.csproj b/TestApp/TestApp.csproj index 661e4fd..7488551 100644 --- a/TestApp/TestApp.csproj +++ b/TestApp/TestApp.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 v8unpack 2.0.0 2.0.0 @@ -10,9 +10,9 @@ - - - + + + diff --git a/TestApp/packages.config b/TestApp/packages.config deleted file mode 100644 index b556ff6..0000000 --- a/TestApp/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/appveyor.yml b/appveyor.yml index 9dda0bf..0e4eff4 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,7 +1,9 @@ -version: 1.0.8-{build} +version: 1.0.9-{build} image: Visual Studio 2022 environment: main_project: v8unpack + os1_link: https://oscript.io/downloads/1_9_4/x64/OneScript-1.9.4-x64.zip + os2_link: https://oscript.io/downloads/latest/OneScript-2.1.0-fdd-x64.zip before_build: - ps: nuget restore init: @@ -15,7 +17,7 @@ install: cd os2 - appveyor DownloadFile https://oscript.io/downloads/preview/OneScript-2.0.0-rc.10-fdd-x64.zip -FileName fdd.zip + appveyor DownloadFile %os2_link% -FileName fdd.zip 7z x fdd.zip > NUL @@ -30,9 +32,9 @@ install: cd os1 - appveyor DownloadFile https://oscript.io/downloads/latest/zip -FileName latest.zip + appveyor DownloadFile %os1_link% -FileName os1.zip - 7z x latest.zip > NUL + 7z x os1.zip > NUL bin\oscript.exe -version @@ -50,7 +52,7 @@ build: verbosity: minimal configuration: Release test_script: -- cmd: nunit3-console NUnitTests\bin\%CONFIGURATION%\net6.0\NUnitTests.dll --result=myresults.xml;format=AppVeyor +- cmd: nunit3-console NUnitTests\bin\%CONFIGURATION%\net8.0\NUnitTests.dll --result=myresults.xml;format=AppVeyor - cmd: >- set OSLIB_LOADER_TRACE=1 @@ -64,21 +66,17 @@ test_script: after_build: - cmd: >- - del %main_project%\bin\%CONFIGURATION%\net6.0\*.pdb + del %main_project%\bin\%CONFIGURATION%\net8.0\*.pdb - mkdir oslib\Components - mkdir oslib\Components\dotnet - - mkdir oslib\Components\net4 - OneScriptDocumenter.exe json oslib\Components\dotnet\syntaxHelp.json %main_project%\bin\%CONFIGURATION%\net6.0\1script_%main_project%.dll + OneScriptDocumenter.exe json oslib\Components\dotnet\syntaxHelp.json %main_project%\bin\%CONFIGURATION%\net8.0\1script_%main_project%.dll - del %main_project%\bin\%CONFIGURATION%\ScriptEngine*.* %main_project%\bin\%CONFIGURATION%\net6.0\NewtonSoft*.* %main_project%\bin\%CONFIGURATION%\net6.0\DotNetZip*.* + del %main_project%\bin\%CONFIGURATION%\ScriptEngine*.* %main_project%\bin\%CONFIGURATION%\net8.0\NewtonSoft*.* %main_project%\bin\%CONFIGURATION%\net8.0\DotNetZip*.* - xcopy %main_project%\bin\%CONFIGURATION%\net6.0\* oslib\Components\dotnet\ + xcopy %main_project%\bin\%CONFIGURATION%\net8.0\* oslib\Components\dotnet\ - xcopy assets\1script_v8unpack.dll oslib\Components\net4\ + xcopy README.md oslib\ cd oslib @@ -94,4 +92,4 @@ artifacts: - path: oslib\*.ospx name: v8unpack - path: oslib\Components\dotnet\*.dll - name: components + name: components \ No newline at end of file diff --git a/assets/1script_v8unpack.dll b/oslib/Components/net4/1script_v8unpack.dll similarity index 100% rename from assets/1script_v8unpack.dll rename to oslib/Components/net4/1script_v8unpack.dll diff --git a/oslib/packagedef b/oslib/packagedef index b71e81d..60f9548 100644 --- a/oslib/packagedef +++ b/oslib/packagedef @@ -1,6 +1,6 @@ Описание .Имя("v8unpack") - .Версия("1.0.8") + .Версия("1.0.9") .Автор("Sergey Batanov") .АдресАвтора("sergey.batanov@dmpas.ru") .Описание("Компонента работы с файлами формата 8") diff --git a/v8unpack/v8unpack.csproj b/v8unpack/v8unpack.csproj index 7a83e70..2e6a079 100644 --- a/v8unpack/v8unpack.csproj +++ b/v8unpack/v8unpack.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 v8unpack 2.0.0 2.0.0 @@ -11,9 +11,9 @@ - - - + + + \ No newline at end of file From 4c763873187e9257de254459b56255444065f049 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 27 Jun 2026 16:04:01 +0300 Subject: [PATCH 2/8] GA CI --- .github/workflows/ci.yml | 115 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..fd3e30c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,115 @@ +name: CI + +on: + push: + branches: [master, develop] + pull_request: + branches: [master, develop] + workflow_dispatch: + +env: + MAIN_PROJECT: v8unpack + CONFIGURATION: Release + OS1_LINK: https://oscript.io/downloads/1_9_4/x64/OneScript-1.9.4-x64.zip + OS2_LINK: https://oscript.io/downloads/latest/OneScript-2.1.0-fdd-x64.zip + +jobs: + build: + runs-on: windows-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup UTF-8 locale + shell: pwsh + run: | + reg add "HKLM\Software\Microsoft\Command Processor" /v Autorun /t REG_SZ /d "chcp 65001>nul" /f + Set-WinSystemLocale -SystemLocale ru-RU -ErrorAction SilentlyContinue + chcp 65001 + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + + - name: Install OneScript 2.x + shell: cmd + run: | + mkdir os2 + cd os2 + curl -L -o fdd.zip %OS2_LINK% + 7z x fdd.zip -y > NUL + bin\oscript.bat -version + bin\oscript.bat lib\opm\src\cmd\opm.os install opm + cd .. + + - name: Install OneScript 1.x + shell: cmd + run: | + mkdir os1 + cd os1 + curl -L -o os1.zip %OS1_LINK% + 7z x os1.zip -y > NUL + bin\oscript.exe -version + bin\oscript.exe lib\opm\src\cmd\opm.os install opm + cd .. + + - name: Download OneScriptDocumenter + shell: cmd + run: | + curl -L -o OneScriptDocumenter.zip https://github.com/dmpas/OneScriptDocumenter/releases/download/1.0.13/documenter.zip + 7z x OneScriptDocumenter.zip -y > NUL + + - name: Restore + run: dotnet restore oscript-v8unpack.sln + + - name: Build + run: dotnet build oscript-v8unpack.sln -c ${{ env.CONFIGURATION }} --no-restore + + - name: Test (NUnit) + run: dotnet test NUnitTests/NUnitTests.csproj -c ${{ env.CONFIGURATION }} --no-build --verbosity normal + + - name: Test (OneScript 2.x) + shell: cmd + run: | + set OSLIB_LOADER_TRACE=1 + os2\bin\oscript.bat testcomponent.os + + - name: Test (OneScript 1.x) + shell: cmd + run: | + set OSLIB_LOADER_TRACE=1 + os1\bin\oscript.exe testcomponent.os + + - name: Package + shell: cmd + run: | + del %MAIN_PROJECT%\bin\%CONFIGURATION%\net8.0\*.pdb + + mkdir oslib\Components\dotnet + + OneScriptDocumenter.exe json oslib\Components\dotnet\syntaxHelp.json %MAIN_PROJECT%\bin\%CONFIGURATION%\net8.0\1script_%MAIN_PROJECT%.dll + + del %MAIN_PROJECT%\bin\%CONFIGURATION%\ScriptEngine*.* %MAIN_PROJECT%\bin\%CONFIGURATION%\net8.0\NewtonSoft*.* %MAIN_PROJECT%\bin\%CONFIGURATION%\net8.0\DotNetZip*.* + + xcopy %MAIN_PROJECT%\bin\%CONFIGURATION%\net8.0\* oslib\Components\dotnet\ /Y + xcopy README.md oslib\ /Y + + cd oslib + ..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os build . + for %%X in (*.ospx) do (..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os install -f %%X) + for %%X in (*.ospx) do (..\os1\bin\oscript.exe ..\os1\lib\opm\src\cmd\opm.os install -f %%X) + cd .. + + - name: Upload ospx artifact + uses: actions/upload-artifact@v4 + with: + name: v8unpack + path: oslib/*.ospx + + - name: Upload components artifact + uses: actions/upload-artifact@v4 + with: + name: components + path: oslib/Components/dotnet/*.dll From dfcfb74f2f931fe383212101537c0753a37da3b8 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 27 Jun 2026 16:54:23 +0300 Subject: [PATCH 3/8] =?UTF-8?q?GA:=20=D0=9F=D0=BE=D1=80=D1=8F=D0=B4=D0=BE?= =?UTF-8?q?=D0=BA=20=D1=88=D0=B0=D0=B3=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd3e30c..60b854f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,18 +70,6 @@ jobs: - name: Test (NUnit) run: dotnet test NUnitTests/NUnitTests.csproj -c ${{ env.CONFIGURATION }} --no-build --verbosity normal - - name: Test (OneScript 2.x) - shell: cmd - run: | - set OSLIB_LOADER_TRACE=1 - os2\bin\oscript.bat testcomponent.os - - - name: Test (OneScript 1.x) - shell: cmd - run: | - set OSLIB_LOADER_TRACE=1 - os1\bin\oscript.exe testcomponent.os - - name: Package shell: cmd run: | @@ -98,10 +86,28 @@ jobs: cd oslib ..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os build . + cd .. + + - name: InstallLocal + shell: cmd + run: | + cd oslib for %%X in (*.ospx) do (..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os install -f %%X) for %%X in (*.ospx) do (..\os1\bin\oscript.exe ..\os1\lib\opm\src\cmd\opm.os install -f %%X) cd .. + - name: Test (OneScript 2.x) + shell: cmd + run: | + set OSLIB_LOADER_TRACE=1 + os2\bin\oscript.bat testcomponent.os + + - name: Test (OneScript 1.x) + shell: cmd + run: | + set OSLIB_LOADER_TRACE=1 + os1\bin\oscript.exe testcomponent.os + - name: Upload ospx artifact uses: actions/upload-artifact@v4 with: From 1a2aa01a16d9ef2ba0b6a797478101dd31bb3cf7 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 27 Jun 2026 18:34:26 +0300 Subject: [PATCH 4/8] =?UTF-8?q?GA:=20InstallLocal=20=D1=80=D0=B0=D0=B7?= =?UTF-8?q?=D0=BD=D0=B5=D1=81=D0=B5=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60b854f..7e5f636 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,6 +42,7 @@ jobs: 7z x fdd.zip -y > NUL bin\oscript.bat -version bin\oscript.bat lib\opm\src\cmd\opm.os install opm + bin\oscript.bat lib\opm\src\cmd\opm.os list cd .. - name: Install OneScript 1.x @@ -53,6 +54,7 @@ jobs: 7z x os1.zip -y > NUL bin\oscript.exe -version bin\oscript.exe lib\opm\src\cmd\opm.os install opm + bin\oscript.exe lib\opm\src\cmd\opm.os list cd .. - name: Download OneScriptDocumenter @@ -88,23 +90,21 @@ jobs: ..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os build . cd .. - - name: InstallLocal + - name: Test (OneScript 2.x) shell: cmd run: | cd oslib for %%X in (*.ospx) do (..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os install -f %%X) - for %%X in (*.ospx) do (..\os1\bin\oscript.exe ..\os1\lib\opm\src\cmd\opm.os install -f %%X) cd .. - - - name: Test (OneScript 2.x) - shell: cmd - run: | set OSLIB_LOADER_TRACE=1 os2\bin\oscript.bat testcomponent.os - name: Test (OneScript 1.x) shell: cmd run: | + cd oslib + for %%X in (*.ospx) do (..\os1\bin\oscript.exe ..\os1\lib\opm\src\cmd\opm.os install -f %%X) + cd .. set OSLIB_LOADER_TRACE=1 os1\bin\oscript.exe testcomponent.os From 233c1f9d63bab0dad7c8f4fad7148e58c16b4e95 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 27 Jun 2026 18:38:39 +0300 Subject: [PATCH 5/8] GA: call bat --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7e5f636..0d65e5f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,9 +40,9 @@ jobs: cd os2 curl -L -o fdd.zip %OS2_LINK% 7z x fdd.zip -y > NUL - bin\oscript.bat -version - bin\oscript.bat lib\opm\src\cmd\opm.os install opm - bin\oscript.bat lib\opm\src\cmd\opm.os list + call bin\oscript.bat -version + call bin\oscript.bat lib\opm\src\cmd\opm.os install opm + call bin\oscript.bat lib\opm\src\cmd\opm.os list cd .. - name: Install OneScript 1.x @@ -87,17 +87,17 @@ jobs: xcopy README.md oslib\ /Y cd oslib - ..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os build . + call ..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os build . cd .. - name: Test (OneScript 2.x) shell: cmd run: | cd oslib - for %%X in (*.ospx) do (..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os install -f %%X) + for %%X in (*.ospx) do (call ..\os2\bin\oscript.bat ..\os2\lib\opm\src\cmd\opm.os install -f %%X) cd .. set OSLIB_LOADER_TRACE=1 - os2\bin\oscript.bat testcomponent.os + call os2\bin\oscript.bat testcomponent.os - name: Test (OneScript 1.x) shell: cmd From e3777fba725f7db9716e1206e9b925e558afac80 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 27 Jun 2026 18:45:12 +0300 Subject: [PATCH 6/8] GA: archive false --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d65e5f..0503ff8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,6 +113,7 @@ jobs: with: name: v8unpack path: oslib/*.ospx + archive: false - name: Upload components artifact uses: actions/upload-artifact@v4 From 856ac640499476be307696982fae48a1b6fa0713 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 27 Jun 2026 18:50:05 +0300 Subject: [PATCH 7/8] =?UTF-8?q?GA:=20=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0=D1=86=D0=B8=D1=8F=20=D1=80=D0=B5=D0=BB=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0503ff8..0f29e3a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,10 +3,14 @@ name: CI on: push: branches: [master, develop] + tags: ['v*'] pull_request: branches: [master, develop] workflow_dispatch: +permissions: + contents: write + env: MAIN_PROJECT: v8unpack CONFIGURATION: Release @@ -120,3 +124,10 @@ jobs: with: name: components path: oslib/Components/dotnet/*.dll + + - name: Publish GitHub Release + if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v2 + with: + files: oslib/*.ospx + generate_release_notes: true From f07bddc1c2f34c10ffdf2c059e2612924629ad23 Mon Sep 17 00:00:00 2001 From: Sergey Batanov Date: Sat, 27 Jun 2026 18:54:37 +0300 Subject: [PATCH 8/8] GA: v4->v7 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0f29e3a..ec31167 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -113,14 +113,14 @@ jobs: os1\bin\oscript.exe testcomponent.os - name: Upload ospx artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: v8unpack path: oslib/*.ospx archive: false - name: Upload components artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: components path: oslib/Components/dotnet/*.dll