Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/testcase enhancement #119

Merged
merged 144 commits into from
Jun 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
144 commits
Select commit Hold shift + click to select a range
5d08952
Added System.Attribute.
kekyo May 14, 2022
4e9b436
Switched ILCompose instead ILSupport script.
kekyo May 15, 2022
6decbbf
Fixed duplicating symbol names around local variables.
kekyo May 16, 2022
a917cf2
Refactored.
kekyo May 16, 2022
4994180
Updated package.
kekyo May 18, 2022
e4b8c50
Implemented NUnit attribute extension.
kekyo May 18, 2022
a99fd5c
Updated BasicTypes project.
kekyo May 18, 2022
7b80692
Updated ILConverter [a-c].
kekyo May 18, 2022
d271f1b
Changed building with restore option in first il2c.sln.
kekyo May 19, 2022
e059410
Changed building with restore option in first il2c.sln.
kekyo May 19, 2022
2782904
Updated ILConverter [d-l].
kekyo May 19, 2022
34a6957
Updated ILConverter [m-z].
kekyo May 21, 2022
31a363b
Updated RuntimeSystems [a-e].
kekyo May 21, 2022
01fa5bf
Updated RuntimeSystems [f-z].
kekyo May 22, 2022
be482a0
Added netstandard and _Attribute interface runtime impls.
kekyo May 25, 2022
98ea27a
Added supporting reference base paths.
kekyo May 25, 2022
b06816d
WIP
kekyo May 25, 2022
40c2571
WIP
kekyo May 25, 2022
b749463
WIP
kekyo May 26, 2022
c6ddec9
Fixed causing undefined symbol for older COM interfaces.
kekyo May 27, 2022
08236a3
Fixed causing unnamed argument with produced empty string name.
kekyo May 27, 2022
3400c23
Added on-the-fly building script at ILConverter test.
kekyo May 27, 2022
412536c
Fixed that generated native executables even though not specified.
kekyo May 28, 2022
2cbb6f1
Fix for #105, stop endless loop, fix static constructor handling #97,…
cyborgyn Oct 13, 2021
27bda5c
Refactored.
kekyo May 28, 2022
c0d728f
Added comment headers around type initializer fragments.
kekyo May 28, 2022
b91ec09
Implemented enable parallelism option.
kekyo May 28, 2022
789a2f6
WIP
kekyo May 28, 2022
e01d8bf
Fixed for using OutputType property on mingw toolchain.
kekyo May 28, 2022
de1618e
Implemented P/Invoke with dynamic loader.
kekyo May 29, 2022
2b9d49f
Added more standard assembly referencing headers.
kekyo May 29, 2022
4091d88
Fixed once macro name.
kekyo May 29, 2022
0d86b0e
Adjusted tfms and configurations.
kekyo May 29, 2022
108e863
Avoid building on background translation by VS intellisense engine.
kekyo May 29, 2022
7762257
Fixed calculation for directory path string.
kekyo May 29, 2022
0e3657a
Improving TestsCase attribute (WIP)
kekyo May 28, 2022
1134f1f
Updated package.
kekyo May 29, 2022
f05737a
Improved execution stability for GC test.
kekyo May 29, 2022
32f7e0a
Fixed SOE on TestCastAttribute property.
kekyo May 29, 2022
8c86027
Updated package.
kekyo Jun 1, 2022
e462568
Updated package.
kekyo Jun 2, 2022
cdd68ca
Fixed float64 string precision format.
kekyo Jun 2, 2022
3ef1472
Fixed using on arguments int32 instead IntPtr.
kekyo Jun 2, 2022
6c1676e
Fixed float32 string precision format.
kekyo Jun 2, 2022
2799471
Fixed using on arguments uint32 instead UIntPtr.
kekyo Jun 2, 2022
b1a2d7a
Fixed perfect match instead ignore rule.
kekyo Jun 2, 2022
b19bc58
Fixed perfect match instead ignore rule.
kekyo Jun 2, 2022
2fe58df
Fixed using on arguments int32 instead IntPtr.
kekyo Jun 2, 2022
3b2fbb5
Ignored asserting exception message.
kekyo Jun 2, 2022
398384f
Fixed method naming typo.
kekyo Jun 2, 2022
72d9eb2
Fixed using int32 instead native ints.
kekyo Jun 2, 2022
95c79b0
Fixed perfect match instead ignore rule.
kekyo Jun 2, 2022
e99528f
Applied unicode flag.
kekyo Jun 2, 2022
cb32c28
Updated nuget
kekyo Jun 5, 2022
d23f681
Fixed failure test with undefined ECall symbol on CoreCLR.
kekyo Jun 5, 2022
83f3a1c
Fixed add opcode tests with IntPtr type.
kekyo Jun 5, 2022
5f65884
Fixed and opcode tests with IntPtr type.
kekyo Jun 5, 2022
0e94e54
Fixed box opcode tests with explicitly type casting.
kekyo Jun 5, 2022
ee4a466
Fixed box opcode tests with explicitly type casting.
kekyo Jun 5, 2022
51f3b9d
Fixed box opcode tests with explicitly type casting.
kekyo Jun 5, 2022
4a0d546
Fixed box opcode tests with explicitly type casting.
kekyo Jun 5, 2022
7cbca3b
Ignored break opcode in CoreCLR execution.
kekyo Jun 5, 2022
ad3a860
Fixed brfalse opcode tests with IntPtr type.
kekyo Jun 5, 2022
672e2b2
Fixed brfalse.s opcode tests with IntPtr type.
kekyo Jun 5, 2022
4b11f5c
Fixed failure for exception message assertion when environment isn't …
kekyo Jun 6, 2022
a768abe
Fixed brtrue opcode tests with IntPtr type.
kekyo Jun 6, 2022
a8ec1d4
Fixed brtrue.s opcode tests with IntPtr type.
kekyo Jun 6, 2022
df7f349
Fixed conv.i opcode tests with IntPtr type.
kekyo Jun 6, 2022
faa6396
Fixed conv.i1 opcode tests with IntPtr type.
kekyo Jun 6, 2022
dc88a16
Fixed conv.i2 opcode tests with IntPtr type.
kekyo Jun 6, 2022
e88d972
Fixed conv.i4 opcode tests with IntPtr type.
kekyo Jun 6, 2022
e997dcc
Fixed conv.i8 opcode tests with IntPtr type.
kekyo Jun 6, 2022
e87924b
Fixed conv.r4 opcode tests with IntPtr type.
kekyo Jun 6, 2022
e5520e2
Fixed conv.r8 opcode tests with IntPtr type.
kekyo Jun 6, 2022
2f9c071
Fixed conv.u opcode tests with IntPtr type.
kekyo Jun 6, 2022
bc0633f
Fixed conv.u1 opcode tests with IntPtr type.
kekyo Jun 6, 2022
89defd0
Fixed conv.u2 opcode tests with IntPtr type.
kekyo Jun 6, 2022
0280185
Fixed conv.u4 opcode tests with IntPtr type.
kekyo Jun 6, 2022
79f0a21
Fixed conv.u8 opcode tests with IntPtr type.
kekyo Jun 6, 2022
c7581ea
Fixed div opcode tests with IntPtr type.
kekyo Jun 6, 2022
507e136
Fixed perfect match instead ignore rule.
kekyo Jun 6, 2022
a9d8bee
Fixed ldarg opcode tests with IntPtr type.
kekyo Jun 7, 2022
76e465e
Fixed ldarg.0 opcode tests with IntPtr type.
kekyo Jun 7, 2022
46dac9f
Fixed ldarg.1 opcode tests with IntPtr type.
kekyo Jun 7, 2022
2340a08
Fixed IntPtr.Size type is int32_t instead size_t.
kekyo Jun 7, 2022
d7d7594
Fixed ldarg.2 opcode tests with IntPtr type.
kekyo Jun 7, 2022
ad71a1d
Fixed ldarg.3 opcode tests with IntPtr type.
kekyo Jun 7, 2022
37a68d7
Fixed ldarg.s opcode tests with IntPtr type.
kekyo Jun 7, 2022
c85a67e
Fixed ldarga.s opcode tests with IntPtr type.
kekyo Jun 7, 2022
977320f
Fixed ldloc.0 opcode tests with IntPtr type.
kekyo Jun 7, 2022
7c20c38
Fixed ldloc.1 opcode tests with IntPtr type.
kekyo Jun 7, 2022
9f668c9
Fixed ldloc.2 opcode tests with IntPtr type.
kekyo Jun 7, 2022
a6b1bcc
Fixed ldloc.3 opcode tests with IntPtr type.
kekyo Jun 7, 2022
565db4c
Fixed ldloc.s opcode tests with IntPtr type.
kekyo Jun 7, 2022
9f9c4ac
Fixed ldloca.s test contains depending fxclr's poor floating point pr…
kekyo Jun 7, 2022
edd87a1
Fixed ldnull opcode tests with IntPtr type.
kekyo Jun 7, 2022
6972b5d
Fixed ldsfld opcode tests with IntPtr type.
kekyo Jun 7, 2022
a64fa69
Fixed ldsflda opcode tests with IntPtr type.
kekyo Jun 7, 2022
73d5667
Fixed ret opcode lacks test case and flags.
kekyo Jun 7, 2022
581f70f
Fixed stsfld opcode tests with IntPtr type.
kekyo Jun 7, 2022
d0c53c6
Fixed stloc.0 opcode tests with IntPtr type.
kekyo Jun 7, 2022
7c59c58
Fixed stloc.1 opcode tests with IntPtr type.
kekyo Jun 7, 2022
160445e
Fixed stloc.2 opcode tests with IntPtr type.
kekyo Jun 7, 2022
2442a6f
Fixed stloc.3 opcode tests with IntPtr type.
kekyo Jun 7, 2022
0b1b207
Fixed stloc.s opcode tests with IntPtr type.
kekyo Jun 7, 2022
ae9eecb
Fixed mul opcode tests with IntPtr type.
kekyo Jun 8, 2022
4af2bf4
Fixed or opcode tests with IntPtr type.
kekyo Jun 8, 2022
04d13e3
Fixed rem opcode tests with IntPtr type.
kekyo Jun 8, 2022
e01387b
Fixed sub opcode tests with IntPtr type.
kekyo Jun 8, 2022
540d46f
Fixed xor opcode tests with IntPtr type.
kekyo Jun 8, 2022
4d8588e
Fixed invalid function pointer conversion.
kekyo Jun 8, 2022
d661546
Fixed unreachable code.
kekyo Jun 8, 2022
6d4a30d
Fixed noreturn with returning a pointer.
kekyo Jun 8, 2022
2769c3d
Fixed noreturn with returning a pointer.
kekyo Jun 8, 2022
5e16657
Updated package.
kekyo Jun 9, 2022
b438c98
Disabled warning unreachable code, because compiler depended.
kekyo Jun 9, 2022
aa8d630
Fixed lack of cecil assemblies on netcoreapp2.2.
kekyo Jun 9, 2022
98cef54
GA scripting test.
kekyo Jun 9, 2022
39b3b67
Fixed using alias opcode.
kekyo Jun 9, 2022
3b41b89
Updated package.
kekyo Jun 10, 2022
ff6afaf
Upgraded sample Calculator solution to VS2022
kekyo Jun 10, 2022
adb3b75
Changed P/Invoke dll name ansi instead utf16.
kekyo Jun 10, 2022
3d2b1e4
Adjusted GA script.
kekyo Jun 10, 2022
0678645
Adjusted GA script.
kekyo Jun 10, 2022
a0ecbc8
Adjusted GA script.
kekyo Jun 10, 2022
d76c407
Omitted net48 test on linux, because will fail some test on mono envi…
kekyo Jun 10, 2022
8168ef3
Fixed application for P/Invoke with charset.
kekyo Jun 10, 2022
0eb2f4a
Reverted omitting net48 on linux and excludes only failure test.
kekyo Jun 11, 2022
6d8f6da
Added flexible testing target flags.
kekyo Jun 11, 2022
8ee17e4
Added testing for except on mono.
kekyo Jun 11, 2022
21bf90a
Fixed ignoring on both platform when set RunOnPlatform.
kekyo Jun 11, 2022
54c195d
Fixed ignoring on both platform when set RunOnPlatform.
kekyo Jun 11, 2022
db5beef
Fixed ignoring on both platform when set RunOnPlatform.
kekyo Jun 11, 2022
af89963
Fixed NRE tests.
kekyo Jun 11, 2022
7e6a802
Fixed target platform version up to net47 on linux mono environment.
kekyo Jun 11, 2022
d5f3bd5
Fixed ignoring on both platform when set RunOnPlatform.
kekyo Jun 11, 2022
e80c0e7
Removed Test.Common project file.
kekyo Jun 12, 2022
69e0e85
Testing GA script.
kekyo Jun 12, 2022
0e402b3
Testing GA script.
kekyo Jun 12, 2022
408e2e8
Testing GA script.
kekyo Jun 12, 2022
ec713bc
Testing GA script.
kekyo Jun 12, 2022
08e7a78
Testing GA script.
kekyo Jun 12, 2022
46ce79d
Testing GA script.
kekyo Jun 12, 2022
59075af
Testing GA script.
kekyo Jun 12, 2022
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
131 changes: 94 additions & 37 deletions .github/workflows/build-linux.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
name: Linux
on:
push:
branches:
- master
- devel
- feature/github-actions-2
pull_request:
branches:
- master
- devel
workflow_dispatch:
branches:
on: [push]
permissions:
contents: read
jobs:
Expand All @@ -23,55 +12,123 @@ jobs:
env:
buildConfiguration: ${{ matrix.buildConfiguration }}
steps:

