diff --git a/.github/workflows/lint_pr_title.yml b/.github/workflows/lint_pr_title.yml new file mode 100644 index 00000000..1d4344ea --- /dev/null +++ b/.github/workflows/lint_pr_title.yml @@ -0,0 +1,24 @@ +# This workflow is used to verify if PR titles matches conventional commits strategy + +name: Lint PR Title +run-name: "Lint PR - (#${{ github.event.number }}) ${{ github.event.pull_request.title }}" + +permissions: + pull-requests: read + +on: + pull_request_target: + types: + - opened + - edited + - ready_for_review + +jobs: + lint: + name: Validate PR title matches conventional commits + runs-on: ubuntu-latest + if: github.actor != 'dependabot[bot]' + steps: + - uses: amannn/action-semantic-pull-request@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/pr_ci.yml b/.github/workflows/pr_ci.yml new file mode 100644 index 00000000..5cfda02b --- /dev/null +++ b/.github/workflows/pr_ci.yml @@ -0,0 +1,43 @@ +# This workflow will build and test a golang project + +name: PR CI +run-name: "CI pipeline for PR - (#${{ github.event.number }}) ${{ github.event.pull_request.title }}" + +on: + pull_request: + types: + - opened + - reopened + - synchronize + - ready_for_review + +jobs: + ci: + name: Run CI + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '1.21' + + - name: Download Go dependencies + run: go get ./... && go mod tidy + + - name: Check if all dependencies were commited + shell: bash + run: | + if [ "$(git status --porcelain)" ]; then + git status + exit 1 + else + exit 0 + fi + + - name: Build codegen + run: go build -v ./... + + - name: Test codegen + run: go test -v ./...