Skip to content

Commit

Permalink
Merge pull request #1 from ellizio/actions
Browse files Browse the repository at this point in the history
Setup actions
  • Loading branch information
ellizio authored Jul 16, 2024
2 parents bb22df7 + 5e84946 commit b9814d3
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 10 deletions.
25 changes: 25 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: ci

on:
push:
branches:
- '**'

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x

- name: Restore dependencies
run: dotnet restore

- name: Build
run: dotnet build --configuration Release
34 changes: 34 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: release

on:
push:
tags:
- '*.*.*'

env:
NUGET_DIRECTORY: ${{ github.workspace }}/nuget

jobs:
release:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 8.0.x

- name: Restore dependencies
run: dotnet restore

- name: Pack
run: dotnet pack --configuration Release --output ${{ env.NUGET_DIRECTORY }}

- name: Publish
run: |
for file in $(find "${{ env.NUGET_DIRECTORY }}" -type f -name "*.nupkg"); do
dotnet nuget push "$file" --api-key "${{ secrets.GH_NUGET }}" --source https://nuget.pkg.github.com/ellizio/index.json --skip-duplicate
done
10 changes: 10 additions & 0 deletions src/Kiota.Autogen.Swagger/Kiota.Autogen.Swagger.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,16 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>

<PackageId>Kiota.Autogen.Swagger</PackageId>
<Title>Kiota.Autogen.Swagger</Title>
<Version>1.15.0</Version>
<Authors>ellizio</Authors>
<Description>Description test</Description>
<PackageProjectUrl>https://github.com/ellizio/Kiota.Autogen</PackageProjectUrl>
<RepositoryUrl>https://github.com/ellizio/Kiota.Autogen</RepositoryUrl>
<PackageTags>Kiota;OpenAPI;Client;Swagger;Generation;CodeGen</PackageTags>
</PropertyGroup>

<ItemGroup>
Expand Down
21 changes: 11 additions & 10 deletions src/Kiota.Autogen.Swagger/build/Kiota.Autogen.Swagger.targets
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>
<ProjectPath>@(ProjectReference)</ProjectPath>
<ProjectDllPath />
<SwaggerVersion />
<Autogen_ProjectPath>@(ProjectReference)</Autogen_ProjectPath>
<Autogen_ProjectDllPath />
<Autogen_SwaggerVersion />
<Autogen_KiotaVersion>1.15.0</Autogen_KiotaVersion>
</PropertyGroup>

<Target Name="Validate" BeforeTargets="DetermineProject">
Expand All @@ -17,29 +18,29 @@
<Error Text="Client must reference to only one project" Condition="@(ProjectReference->Count()) != 1" />

<MSBuild Projects="%(ProjectReference.Identity)" Targets="GetTargetPath" Properties="Configuration=$(Configuration);RuntimeIdentifier=$(RuntimeIdentifier)">
<Output TaskParameter="TargetOutputs" PropertyName="ProjectDllPath" />
<Output TaskParameter="TargetOutputs" PropertyName="Autogen_ProjectDllPath" />
</MSBuild>
</Target>

<Target Name="DetermineSwagger" BeforeTargets="InstallDotnetTools">
<DeterminePackageVersionTask ProjectPath="$(ProjectPath)" PackageId="Swashbuckle.AspNetCore" FrameworkVersion="$(TargetFramework)">
<Output TaskParameter="Version" PropertyName="SwaggerVersion" />
<DeterminePackageVersionTask ProjectPath="$(Autogen_ProjectPath)" PackageId="Swashbuckle.AspNetCore" FrameworkVersion="$(TargetFramework)">
<Output TaskParameter="Version" PropertyName="Autogen_SwaggerVersion" />
</DeterminePackageVersionTask>

<Error Text="Swashbuckle.AspNetCore not found in $(ProjectPath)" Condition="$(SwaggerVersion) == ''" />
<Error Text="Swashbuckle.AspNetCore not found in $(Autogen_ProjectPath)" Condition="$(Autogen_SwaggerVersion) == ''" />
</Target>

<Target Name="InstallDotnetTools" BeforeTargets="ExtractOpenApi">
<Exec Command="dotnet new tool-manifest --force" />
<Exec Command="dotnet tool install SwashBuckle.AspNetCore.Cli --version $(SwaggerVersion)" />
<Exec Command="dotnet tool install Microsoft.OpenApi.Kiota --version $(Version)" />
<Exec Command="dotnet tool install SwashBuckle.AspNetCore.Cli --version $(Autogen_SwaggerVersion)" />
<Exec Command="dotnet tool install Microsoft.OpenApi.Kiota --version $(Autogen_KiotaVersion)" />
</Target>

<Target Name="ExtractOpenApi" BeforeTargets="GenerateClient">
<ParseSettingsTask>
<Output TaskParameter="Settings" ItemName="Settings" />
</ParseSettingsTask>
<Exec Command="dotnet swagger tofile --output %(Settings.Version).json $(ProjectDllPath) %(Settings.Version)" />
<Exec Command="dotnet swagger tofile --output %(Settings.Version).json $(Autogen_ProjectDllPath) %(Settings.Version)" />
</Target>

<Target Name="GenerateClient" BeforeTargets="BeforeBuild;BeforeRebuild">
Expand Down

0 comments on commit b9814d3

Please sign in to comment.