#----------------------------------------------------------------------

- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
lfs: true
# https://stackoverflow.com/questions/61463578/github-actions-actions-checkoutv2-lfs-true-flag-not-converting-pointers-to-act

- name: Checkout LFS objects
run: git lfs checkout
- name: Setup .NET Core 2.1

- name: Extract branch name
id: extract_branch_name
run: |
export branch_name=`git name-rev --name-only --exclude=tags/* HEAD`
echo "Detected current branch: $branch_name"
echo "::set-output name=branch_name::$branch_name"
#----------------------------------------------------------------------

- name: Setup .NET Core 2.2
uses: actions/setup-dotnet@v1
with:
dotnet-version: 2.1.818
dotnet-version: 2.2.*
- name: Setup .NET Core 3.1
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.414
dotnet-version: 3.1.*
- name: Setup .NET 5
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.402
dotnet-version: 5.0.*
- name: Setup .NET 6
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.100
dotnet-version: 6.0.*

#----------------------------------------------------------------------

#- name: Add msbuild to PATH
# uses: microsoft/[email protected]

#- name: Setup NuGet CLI
# uses: nuget/setup-nuget@v1

#----------------------------------------------------------------------

#- name: Initialize tools
# run: bash .github/workflows/init-tools-on-ga.sh
- name: Install dependencies
run: |
dotnet restore il2c.sln
dotnet restore samples/Calculator/Calculator.Core/Calculator.Core.csproj
# dotnet restore samples/GettingStartedIL2C/GettingStartedIL2C.sln
# dotnet restore samples/Calculator/Calculator.sln

