From a87289500769452b5d15a2de2302c3c0a8f0135c Mon Sep 17 00:00:00 2001 From: Ahmad Moussawi Date: Sat, 1 Feb 2025 09:45:19 +0200 Subject: [PATCH] chore: add release pipeline --- .github/workflows/release.yml | 30 +++++++++++++++ QueryBuilder.Tests/QueryBuilder.Tests.csproj | 39 +++++++++++--------- 2 files changed, 52 insertions(+), 17 deletions(-) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..07dd5fc9 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,30 @@ +on: + push: + tags: + - "v[0-9]+.[0-9]+.[0-9]+" +jobs: + build: + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Verify commit exists in origin/main + run: git branch --remote --contains | grep origin/main + # - name: Extract release notes + # run: | + # git log --pretty=format:'%d %s' ${GITHUB_REF} | perl -pe 's| \(.*tag: v(\d+.\d+.\d+(-preview\d{3})?)(, .*?)*\)|\n## \1\n|g' > RELEASE-NOTES + - 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=${VERSION} + - name: Test + run: dotnet test --configuration Release /p:Version=${VERSION} --no-build + - name: Pack + run: dotnet pack --configuration Release /p:Version=${VERSION} --no-build --output . + - name: Push + run: dotnet nuget push *.${VERSION}.nupkg --source https://nuget.pkg.github.com/sqlkata/index.json --api-key ${GITHUB_TOKEN} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/QueryBuilder.Tests/QueryBuilder.Tests.csproj b/QueryBuilder.Tests/QueryBuilder.Tests.csproj index cb0580b7..78e5f4de 100755 --- a/QueryBuilder.Tests/QueryBuilder.Tests.csproj +++ b/QueryBuilder.Tests/QueryBuilder.Tests.csproj @@ -1,19 +1,24 @@ - - net8.0 - Library - false - SqlKata.Tests - - - - - - - - - - - - + + net8.0 + Library + false + SqlKata.Tests + + + + + + + + + + + + \ No newline at end of file