Skip to content

Commit 048d4ad

Browse files
committed
Made library updated to run tests in Github actions
1 parent b566956 commit 048d4ad

8 files changed

Lines changed: 72 additions & 104 deletions

File tree

.github/workflows/build_sln.yml

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,60 @@ jobs:
99
name: Tekla ${{ matrix.tekla }}
1010
runs-on: windows-latest
1111

12+
permissions:
13+
checks: write # required by dorny/test-reporter to post results
14+
contents: read
15+
1216
strategy:
13-
fail-fast: false # keep other versions running if one fails
17+
fail-fast: false
1418
matrix:
15-
tekla: [2020, 2021, 2022, 2023, 2024, 2025]
19+
tekla: [2020] #[2020, 2021, 2022, 2023, 2024, 2025]
1620

1721
steps:
1822
- name: Checkout
1923
uses: actions/checkout@v4
2024

2125
- name: Setup MSBuild
2226
uses: microsoft/setup-msbuild@v2
27+
2328
- name: Setup NuGet
2429
uses: NuGet/setup-nuget@v2
2530
with:
2631
nuget-version: "6.x"
32+
2733
- name: Restore NuGet packages
2834
run: nuget restore Tekla.Extension.sln
35+
2936
- name: Build solution
3037
run: >
31-
msbuild Tekla.Extension.sln
32-
/p:Configuration=${{ matrix.tekla }}
33-
/p:Platform=x64
34-
/p:SignAssembly=false
35-
/p:SignWithAuthenticode=false
36-
/m
37-
/verbosity:minimal
38+
msbuild Tekla.Extension.sln
39+
/p:Configuration=${{ matrix.tekla }}
40+
/p:Platform=x64
41+
/p:SignAssembly=false
42+
/p:SignWithAuthenticode=false
43+
/m
44+
/verbosity:minimal
3845
/nologo
46+
47+
- name: Run tests
48+
run: >
49+
vstest.console.exe
50+
"Tekla.Extension.Tests\bin\${{ matrix.tekla }}\x64\net48\Tekla.Extension.Tests.dll"
51+
/Logger:trx
52+
/ResultsDirectory:"TestResults\${{ matrix.tekla }}"
53+
54+
- name: Publish test results
55+
uses: dorny/test-reporter@v1
56+
if: always()
57+
with:
58+
name: Tests – Tekla ${{ matrix.tekla }}
59+
path: "TestResults\\${{ matrix.tekla }}\\results.trx"
60+
reporter: dotnet-trx
61+
62+
- name: Upload test artefact
63+
uses: actions/upload-artifact@v4
64+
if: always()
65+
with:
66+
name: test-results-${{ matrix.tekla }}
67+
path: "TestResults\\${{ matrix.tekla }}\\results.trx"
68+
if-no-files-found: warn

Tekla.Extension.Tests/CoordinateSystemExtensionTests.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,16 @@ public void MatrixToLocal_TransformsPointToLocalCoordinates()
4646
var transformed = matrix.Transform(new Point(110, 0, 0));
4747
AssertPointEqual(transformed, 10, 0, 0);
4848
}
49-
49+
#if TEKLA2020
50+
#else
5051
[Fact]
5152
public void ToTransformationPlane_ReturnsNonNull()
5253
{
5354
var cs = new CoordinateSystem(new Point(0, 0, 0), new Vector(1, 0, 0), new Vector(0, 1, 0));
5455
var tp = cs.ToTransformationPlane();
5556
tp.Should().NotBeNull();
5657
}
57-
58+
#endif
5859
[Fact]
5960
public void ToGeometricPlane_ReturnsNonNull()
6061
{

Tekla.Extension.Tests/ProfileExtensionTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ public class ProfileExtensionTests : TeklaCatalogTestBase
1313
private const string UnknownProfile = "XYZZY_DOES_NOT_EXIST";
1414

1515
// ── IsProfileExist ──────────────────────────────────────────────────
16-
16+
#if TEKLA2020
17+
#else
1718
[Fact]
1819
public void IsProfileExist_UnknownProfile_ReturnsFalse()
1920
{
@@ -75,5 +76,6 @@ public void GetPlateWidthByProfile_UnknownProfile_ReturnsZero()
7576
ProfileExtension.GetPlateWidthByProfile(UnknownProfile)
7677
.Should().BeApproximately(0, 0.001);
7778
}
79+
#endif
7880
}
7981
}