#----------------------------------------------------------------------

- name: Build runtime library
run: bash build-runtime.sh ${{env.buildConfiguration}}

#----------------------------------------------------------------------

- name: Build il2c
run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="Any CPU" il2c.sln
# - name: Build GettingStartedIL2C-x86
# run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/GettingStartedIL2C/GettingStartedIL2C.sln
# - name: Build GettingStartedIL2C-x64
# run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/GettingStartedIL2C/GettingStartedIL2C.sln
run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER il2c.sln

#----------------------------------------------------------------------

- name: Test il2c (BasicTypes)
run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.BasicTypes/IL2C.Core.Test.BasicTypes.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True
timeout-minutes: 20
- name: Test il2c (ILConverters)
run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.ILConverters/IL2C.Core.Test.ILConverters.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True
timeout-minutes: 20
- name: Test il2c (RuntimeSystems)
run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.RuntimeSystems/IL2C.Core.Test.RuntimeSystems.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True
timeout-minutes: 20

#----------------------------------------------------------------------

- name: Build GettingStartedIL2C
run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples/GettingStartedIL2C/GettingStartedIL2C.sln

- name: Build Calculator.Core
run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="AnyCPU" samples/Calculator/Calculator.Core/Calculator.Core.csproj
# - name: Build Calculator-x86
# run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/Calculator/Calculator.sln
# - name: Build Calculator-x64
# run: dotnet build --configuration ${{env.buildConfiguration}} --no-restore -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/Calculator/Calculator.sln
run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples/Calculator/Calculator.Core/Calculator.Core.csproj
- name: Build Calculator
run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples/Calculator/Calculator/Calculator.csproj

