From 7d3c8df30a9efbff2e493e5c0f9b6dd34ec9135d Mon Sep 17 00:00:00 2001 From: bparks13 Date: Tue, 12 Nov 2024 11:55:21 -0500 Subject: [PATCH] Point actions to remote workflow --- .github/workflows/build.yml | 97 +++++-------------------------------- 1 file changed, 11 insertions(+), 86 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 04f1da9..20cbd1c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,91 +1,16 @@ -name: Build - +name: Build .NET and Publish to Nuget + +# This workflow will run when: 1) any commit is pushed to main, 2) any pull request is opened that will merge to main, and 3) whenever a new release is published. on: push: - branches: [main] + branches: [main] # 1) Generates a package on Github that is a pre-release package, and is typically named X.Y.Z-main-ci000, where X/Y/Z are the semantic version numbers, and ci000 is incremented for each action that is run, guaranteeing a unique package name pull_request: + branches: [main] # 2) Does not generate a package, but does check that the semantic version number is increasing, and that the package builds correctly in all matrix configurations (Ubuntu / Windows and Release / Debug) release: - types: [published] -env: - DOTNET_NOLOGO: true - DOTNET_CLI_TELEMETRY_OPTOUT: true - DOTNET_GENERATE_ASPNET_CERTIFICATE: false - ContinuousIntegrationBuild: true - CiRunNumber: ${{ github.run_number }} - CiRunPushSuffix: ${{ github.ref_name }}-ci${{ github.run_number }} - CiRunPullSuffix: pull-${{ github.event.number }}-ci${{ github.run_number }} -jobs: - setup: - runs-on: ubuntu-latest - outputs: - build-suffix: ${{ steps.setup-build.outputs.build-suffix }} - steps: - - name: Setup Build - id: setup-build - run: echo "build-suffix=${{ github.event_name == 'push' && env.CiRunPushSuffix || github.event_name == 'pull_request' && env.CiRunPullSuffix || null }}" >> "$GITHUB_OUTPUT" - - build: - needs: [setup] - strategy: - fail-fast: false - matrix: - configuration: [debug, release] - os: [ubuntu-latest, windows-latest] - include: - - os: windows-latest - configuration: release - collect-packages: true - runs-on: ${{ matrix.os }} - env: - CiBuildVersionSuffix: ${{ needs.setup.outputs.build-suffix }} - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 8.x - - - name: Restore - run: dotnet restore - - - name: Build - run: dotnet build --no-restore --configuration ${{ matrix.configuration }} - - - name: Pack - id: pack - if: matrix.collect-packages - run: dotnet pack --no-build --configuration ${{ matrix.configuration }} + types: [published] # 3) Generates a package that is a full release package (X.Y.Z) that is published to Github and NuGet automatically - - name: Collect packages - uses: actions/upload-artifact@v4 - if: matrix.collect-packages && steps.pack.outcome == 'success' && always() - with: - name: Packages - if-no-files-found: error - path: artifacts/package/${{matrix.configuration}}/** - - publish-github: - runs-on: ubuntu-latest - permissions: - packages: write - needs: [build] - if: github.event_name == 'push' || github.event_name == 'release' - steps: - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: 8.x - - - name: Download packages - uses: actions/download-artifact@v4 - with: - name: Packages - path: Packages - - - name: Push to GitHub Packages - run: dotnet nuget push "Packages/*.nupkg" --skip-duplicate --no-symbols --api-key ${{secrets.GITHUB_TOKEN}} --source https://nuget.pkg.github.com/${{github.repository_owner}} - env: - # This is a workaround for https://github.com/NuGet/Home/issues/9775 - DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER: 0 \ No newline at end of file +jobs: + build_and_publish: + uses: open-ephys/github-actions/.github/workflows/build_dotnet_publish_nuget.yml@main + secrets: + NUGET_APIKEY: ${{ secrets.NUGET_APIKEY }} \ No newline at end of file