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..b40bb51 --- /dev/null +++ b/.github/workflows/dotnet-framework.yml @@ -0,0 +1,42 @@ +name: .NET 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 + + # 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 diff --git a/build.fsx b/build.fsx index 9459c9b..31754c3 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 _ -> @@ -349,10 +349,10 @@ Target "All" DoNothing ==> "Build" ==> "CopyBinaries" // ==> "RunTests" -// =?> ("GenerateReferenceDocs",isLocalBuild) -// =?> ("GenerateDocs",isLocalBuild) -// ==> "All" -// =?> ("ReleaseDocs",isLocalBuild) + =?> ("GenerateReferenceDocs",isLocalBuild) + =?> ("GenerateDocs",isLocalBuild) + ==> "All" + =?> ("ReleaseDocs",isLocalBuild) "All" #if MONO diff --git a/paket.dependencies b/paket.dependencies index e91fdff..db94bab 100644 --- a/paket.dependencies +++ b/paket.dependencies @@ -4,10 +4,10 @@ source https://nuget.org/api/v2 nuget FSharp.Formatting nuget NUnit nuget NUnit.Runners -nuget FAKE 4.64.18 nuget SourceLink.Fake nuget Microsoft.CrmSdk.CoreAssemblies -github FoothillSolutions/FAKE modules/Octokit/Octokit.fsx +github FoothillSolutions/FAKE:release/next +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..9573c4b 100644 --- a/paket.lock +++ b/paket.lock @@ -1,7 +1,6 @@ RESTRICTION: == net462 NUGET remote: https://www.nuget.org/api/v2 - FAKE (4.64.18) FSharp.Formatting (4.1) Microsoft.CrmSdk.CoreAssemblies (9.0.2.26) NUnit (3.12) @@ -24,8 +23,9 @@ NUGET SourceLink.Fake (1.1) GITHUB remote: FoothillSolutions/FAKE - modules/Octokit/Octokit.fsx (74421063dd3915e8e1e407926b38b8b25df50e36) - Octokit (>= 0.20) + remote: FoothillSolutions/FAKE + modules/Octokit/Octokit.fsx (62cbd242f336419aad54a5d9e797282be675f84d) + Octokit (>= 0.20) remote: fsprojects/FSharp.TypeProviders.StarterPack src/ProvidedTypes.fs (b45779c1571b54a2bc6bafa12690a8d9763150d1) src/ProvidedTypes.fsi (b45779c1571b54a2bc6bafa12690a8d9763150d1) \ No newline at end of file