diff --git a/.github/workflows/GenerateAsyncCode.yml b/.github/workflows/GenerateAsyncCode.yml new file mode 100644 index 00000000000..84f474ec756 --- /dev/null +++ b/.github/workflows/GenerateAsyncCode.yml @@ -0,0 +1,44 @@ +name: Generate Async code + +on: + pull_request_target: + paths: + - '**.cs' + +permissions: {} + +jobs: + generate-async: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.head.ref }} + repository: ${{ github.event.pull_request.head.repo.full_name }} + token: ${{ secrets.NHIBERNATE_BOT_TOKEN }} + + - name: Setup .NET + uses: actions/setup-dotnet@v2 + with: + dotnet-version: 6.0.x + + - name: Generate Async code + run: | + pushd src + dotnet tool restore + dotnet restore ./NHibernate.sln + dotnet async-generator + popd + + - name: Push changes + run: | + git config user.name github-actions[bot] + git config user.email github-actions[bot]@users.noreply.github.com + if [[ -z "$(git status --porcelain)" ]]; then + echo "No changes to commit" + exit 0 + fi + git add -A + git commit -am "Generate async files" + git push