diff --git a/.github/workflows/nuget-ci.yml b/.github/workflows/nuget-ci.yml new file mode 100644 index 0000000..5d7434e --- /dev/null +++ b/.github/workflows/nuget-ci.yml @@ -0,0 +1,38 @@ +on: + push: + branches: [ master, develop ] + tags: + - "v[0-9]+.[0-9]+.[0-9]+" + +env: + PACKAGE_VERSION: ${GITHUB_REF/refs\/tags\/v/} + PACKAGE_OWNER: ${{ github.repository_owner }} + PACKAGE_NAME: MongoDbGenericRepository.${{ env.PACKAGE_VERSION }}.nupkg + PACKAGE_SOURCE: https://git.home.cuco.li/api/packages/${{ env.PACKAGE_OWNER }}/nuget/index.json + PACKAGE_TOKEN: ${{ github.token }} + +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.x.x' + - name: Verify commit exists in origin/master + run: | + git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/* + git branch --remote --contains | grep origin/master + #- name: Set VERSION variable from tag + # run: echo "VERSION=${GITHUB_REF/refs\/tags\/v/}" >> $GITHUB_ENV + - name: Build + run: dotnet build --configuration Release /p:Version=${{ env.PACKAGE_VERSION }} + - name: Test + run: dotnet test --configuration Release /p:Version=${{ env.PACKAGE_VERSION }} --no-build + - name: Pack + run: dotnet pack --configuration Release /p:Version=${{ env.PACKAGE_VERSION }} --no-build --output . + - name: Push + run: dotnet nuget push ${{ env.PACKAGE_NAME }} --source ${{ env.PACKAGE_SOURCE }} --api-key ${GITHUB_TOKEN} + env: + GITHUB_TOKEN: ${{ env.PACKAGE_TOKEN }} \ No newline at end of file