name: Check PR on: pull_request: merge_group: permissions: contents: read # for TimonVS/pr-labeler-action to read config file pull-requests: write # for TimonVS/pr-labeler-action to add labels in PR jobs: verify-pr: name: Test Lints if: github.event_name == 'pull_request' permissions: contents: read # for TimonVS/pr-labeler-action to read config file pull-requests: write # for TimonVS/pr-labeler-action to add labels in PR runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 # Required to fetch all history for merging - uses: TimonVS/pr-labeler-action@v5 with: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/pr-labeler.yml # optional, .github/pr-labeler.yml is the default value - name: Trunk Check uses: trunk-io/trunk-action@v1 test-builds: if: github.event_name == 'pull_request' runs-on: ubuntu-latest name: Test Builds steps: - name: Checkout repository uses: actions/checkout@v4 with: repository: onsonr/sonr fetch-depth: 0 fetch-tags: true - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - name: Run Sonrd Build run: make build test-unit: if: github.event_name == 'pull_request' runs-on: ubuntu-latest name: Test Unit steps: - name: Checkout repository uses: actions/checkout@v4 with: repository: onsonr/sonr fetch-depth: 0 fetch-tags: true - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - run: make test-unit test-race: runs-on: ubuntu-latest if: github.event_name == 'merge_group' name: Test Race continue-on-error: true steps: - name: Checkout repository uses: actions/checkout@v4 with: repository: onsonr/sonr fetch-depth: 0 fetch-tags: true - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - run: make test-race test-cover: runs-on: ubuntu-latest if: github.event_name == 'merge_group' name: Test Coverage steps: - name: Checkout repository uses: actions/checkout@v4 with: repository: onsonr/sonr fetch-depth: 0 fetch-tags: true - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - run: make test-cover validate-release: if: github.event_name == 'merge_group' || github.event_name == 'pull_request' runs-on: ubuntu-latest name: Test Release steps: - name: Checkout repository uses: actions/checkout@v4 with: repository: onsonr/sonr fetch-depth: 0 fetch-tags: true - uses: actions/setup-go@v5 with: go-version: "1.23" check-latest: true - name: Commitizen Dry Run uses: commitizen-tools/commitizen-action@master with: push: false dry_run: true github_token: ${{ secrets.GITHUB_TOKEN }} branch: main - name: Check GoReleaser Config run: make release-check env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: GoReleaser Dry Run run: make release-dry env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}