Tekla.Extension.Tests/Tekla.Extension.Tests.csproj

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -62,57 +62,27 @@
6262

6363
<!-- Tekla 2020 packages (uses legacy TeklaOpenAPI) -->
6464
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2020'))">
65-
<PackageReference Include="TeklaOpenAPI" Version="2020.0.0" />
65+
<PackageReference Include="Tekla.Structures.All" Version="2020.0.1"/>
6666
</ItemGroup>
6767
<!-- Tekla 2021 packages -->
6868
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2021'))">
69-
<PackageReference Include="Tekla.Structures" Version="2021.0.0" />
70-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2021.0.0" />
71-
<PackageReference Include="Tekla.Structures.Datatype" Version="2021.0.0" />
72-
<PackageReference Include="Tekla.Structures.Dialog" Version="2021.0.0" />
73-
<PackageReference Include="Tekla.Structures.Drawing" Version="2021.0.0" />
74-
<PackageReference Include="Tekla.Structures.Model" Version="2021.0.0" />
75-
<PackageReference Include="Tekla.Structures.Plugins" Version="2021.0.0" />
69+
<PackageReference Include="Tekla.Structures.All" Version="2021.0.1"/>
7670
</ItemGroup>
7771
<!-- Tekla 2022 packages -->
7872
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2022'))">
79-
<PackageReference Include="Tekla.Structures" Version="2022.0.0" />
80-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2022.0.0" />
81-
<PackageReference Include="Tekla.Structures.Datatype" Version="2022.0.0" />
82-
<PackageReference Include="Tekla.Structures.Dialog" Version="2022.0.0" />
83-
<PackageReference Include="Tekla.Structures.Drawing" Version="2022.0.0" />
84-
<PackageReference Include="Tekla.Structures.Model" Version="2022.0.0" />
85-
<PackageReference Include="Tekla.Structures.Plugins" Version="2022.0.0" />
73+
<PackageReference Include="Tekla.Structures.All" Version="2022.0.1"/>
8674
</ItemGroup>
8775
<!-- Tekla 2023 packages -->
8876
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2023'))">
89-
<PackageReference Include="Tekla.Structures" Version="2023.0.0" />
90-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2023.0.1" />
91-
<PackageReference Include="Tekla.Structures.Datatype" Version="2023.0.1" />
92-
<PackageReference Include="Tekla.Structures.Dialog" Version="2023.0.1" />
93-
<PackageReference Include="Tekla.Structures.Drawing" Version="2023.0.1" />
94-
<PackageReference Include="Tekla.Structures.Model" Version="2023.0.1" />
95-
<PackageReference Include="Tekla.Structures.Plugins" Version="2023.0.1" />
77+
<PackageReference Include="Tekla.Structures.All" Version="2023.0.1"/>
9678
</ItemGroup>
9779
<!-- Tekla 2024 packages -->
9880
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2024'))">
99-
<PackageReference Include="Tekla.Structures" Version="2024.0.0" />
100-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2024.0.4" />
101-
<PackageReference Include="Tekla.Structures.Datatype" Version="2024.0.4" />
102-
<PackageReference Include="Tekla.Structures.Dialog" Version="2024.0.4" />
103-
<PackageReference Include="Tekla.Structures.Drawing" Version="2024.0.4" />
104-
<PackageReference Include="Tekla.Structures.Model" Version="2024.0.4" />
105-
<PackageReference Include="Tekla.Structures.Plugins" Version="2024.0.4" />
81+
<PackageReference Include="Tekla.Structures.All" Version="2024.0.1"/>
10682
</ItemGroup>
10783
<!-- Tekla 2025 packages -->
10884
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2025'))">
109-
<PackageReference Include="Tekla.Structures" Version="2025.0.0" />
110-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2025.0.0" />
111-
<PackageReference Include="Tekla.Structures.Datatype" Version="2025.0.0" />
112-
<PackageReference Include="Tekla.Structures.Dialog" Version="2025.0.0" />
113-
<PackageReference Include="Tekla.Structures.Drawing" Version="2025.0.0" />
114-
<PackageReference Include="Tekla.Structures.Model" Version="2025.0.0" />
115-
<PackageReference Include="Tekla.Structures.Plugins" Version="2025.0.0" />
85+
<PackageReference Include="Tekla.Structures.All" Version="2025.0.1"/>
11686
</ItemGroup>
11787
<ItemGroup>
11888
<ProjectReference Include="..\Tekla.Extension\Tekla.Extension.csproj" />

