Files
Tit Petric f3e46588c2 [TT-14010] Linter reconfig for golangci-lint (#6854)
### **User description**
<details open>
<summary><a href="https://tyktech.atlassian.net/browse/TT-14010"
title="TT-14010" target="_blank">TT-14010</a></summary>
  <br />
  <table>
    <tr>
      <th>Summary</th>
      <td>Linter reconfig for golangci-lint</td>
    </tr>
    <tr>
      <th>Type</th>
      <td>
<img alt="Story"
src="https://tyktech.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10315?size=medium"
/>
        Story
      </td>
    </tr>
    <tr>
      <th>Status</th>
      <td>In Dev</td>
    </tr>
    <tr>
      <th>Points</th>
      <td>N/A</td>
    </tr>
    <tr>
      <th>Labels</th>
<td><a
href="https://tyktech.atlassian.net/issues?jql=project%20%3D%20TT%20AND%20labels%20%3D%20SESAP%20ORDER%20BY%20created%20DESC"
title="SESAP">SESAP</a></td>
    </tr>
  </table>
</details>
<!--
  do not remove this marker as it will break jira-lint's functionality.
  added_by_jira_lint
-->

---

Reviews settings reported to sonarcloud, separates a dev-linter.
Updated git commit hooks to block for a release-oriented subset of
linters. CI does not block.

Code related linters (style, test practices) now managed with
`.golangci.dev.yml` (not used in CI).


___

### **PR Type**
Enhancement, Configuration changes


___

### **Description**
- Reconfigured `golangci-lint` with separate dev and CI configurations.

- Updated CI workflows to use new linter configurations.

- Enhanced taskfiles for streamlined linting and testing processes.

- Improved linter settings for better code quality and maintainability.


___



### **Changes walkthrough** 📝
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Configuration
changes</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>ci-tests.yml</strong><dd><code>Update CI workflows for
new linter configurations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.github/workflows/ci-tests.yml

<li>Updated <code>golangci-lint</code> commands for PR and push
events.<br> <li> Added comments to clarify linter configurations for
CI.<br> <li> Adjusted exit codes for PR and push workflows.


</details>


  </td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6854/files#diff-03609cb60b0c6e92fb771eb8787d6722b8c31ca4c03eabc788e147acd8c6fb43">+4/-1</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>.golangci.dev.yml</strong><dd><code>Add
development-specific linter configuration</code>&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

.golangci.dev.yml

<li>Added a new configuration file for development linting.<br> <li>
Enabled and disabled specific linters for dev use.<br> <li> Configured
linter settings for better development practices.


</details>


  </td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6854/files#diff-aafdd9476ad9984a4a828ceb481af2a5bc6da1606d3b917c2f3575615b7780f4">+135/-0</a>&nbsp;
</td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>.golangci.yml</strong><dd><code>Update release linter
configuration</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.golangci.yml

<li>Adjusted linter configurations for release-oriented linting.<br>
<li> Disabled dev-specific linters and enabled release-critical
ones.<br> <li> Added detailed comments for linter guidelines.


</details>


  </td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6854/files#diff-6179837f7df53a6f05c522b6b7bb566d484d5465d9894fb04910dd08bb40dcc9">+49/-57</a>&nbsp;
</td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>hooks.yml</strong><dd><code>Update pre-commit hooks for
new linter configuration</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

.taskfiles/hooks.yml

<li>Updated pre-commit hooks to use the new dev linter
configuration.<br> <li> Simplified linter command for pre-commit tasks.


</details>


  </td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6854/files#diff-4c8ab53446d9cfd97f77a7242f379e0951db3fcd68b2e5d0d78ed5b3960cd574">+1/-3</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr><tr><td><strong>Enhancement</strong></td><td><table>
<tr>
  <td>
    <details>
<summary><strong>lint.yml</strong><dd><code>Enhance linter tasks in
taskfiles</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </dd></summary>
<hr>

.taskfiles/lint.yml

<li>Added tasks for fixing and comparing linter configurations.<br> <li>
Updated linter tasks to use new configurations.<br> <li> Enhanced output
handling for linter results.


</details>


  </td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6854/files#diff-363848321486b220d237efdc32336314ea3369c113f64fdfbec6a38ea62faf66">+12/-3</a>&nbsp;
&nbsp; </td>

</tr>

<tr>
  <td>
    <details>
<summary><strong>test.yml</strong><dd><code>Update test task
configurations</code>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</dd></summary>
<hr>

.taskfiles/test.yml

<li>Adjusted test arguments to include timeout settings.<br> <li>
Simplified test commands for better readability.<br> <li> Improved
coverage report generation.


</details>


  </td>
<td><a
href="https://github.com/TykTechnologies/tyk/pull/6854/files#diff-f1fbe7f7f14888019b8845634ed008e1c43f6e5a5c0b2707336fc7f8e15a36fb">+3/-4</a>&nbsp;
&nbsp; &nbsp; </td>

</tr>
</table></td></tr></tr></tbody></table>

___

> <details> <summary> Need help?</summary><li>Type <code>/help how to
...</code> in the comments thread for any questions about PR-Agent
usage.</li><li>Check out the <a
href="https://qodo-merge-docs.qodo.ai/usage-guide/">documentation</a>
for more information.</li></details>

---------

Co-authored-by: Tit Petric <tit@tyk.io>
2025-02-03 20:04:45 +00:00

25 lines
1.3 KiB
Plaintext

# SysE/DevOps ownership of CI release pipeline, repo policy, automations.
/ci/ @TykTechnologies/devops
.github/workflows/release.yml @TykTechnologies/devops
# Core API Squad ownership of CI test pipeline and developer tooling.
/bin/ @TykTechnologies/core-api-squad
.github/workflows/ci-tests.yml @TykTechnologies/core-api-squad
.github/workflows/release-tests.yml @TykTechnologies/core-api-squad
/.taskfiles/ @TykTechnologies/core-api-squad
/Dockerfile @TykTechnologies/core-api-squad
/docker/ @TykTechnologies/core-api-squad
/Makefile @TykTechnologies/core-api-squad
/Taskfile.yml @TykTechnologies/core-api-squad
/docker-compose.yml @TykTechnologies/core-api-squad
/.golangci.yml @TykTechnologies/core-api-squad
/.golangci.dev.yml @TykTechnologies/core-api-squad
# Core API Squad ownership of plugin compiler and related tests.
/smoke-tests/ @TykTechnologies/core-api-squad
/ci/tests/ @TykTechnologies/core-api-squad
/ci/images/plugin-compiler/ @TykTechnologies/core-api-squad