|
14 | 14 | workflow_dispatch:
|
15 | 15 |
|
16 | 16 | env:
|
17 |
| - CONFIGURATION: "Release" |
18 |
| - ARTIFACTS_STAGING_DIR_PATH: "nupkg" |
19 |
| - OG_SOLUTION_PATH: "Octokit.GraphQL.sln" |
20 |
| - OG_UNIT_TESTS_PROJ_PATH: ".\\src\\Octokit.GraphQL.UnitTests\\Octokit.GraphQL.UnitTests.csproj" |
21 |
| - OG_CORE_UNIT_TESTS_PROJ_PATH: ".\\src\\Octokit.GraphQL.Core.UnitTests\\Octokit.GraphQL.Core.UnitTests.csproj" |
22 |
| - OG_CORE_GENERATOR_UNIT_TESTS_PROJ_PATH: ".\\src\\Octokit.GraphQL.Core.Generation.UnitTests\\Octokit.GraphQL.Core.Generation.UnitTests.csproj" |
23 |
| - OG_PACK_PROJ_PATH: ".\\src\\Octokit.GraphQL.Pack\\Octokit.GraphQL.Pack.csproj" |
| 17 | + CONFIGURATION: 'Release' |
| 18 | + ARTIFACTS_STAGING_DIR_PATH: '${{ github.workspace }}/nupkg' |
| 19 | + OG_SOLUTION_PATH: '${{ github.workspace }}/Octokit.GraphQL.sln' |
| 20 | + OG_UNIT_TESTS_PROJ_PATH: '${{ github.workspace }}/src/Octokit.GraphQL.UnitTests/Octokit.GraphQL.UnitTests.csproj' |
| 21 | + OG_CORE_UNIT_TESTS_PROJ_PATH: '${{ github.workspace }}/src/Octokit.GraphQL.Core.UnitTests/Octokit.GraphQL.Core.UnitTests.csproj' |
| 22 | + OG_CORE_GENERATOR_UNIT_TESTS_PROJ_PATH: '${{ github.workspace }}/src/Octokit.GraphQL.Core.Generation.UnitTests/Octokit.GraphQL.Core.Generation.UnitTests.csproj' |
| 23 | + OG_INTEGRATION_TESTS_PROJ_PATH: '${{ github.workspace }}/src/Octokit.GraphQL.IntegrationTests/Octokit.GraphQL.IntegrationTests.csproj' |
| 24 | + OG_PACK_PROJ_PATH: '${{ github.workspace }}/src/Octokit.GraphQL.Pack/Octokit.GraphQL.Pack.csproj' |
24 | 25 |
|
25 | 26 | jobs:
|
26 |
| - build-test-publish: |
27 |
| - runs-on: windows-latest |
| 27 | + build: |
| 28 | + runs-on: ubuntu-latest |
28 | 29 | steps:
|
29 | 30 |
|
30 | 31 | - name: Checkout the repository
|
31 | 32 | uses: actions/checkout@v4
|
32 |
| - - name: Setup .NET & GitHub Packages |
| 33 | + - name: Setup .NET |
33 | 34 | uses: actions/setup-dotnet@v4
|
34 | 35 | with:
|
35 | 36 | dotnet-version: 3.1.101
|
36 |
| - source-url: https://nuget.pkg.github.com/octokit/index.json |
37 |
| - env: |
38 |
| - NUGET_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
39 | 37 | - name: Setup NuGet
|
40 | 38 | uses: nuget/setup-nuget@v2
|
41 | 39 |
|
42 | 40 | - name: Build the solution
|
43 | 41 | run: dotnet build ${{ env.OG_SOLUTION_PATH }} -c ${{ env.CONFIGURATION }}
|
44 | 42 |
|
| 43 | + test: |
| 44 | + runs-on: ubuntu-latest |
| 45 | + steps: |
| 46 | + |
| 47 | + - name: Checkout the repository |
| 48 | + uses: actions/checkout@v4 |
| 49 | + - name: Setup .NET |
| 50 | + uses: actions/setup-dotnet@v4 |
| 51 | + with: |
| 52 | + dotnet-version: 3.1.101 |
| 53 | + - name: Setup NuGet |
| 54 | + uses: nuget/setup-nuget@v2 |
| 55 | + |
45 | 56 | - name: Run Octokit.GraphQL.UnitTests
|
46 |
| - run: dotnet test -c ${{ env.CONFIGURATION }} --no-build ${{ env.OG_UNIT_TESTS_PROJ_PATH }} |
| 57 | + run: 'dotnet test -c ${{ env.CONFIGURATION }} --no-build "${{ env.OG_UNIT_TESTS_PROJ_PATH }}"' |
47 | 58 |
|
48 | 59 | - name: Run Octokit.GraphQL.Core.UnitTests
|
49 |
| - run: dotnet test -c ${{ env.CONFIGURATION }} --no-build ${{ env.OG_CORE_UNIT_TESTS_PROJ_PATH }} |
| 60 | + run: 'dotnet test -c ${{ env.CONFIGURATION }} --no-build "${{ env.OG_CORE_UNIT_TESTS_PROJ_PATH }}"' |
50 | 61 |
|
51 | 62 | - name: Run Octokit.GraphQL.Core.Generation.UnitTests
|
52 |
| - run: dotnet test -c ${{ env.CONFIGURATION }} --no-build ${{ env.OG_CORE_GENERATOR_UNIT_TESTS_PROJ_PATH }} |
| 63 | + run: 'dotnet test -c ${{ env.CONFIGURATION }} --no-build "${{ env.OG_CORE_GENERATOR_UNIT_TESTS_PROJ_PATH }}"' |
| 64 | + |
| 65 | + - name: Run Octokit.GraphQL.IntegrationTests |
| 66 | + run: 'dotnet test -c ${{ env.CONFIGURATION }} --no-build -p:CollectCoverage=true -p:CoverletOutputFormat=opencover -p:Exclude="[Octokit.GraphQL]Octokit.GraphQL.*" "${{ env.OG_INTEGRATION_TESTS_PROJ_PATH }}"' |
| 67 | + env: |
| 68 | + OCTOKIT_GQL_OAUTHTOKEN: ${{ secrets.OCTOKIT_GQL_OAUTHTOKEN }} |
| 69 | + OCTOKIT_GQL_GITHUBUSERNAME: ${{ secrets.OCTOKIT_GQL_GITHUBUSERNAME }} |
| 70 | + |
| 71 | + pack: |
| 72 | + runs-on: ubuntu-latest |
| 73 | + steps: |
| 74 | + |
| 75 | + - name: Checkout the repository |
| 76 | + uses: actions/checkout@v4 |
| 77 | + - name: Setup .NET & GitHub Packages |
| 78 | + uses: actions/setup-dotnet@v4 |
| 79 | + with: |
| 80 | + dotnet-version: 3.1.101 |
| 81 | + source-url: https://nuget.pkg.github.com/octokit/index.json |
| 82 | + env: |
| 83 | + NUGET_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 84 | + |
| 85 | + - name: Build the solution |
| 86 | + run: 'dotnet build ${{ env.OG_SOLUTION_PATH }} -c "${{ env.CONFIGURATION }}"' |
53 | 87 |
|
54 | 88 | - name: Create the new package
|
55 |
| - run: dotnet pack ${{ env.OG_PACK_PROJ_PATH }} -o ${{ env.ARTIFACTS_STAGING_DIR_PATH }} |
| 89 | + run: 'dotnet pack ${{ env.OG_PACK_PROJ_PATH }} -o "${{ env.ARTIFACTS_STAGING_DIR_PATH }}"' |
56 | 90 |
|
57 | 91 | - name: Publish to GitHub Actions
|
58 | 92 | uses: actions/upload-artifact@v4
|
59 | 93 | with:
|
60 | 94 | name: nupkg
|
61 |
| - path: ${{ env.ARTIFACTS_STAGING_DIR_PATH }}/*.nupkg |
| 95 | + path: '${{ env.ARTIFACTS_STAGING_DIR_PATH }}/*.nupkg' |
62 | 96 |
|
63 | 97 | - name: Publish to GitHub Packages
|
64 | 98 | if: github.ref == 'refs/heads/main'
|
65 |
| - run: dotnet nuget push ${{ env.ARTIFACTS_STAGING_DIR_PATH }}/*.nupkg |
| 99 | + run: 'dotnet nuget push "${{ env.ARTIFACTS_STAGING_DIR_PATH }}/*.nupkg"' |
66 | 100 |
|
67 | 101 | - name: Publish to nuget.org
|
68 | 102 | if: github.ref == 'refs/heads/main'
|
69 |
| - run: dotnet nuget push ${{ env.ARTIFACTS_STAGING_DIR_PATH }}/*.nupkg -s nuget.org -k ${{ secrets.NUGET_TOKEN }} |
| 103 | + run: 'dotnet nuget push "${{ env.ARTIFACTS_STAGING_DIR_PATH }}/*.nupkg" -s nuget.org -k ${{ secrets.NUGET_TOKEN }}' |
0 commit comments