Skip to content

Commit e2ef80c

Browse files
Publish to catalog (#5)
- Add main workflow - Update catalog info - Add dependabot - Convert test project to SDK style [DCP270189]
1 parent cf00f36 commit e2ef80c

File tree

6 files changed

+69
-77
lines changed

6 files changed

+69
-77
lines changed

.github/dependabot.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "nuget" # See documentation for possible values
9+
schedule:
10+
interval: "weekly"
11+
ignore:
12+
# FluentAssertions equal to or higher than 8.0.0 are a different license, which requires payment
13+
- dependency-name: "FluentAssertions"
14+
versions: [ ">=8.0.0" ]
15+
- dependency-name: "Moq"
16+
versions: [ ">4.20.72" ]
17+
groups:
18+
all-dependencies:
19+
patterns:
20+
- "*"

.github/workflows/main.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Skyline Reusable Quality Workflow
2+
3+
# Controls when the workflow will run
4+
on:
5+
# Triggers the workflow on push or pull request events but only for the master branch
6+
push:
7+
branches:
8+
- main
9+
tags:
10+
- "[0-9]+.[0-9]+.[0-9]+.[0-9]+"
11+
- "[0-9]+.[0-9]+.[0-9]+.[0-9]+-**"
12+
- "[0-9]+.[0-9]+.[0-9]+"
13+
- "[0-9]+.[0-9]+.[0-9]+-**"
14+
15+
# Allows you to run this workflow manually from the Actions tab
16+
workflow_dispatch:
17+
18+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
19+
jobs:
20+
21+
CI:
22+
uses: SkylineCommunications/_ReusableWorkflows/.github/workflows/DataMiner App Packages Master Workflow.yml@main
23+
with:
24+
configuration: Release
25+
referenceName: ${{ github.ref_name }}
26+
runNumber: ${{ github.run_number }}
27+
referenceType: ${{ github.ref_type }}
28+
repository: ${{ github.repository }}
29+
owner: ${{ github.repository_owner }}
30+
sonarCloudProjectName: ${{ vars.SONAR_NAME }} # Go to 'https://sonarcloud.io/projects/create' and create a project. Then create a SONAR_NAME variable with the ID of the project as mentioned in the SonarCloud project URL.
31+
# solutionFilterName: "MySolutionFilter.slnf"
32+
secrets:
33+
dataminerToken: ${{ secrets.DATAMINER_TOKEN }} # The API key: generated in the dataminer.services Admin app (https://admin.dataminer.services/) as authentication for a certain organization.
34+
sonarCloudToken: ${{ secrets.SONAR_TOKEN }} # The API key for access to SonarCloud.
35+
# overrideCatalogDownloadToken: ${{ secrets.OVERRIDE_DATAMINER_TOKEN }} # Override on the dataminerToken for downloading Catalog items: generated in the dataminer.services Admin app (https://admin.dataminer.services/) as authentication for a certain organization.
Lines changed: 9 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,18 @@
1-
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
1+
<Project Sdk="Microsoft.NET.Sdk">
42
<PropertyGroup>
5-
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6-
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7-
<ProjectGuid>{59F72B12-B55B-4130-861C-D1903BDE0B5C}</ProjectGuid>
3+
<TargetFramework>net48</TargetFramework>
84
<OutputType>Library</OutputType>
9-
<AppDesignerFolder>Properties</AppDesignerFolder>
10-
<RootNamespace>OrchestrationHelperExample.Common.Tests</RootNamespace>
11-
<AssemblyName>OrchestrationHelperExample.Common.Tests</AssemblyName>
12-
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
13-
<FileAlignment>512</FileAlignment>
14-
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
15-
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">15.0</VisualStudioVersion>
16-
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
17-
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
18-
<IsCodedUITest>False</IsCodedUITest>
19-
<TestProjectType>UnitTest</TestProjectType>
20-
<NuGetPackageImportStamp>
21-
</NuGetPackageImportStamp>
22-
<TargetFrameworkProfile />
235
</PropertyGroup>
24-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
25-
<DebugSymbols>true</DebugSymbols>
26-
<DebugType>full</DebugType>
27-
<Optimize>false</Optimize>
28-
<OutputPath>bin\Debug\</OutputPath>
29-
<DefineConstants>DEBUG;TRACE</DefineConstants>
30-
<ErrorReport>prompt</ErrorReport>
31-
<WarningLevel>4</WarningLevel>
32-
</PropertyGroup>
33-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
34-
<DebugType>pdbonly</DebugType>
35-
<Optimize>true</Optimize>
36-
<OutputPath>bin\Release\</OutputPath>
37-
<DefineConstants>TRACE</DefineConstants>
38-
<ErrorReport>prompt</ErrorReport>
39-
<WarningLevel>4</WarningLevel>
40-
</PropertyGroup>
41-
<ItemGroup>
42-
<Reference Include="System" />
43-
<Reference Include="System.Core" />
44-
</ItemGroup>
456
<ItemGroup>
46-
<Compile Include="SerializeModelsHelperTests.cs" />
47-
<Compile Include="Properties\AssemblyInfo.cs" />
48-
</ItemGroup>
49-
<ItemGroup>
50-
<PackageReference Include="Moq">
51-
<Version>4.20.72</Version>
52-
</PackageReference>
53-
<PackageReference Include="NUnit">
54-
<Version>4.3.2</Version>
7+
<PackageReference Include="Moq" Version="4.20.72" />
8+
<PackageReference Include="NUnit" Version="4.3.2" />
9+
<PackageReference Include="Skyline.DataMiner.Utils.SecureCoding.Analyzers">
10+
<Version>2.0.3</Version>
11+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
12+
<PrivateAssets>all</PrivateAssets>
5513
</PackageReference>
5614
</ItemGroup>
5715
<ItemGroup>
58-
<ProjectReference Include="..\OrchestrationHelperExample.Common\OrchestrationHelperExample.Common.csproj">
59-
<Project>{d527d3ee-6ddc-4d61-9589-1784749b44cd}</Project>
60-
<Name>OrchestrationHelperExample.Common</Name>
61-
</ProjectReference>
16+
<ProjectReference Include="..\OrchestrationHelperExample.Common\OrchestrationHelperExample.Common.csproj" />
6217
</ItemGroup>
63-
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
64-
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
6518
</Project>

OrchestrationHelperExample.Common.Tests/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 17 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# OrchestrationHelper - Example
22

3-
In this example solution for DataMiner, a library was created to easily implement Automation scripts that orchestrate a function of a device, resource or element. The [OnRequestScriptInfo](https://docs.dataminer.services/develop/api/types/Skyline.DataMiner.Automation.AutomationEntryPointType.Types.html#Skyline_DataMiner_Automation_AutomationEntryPointType_Types_OnRequestScriptInfo) entry point is used to detect which values, defined as profile parameters, such a script needs to perform the orchestration.
3+
In this example solution for DataMiner, a library was created to easily implement Automation scripts that orchestrate a function of a device, resource or element. The [OnRequestScriptInfo](https://docs.dataminer.services/develop/api/types/Skyline.DataMiner.Automation.AutomationEntryPointType.Types.html#Skyline_DataMiner_Automation_AutomationEntryPointType_Types_OnRequestScriptInfo) entry point is used to detect which values, defined as profile parameters, such a script needs to perform the orchestration. The package can be installed from DataMiner 10.5.7/10.6.0 onwards.
44

55
Details about the scripts and their use case are available in the repository of the example: [https://github.com/SkylineCommunications/SLC-S-OrchestrationHelperExample](https://github.com/SkylineCommunications/SLC-S-OrchestrationHelperExample?tab=readme-ov-file#technical-documentation-for-the-orchestrationhelper-example).

OrchestrationHelperExamplePackage/CatalogInformation/manifest.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# - System Health: If the Catalog item is intended to monitor the health of a system.
1717
# - User-Defined API: If the Catalog item is a DataMiner Automation script designed as a user-defined API.
1818
# - Visual Overview: If the Catalog item is a Microsoft Visio design.
19-
type: Custom Solution
19+
type: Learning & Sample
2020

2121
# [Required]
2222
# The ID of the Catalog item.
@@ -39,7 +39,7 @@ title: OrchestrationHelper - Example
3939
# [Optional]
4040
# General information about the Catalog item.
4141
# Max length: 100,000 characters
42-
short_description: This is a custom solution for DataMiner to demo the 'OnRequestScriptInfo' entry point.
42+
short_description: This is a sample solution for DataMiner to demo the 'OnRequestScriptInfo' entry point.
4343

4444
# [Optional]
4545
# A valid URL that points to the source code.
@@ -59,7 +59,8 @@ documentation_url: https://github.com/SkylineCommunications/SLC-S-OrchestrationH
5959
# The name is required; max 256 characters.
6060
# The email and URL are optional, and should be in valid email/URL formats.
6161
owners:
62-
- name: 'PVP'
62+
- name: 'Peter Vanpoucke'
63+
6364

6465
# [Optional]
6566
# Tags that allow you to categorize your Catalog items.

0 commit comments

Comments
 (0)