From 3c36a2e44d9715a8db1e7abd74e890181460ddaf Mon Sep 17 00:00:00 2001 From: YazeedObaid Date: Mon, 20 Jul 2020 12:35:16 +0300 Subject: [PATCH] Adding github workflow file. --- .github/workflows/dotnet-core.yml | 73 ++++++++++++++++++++++++++ .github/workflows/dotnet-framework.yml | 46 ++++++++++++++++ build.fsx | 6 +-- paket.dependencies | 2 +- paket.lock | 2 +- 5 files changed, 124 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/dotnet-core.yml create mode 100644 .github/workflows/dotnet-framework.yml diff --git a/.github/workflows/dotnet-core.yml b/.github/workflows/dotnet-core.yml new file mode 100644 index 0000000..fa7166d --- /dev/null +++ b/.github/workflows/dotnet-core.yml @@ -0,0 +1,73 @@ +name: .NET Core + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +env: + # Stop wasting time caching packages + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true + # Disable sending usage data to Microsoft + DOTNET_CLI_TELEMETRY_OPTOUT: true + # Project name to pack and publish + PROJECT_NAME: DynamicsCRMProvider + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a two jobs called "windows" and "mono" + windows: + + # The type of runner that the job will run on + runs-on: windows-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + # Setup .net core + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.101 + + # Build project using a specific script + - name: Build + shell: cmd + run: call .\build.cmd + + # Publish artifacts resulted from build + - name: Upload Artifact + uses: actions/upload-artifact@v2 + with: + name: DLL Build Result + path: ./.fake/*.dll + mono: + + # The type of runner that the job will run on + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ ubuntu-latest, macos-latest ] + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + # Setup .net core + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.101 + + # Build project using a specific script + - name: Build + shell: bash + run: | + chmod +x ./build.sh + ./build.sh \ No newline at end of file diff --git a/.github/workflows/dotnet-framework.yml b/.github/workflows/dotnet-framework.yml new file mode 100644 index 0000000..73d2d4a --- /dev/null +++ b/.github/workflows/dotnet-framework.yml @@ -0,0 +1,46 @@ +name: dotnet-framework + +# Controls when the action will run. Triggers the workflow on push or pull request +# events but only for the master branch +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: windows-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + # Setup MSBuild + - name: setup MSBuild + uses: microsoft/setup-msbuild@v1 + + # Setup Nuget + - name: Setup NuGet + uses: NuGet/setup-nuget@v1.0.2 + + # Restore Nuget packages for project + - name: Restore Packages + run: nuget restore DynamicsCRMProvider.sln + + # Build project using a specific script + - name: Build + shell: cmd + run: call .\build.cmd + + # Publish artifacts resulted from build + - name: Upload Artifact + uses: actions/upload-artifact@v2 + with: + name: DLL Build Result + path: ./bin/*.dll diff --git a/build.fsx b/build.fsx index 9459c9b..f9eadff 100644 --- a/build.fsx +++ b/build.fsx @@ -85,10 +85,10 @@ Target "AssemblyInfo" (fun _ -> Attribute.FileVersion release.AssemblyVersion ] let getProjectDetails projectPath = - let projectName = System.IO.Path.GetFileNameWithoutExtension(projectPath) + let projectName = System.IO.Path.GetFileNameWithoutExtension(projectPath: string) ( projectPath, projectName, - System.IO.Path.GetDirectoryName(projectPath), + System.IO.Path.GetDirectoryName(projectPath: string), (getAssemblyInfoAttributes projectName) ) @@ -318,7 +318,7 @@ Target "ReleaseDocs" (fun _ -> Branches.push tempDocsDir ) -#load "paket-files/fsharp/FAKE/modules/Octokit/Octokit.fsx" +#load "paket-files/FoothillSolutions/FAKE/modules/Octokit/Octokit.fsx" open Octokit Target "Release" (fun _ -> diff --git a/paket.dependencies b/paket.dependencies index e91fdff..885cfbb 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -8,6 +8,6 @@ nuget FAKE 4.64.18 nuget SourceLink.Fake nuget Microsoft.CrmSdk.CoreAssemblies -github FoothillSolutions/FAKE modules/Octokit/Octokit.fsx +github FoothillSolutions/FAKE:release/next modules/Octokit/Octokit.fsx github fsprojects/FSharp.TypeProviders.StarterPack src/ProvidedTypes.fsi github fsprojects/FSharp.TypeProviders.StarterPack src/ProvidedTypes.fs \ No newline at end of file diff --git a/paket.lock b/paket.lock index 4382223..377f36d 100644 --- a/paket.lock +++ b/paket.lock @@ -24,7 +24,7 @@ NUGET SourceLink.Fake (1.1) GITHUB remote: FoothillSolutions/FAKE - modules/Octokit/Octokit.fsx (74421063dd3915e8e1e407926b38b8b25df50e36) + modules/Octokit/Octokit.fsx (62cbd242f336419aad54a5d9e797282be675f84d) Octokit (>= 0.20) remote: fsprojects/FSharp.TypeProviders.StarterPack src/ProvidedTypes.fs (b45779c1571b54a2bc6bafa12690a8d9763150d1)