#- name: Build Calculator-x86
# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 samples/Calculator/Calculator.sln
#- name: Build Calculator-x64
# run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 samples/Calculator/Calculator.sln

- name: Build Calculator-CMake-mingw32
run: bash build.sh ${{env.buildConfiguration}}
working-directory: samples/Calculator/Calculator.CMake
- name: Test il2c
run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests/IL2C.Core.Test.Fixture/IL2C.Core.Test.Fixture.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True
timeout-minutes: 20

#----------------------------------------------------------------------

- name: Build packages
run: |
dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Interop/IL2C.Interop.csproj
dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Core/IL2C.Core.csproj
dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src/IL2C.Build/IL2C.Build.csproj
dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts misc/IL2C.Toolchain.gcc4.mingw32/IL2C.Toolchain.gcc4.mingw32.csproj
#----------------------------------------------------------------------

#- name: Deploy NuGet package (Release/devel/il2c-devel)
# if: (env.buildConfiguration == 'Release') && (startsWith(github.ref, 'refs/tags/'))
# run: |
# dotnet nuget push artifacts/IL2C.Interop.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}}
# dotnet nuget push artifacts/IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}}
# dotnet nuget push artifacts/IL2C.Build.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}}
# dotnet nuget push artifacts/IL2C.Toolchain.gcc4.mingw32.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}}