Tekla.Extension.Tests/TestBase/TeklaCatalogTestBase.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using Moq;
22
using System;
33
using Tekla.Structures.CatalogInternal;
4+
#if TEKLA2020
5+
#else
46
using Tekla.Structures.RemotingHelper;
7+
#endif
58

69
namespace Tekla.Extension.Tests.TestBase
710
{
@@ -13,7 +16,10 @@ public abstract class TeklaCatalogTestBase : IDisposable
1316
{
1417
protected TeklaCatalogTestBase()
1518
{
19+
#if TEKLA2020
20+
#else
1621
CDelegateSetter.SetInstanceForUnitTesting(new GenericDelegateFake<ReturnDefaultStrategy>());
22+
#endif
1723
}
1824

1925
public void Dispose()

Tekla.Extension.Tests/TestBase/TeklaModelTestBase.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
using Moq;
22
using System;
33
using Tekla.Structures.ModelInternal;
4+
#if TEKLA2020
5+
#else
46
using Tekla.Structures.RemotingHelper;
7+
#endif
58

69
namespace Tekla.Extension.Tests.TestBase
710
{
@@ -14,7 +17,10 @@ public abstract class TeklaModelTestBase : IDisposable
1417
{
1518
protected TeklaModelTestBase()
1619
{
20+
#if TEKLA2020
21+
#else
1722
CDelegateSetter.SetInstanceForUnitTesting(new GenericDelegateFake<ReturnDefaultStrategy>());
23+
#endif
1824
}
1925

2026
public void Dispose()

Tekla.Extension.Tests/TestHelpers.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,10 @@
44
using System.Security.Cryptography;
55
using Tekla.Structures.Geometry3d;
66
using Tekla.Structures.ModelInternal;
7+
#if TEKLA2020
8+
#else
79
using Tekla.Structures.RemotingHelper;
10+
#endif
811

912
namespace Tekla.Extension.Tests
1013
{

Tekla.Extension/Tekla.Extension.csproj

Lines changed: 6 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -140,79 +140,29 @@
140140
<None Include="app.config" />
141141
<None Include="TeklaExtension.snk" />
142142
</ItemGroup>
143-
<ItemGroup>
144-
<PackageReference Include="DotNetZip">
145-
<Version>1.13.7</Version>
146-
</PackageReference>
147-
<PackageReference Include="Mono.Cecil">
148-
<Version>0.9.6.1</Version>
149-
</PackageReference>
150-
<PackageReference Include="Newtonsoft.Json">
151-
<Version>13.0.1</Version>
152-
</PackageReference>
153-
<PackageReference Include="Tekla.Technology.Akit5">
154-
<Version>5.8.17235.1</Version>
155-
</PackageReference>
156-
<PackageReference Include="Tekla.Technology.Scripting">
157-
<Version>5.0.20041</Version>
158-
</PackageReference>
159-
<PackageReference Include="Tekla.Technology.Scripting.Plugins">
160-
<Version>5.3.17206</Version>
161-
</PackageReference>
162-
</ItemGroup>
163143
<!-- Tekla 2020 packages (uses legacy TeklaOpenAPI) -->
164144
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2020'))">
165-
<PackageReference Include="TeklaOpenAPI" Version="2020.0.0" />
145+
<PackageReference Include="Tekla.Structures.All" Version="2020.0.1"/>
166146
</ItemGroup>
167147
<!-- Tekla 2021 packages -->
168148
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2021'))">
169-
<PackageReference Include="Tekla.Structures" Version="2021.0.0" />
170-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2021.0.0" />
171-
<PackageReference Include="Tekla.Structures.Datatype" Version="2021.0.0" />
172-
<PackageReference Include="Tekla.Structures.Dialog" Version="2021.0.0" />
173-
<PackageReference Include="Tekla.Structures.Drawing" Version="2021.0.0" />
174-
<PackageReference Include="Tekla.Structures.Model" Version="2021.0.0" />
175-
<PackageReference Include="Tekla.Structures.Plugins" Version="2021.0.0" />
149+
<PackageReference Include="Tekla.Structures.All" Version="2021.0.1"/>
176150
</ItemGroup>
177151
<!-- Tekla 2022 packages -->
178152
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2022'))">
179-
<PackageReference Include="Tekla.Structures" Version="2022.0.0" />
180-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2022.0.0" />
181-
<PackageReference Include="Tekla.Structures.Datatype" Version="2022.0.0" />
182-
<PackageReference Include="Tekla.Structures.Dialog" Version="2022.0.0" />
183-
<PackageReference Include="Tekla.Structures.Drawing" Version="2022.0.0" />
184-
<PackageReference Include="Tekla.Structures.Model" Version="2022.0.0" />
185-
<PackageReference Include="Tekla.Structures.Plugins" Version="2022.0.0" />
153+
<PackageReference Include="Tekla.Structures.All" Version="2022.0.1"/>
186154
</ItemGroup>
187155
<!-- Tekla 2023 packages -->
188156
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2023'))">
189-
<PackageReference Include="Tekla.Structures" Version="2023.0.0" />
190-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2023.0.1" />
191-
<PackageReference Include="Tekla.Structures.Datatype" Version="2023.0.1" />
192-
<PackageReference Include="Tekla.Structures.Dialog" Version="2023.0.1" />
193-
<PackageReference Include="Tekla.Structures.Drawing" Version="2023.0.1" />
194-
<PackageReference Include="Tekla.Structures.Model" Version="2023.0.1" />
195-
<PackageReference Include="Tekla.Structures.Plugins" Version="2023.0.1" />
157+
<PackageReference Include="Tekla.Structures.All" Version="2023.0.1"/>
196158
</ItemGroup>
197159
<!-- Tekla 2024 packages -->
198160
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2024'))">
199-
<PackageReference Include="Tekla.Structures" Version="2024.0.0" />
200-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2024.0.4" />
201-
<PackageReference Include="Tekla.Structures.Datatype" Version="2024.0.4" />
202-
<PackageReference Include="Tekla.Structures.Dialog" Version="2024.0.4" />
203-
<PackageReference Include="Tekla.Structures.Drawing" Version="2024.0.4" />
204-
<PackageReference Include="Tekla.Structures.Model" Version="2024.0.4" />
205-
<PackageReference Include="Tekla.Structures.Plugins" Version="2024.0.4" />
161+
<PackageReference Include="Tekla.Structures.All" Version="2024.0.1"/>
206162
</ItemGroup>
207163
<!-- Tekla 2025 packages -->
208164
<ItemGroup Condition="$(DefineConstants.Contains('TEKLA2025'))">
209-
<PackageReference Include="Tekla.Structures" Version="2025.0.0" />
210-
<PackageReference Include="Tekla.Structures.Catalogs" Version="2025.0.0" />
211-
<PackageReference Include="Tekla.Structures.Datatype" Version="2025.0.0" />
212-
<PackageReference Include="Tekla.Structures.Dialog" Version="2025.0.0" />
213-
<PackageReference Include="Tekla.Structures.Drawing" Version="2025.0.0" />
214-
<PackageReference Include="Tekla.Structures.Model" Version="2025.0.0" />
215-
<PackageReference Include="Tekla.Structures.Plugins" Version="2025.0.0" />
165+
<PackageReference Include="Tekla.Structures.All" Version="2025.0.1"/>
216166
</ItemGroup>
217167
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
218168
<!-- Authenticode Signing Target -->

0 commit comments

Comments
 (0)