#----------------------------------------------------------------------

#- name: Deploy NuGet package (Release/master/nuget.org)
# if: (env.buildConfiguration == 'Release') && (startsWith(github.ref, 'refs/tags/')) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'master'))
# run: |
# dotnet nuget push artifacts/IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}
# dotnet nuget push artifacts/IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}
# dotnet nuget push artifacts/IL2C.Build.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}
# dotnet nuget push artifacts/IL2C.Toolchain.gcc4.mingw32.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}
128 changes: 93 additions & 35 deletions .github/workflows/build-windows.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,5 @@
name: Windows
on:
push:
branches:
- master
- devel
- feature/github-actions-2
pull_request:
branches:
- master
- devel
workflow_dispatch:
branches:
on: [push]
permissions:
contents: read
jobs:
Expand All @@ -23,57 +12,126 @@ jobs:
env:
buildConfiguration: ${{ matrix.buildConfiguration }}
steps:

#----------------------------------------------------------------------

- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
lfs: true
# https://stackoverflow.com/questions/61463578/github-actions-actions-checkoutv2-lfs-true-flag-not-converting-pointers-to-act

- name: Checkout LFS objects
run: git lfs checkout
- name: Setup .NET Core 2.1

- name: Extract branch name
id: extract_branch_name
run: |
$branch_name=$(git name-rev --name-only --exclude=tags/* HEAD)
echo "Detected current branch: ${branch_name}"
echo "::set-output name=branch_name::${branch_name}"
#----------------------------------------------------------------------

- name: Setup .NET Core 2.2
uses: actions/setup-dotnet@v1
with:
dotnet-version: 2.1.818
dotnet-version: 2.2.*
- name: Setup .NET Core 3.1
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.414
dotnet-version: 3.1.*
- name: Setup .NET 5
uses: actions/setup-dotnet@v1
with:
dotnet-version: 5.0.402
dotnet-version: 5.0.*
- name: Setup .NET 6
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.100
dotnet-version: 6.0.*

#----------------------------------------------------------------------

- name: Add msbuild to PATH
uses: microsoft/[email protected]

- name: Setup NuGet CLI
uses: nuget/setup-nuget@v1

#----------------------------------------------------------------------

- name: Initialize tools
run: init-tools.bat
shell: cmd
- name: Install dependencies
run: |
dotnet restore il2c.sln
dotnet restore samples\GettingStartedIL2C\GettingStartedIL2C.sln
dotnet restore samples\Calculator\Calculator.sln

#----------------------------------------------------------------------

- name: Build runtime library
run: build-runtime.bat ${{env.buildConfiguration}}
shell: cmd

#----------------------------------------------------------------------

- name: Build il2c
run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform="Any CPU" -maxCpuCount il2c.sln
- name: Build GettingStartedIL2C-x86
run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln
- name: Build GettingStartedIL2C-x64
run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\GettingStartedIL2C\GettingStartedIL2C.sln
- name: Build Calculator-x86
run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln
- name: Build Calculator-x64
run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\Calculator\Calculator.sln
run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER il2c.sln

#----------------------------------------------------------------------

- name: Test il2c (BasicTypes)
run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.BasicTypes\IL2C.Core.Test.BasicTypes.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True
timeout-minutes: 20
- name: Test il2c (ILConverters)
run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.ILConverters\IL2C.Core.Test.ILConverters.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True
timeout-minutes: 20
- name: Test il2c (RuntimeSystems)
run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.RuntimeSystems\IL2C.Core.Test.RuntimeSystems.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True
timeout-minutes: 20

#----------------------------------------------------------------------

- name: Build GettingStartedIL2C
run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples\GettingStartedIL2C\GettingStartedIL2C.sln

- name: Build Calculator.Core
run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples\Calculator\Calculator.Core\Calculator.Core.csproj
- name: Build Calculator
run: dotnet build --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER samples\Calculator\Calculator\Calculator.csproj

#- name: Build Calculator-x86
# run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x86 -maxCpuCount samples\Calculator\Calculator.sln
#- name: Build Calculator-x64
# run: msbuild -p:Configuration=${{env.buildConfiguration}} -r:false -p:BuildIdentifier=$GITHUB_RUN_NUMBER -p:Platform=x64 -maxCpuCount samples\Calculator\Calculator.sln

- name: Build Calculator-CMake-mingw32
run: build.bat ${{env.buildConfiguration}}
shell: cmd
working-directory: samples\Calculator\Calculator.CMake
- name: Test il2c
run: dotnet test --no-build --verbosity normal --configuration ${{env.buildConfiguration}} tests\IL2C.Core.Test.Fixture\IL2C.Core.Test.Fixture.csproj -- BuildIdentifier=$GITHUB_RUN_NUMBER Platform=x64 CITest=True
timeout-minutes: 20

#----------------------------------------------------------------------

- name: Build packages
run: |
dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Interop\IL2C.Interop.csproj
dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Core\IL2C.Core.csproj
dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts src\IL2C.Build\IL2C.Build.csproj
dotnet pack --configuration ${{env.buildConfiguration}} -p:BuildIdentifier=$GITHUB_RUN_NUMBER -o artifacts misc\IL2C.Toolchain.gcc4.mingw32\IL2C.Toolchain.gcc4.mingw32.csproj
#----------------------------------------------------------------------

- name: Deploy NuGet package (Release/devel/il2c-devel)
if: (env.buildConfiguration == 'Release') && (startsWith(github.ref, 'refs/tags/'))
run: |
dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}}
dotnet nuget push artifacts\IL2C.Core.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}}
dotnet nuget push artifacts\IL2C.Build.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}}
dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source il2c-devel --api-key ${{secrets.GH_IL2C_NUGET_MYGET_KEY}}
#----------------------------------------------------------------------

#- name: Deploy NuGet package (Release/master/nuget.org)
# if: (env.buildConfiguration == 'Release') && (startsWith(github.ref, 'refs/tags/')) && (endsWith(steps.extract_branch_name.outputs.branch_name, 'master'))
# run: |
# dotnet nuget push artifacts\IL2C.Interop.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}
# dotnet nuget push artifacts\IL2C.Core.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}
# dotnet nuget push artifacts\IL2C.Build.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}
# dotnet nuget push artifacts\IL2C.Toolchain.gcc4.mingw32.*.nupkg --source nuget.org --api-key ${{secrets.GH_IL2C_NUGET_NUGET_KEY}}
Binary file modified .nuget/nuget.exe
Binary file not shown.
1 change: 0 additions & 1 deletion NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,5 @@
<clear />
<add key="il2c-devel" value="https://www.myget.org/F/il2c/api/v3/index.json" />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="kekyo" value="https://www.myget.org/F/kekyo/api/v3/index.json" />
</packageSources>
</configuration>
2 changes: 1 addition & 1 deletion docs/sample-translation-results.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ void HelloWorld_Main()
.maxstack 2
ldstr "ABC"
isinst [mscorlib]System.ValueType
brnull.s F1
brfalse.s F1
ldc.i4.1
ret
F1:
Expand Down
Loading