From f25758fc7fc7047296b66a313cfbcf0363df850c Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Fri, 19 Dec 2025 22:28:34 +0400 Subject: [PATCH 1/2] ci: automate code formatting and linting with github actions --- .github/workflows/ci.yml | 17 +------------ .github/workflows/lint.yml | 50 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ff98b5b..0072ab4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -111,19 +111,4 @@ jobs: with: name: MergedTestResults path: test_output/final - retention-days: 30 - - discover-typos: - name: Discover Typos - runs-on: macos-15 - env: - DEVELOPER_DIR: /Applications/Xcode_14.1.app/Contents/Developer - steps: - - name: Checkout code - uses: actions/checkout@v6 - - name: Discover typos - run: | - export PATH="$PATH:/Library/Frameworks/Python.framework/Versions/3.11/bin" - python3 -m pip install --upgrade pip - python3 -m pip install codespell - codespell --ignore-words-list="hart,inout,msdos,sur" --skip="./.build/*,./.git/*" \ No newline at end of file + retention-days: 30 \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..6a7c5e6 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,50 @@ +name: lint + +on: + push: + branches: + - main + pull_request: + paths: + - "Sources/**" + - ".github/workflows/ci.yml" + - "Tests/**" + +concurrency: + group: lint-${{ github.head_ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + lint: + name: lint + runs-on: macos-15 + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + - uses: jdx/mise-action@v3 + - name: Run + run: mise run lint + + discover-typos: + name: discover-typos + runs-on: macos-15 + env: + DEVELOPER_DIR: /Applications/Xcode_16.4.app/Contents/Developer + steps: + - uses: actions/checkout@v6 + + - name: Set up Python environment + run: | + python3 -m venv .venv + source .venv/bin/activate + pip install --upgrade pip + pip install codespell + + - name: Discover typos + run: | + source .venv/bin/activate + codespell --ignore-words-list="hart,inout,msdos,sur" --skip="./.build/*,./.git/*" \ No newline at end of file From fedabbaa4603a98a5519f8de235e08df9a81bc4c Mon Sep 17 00:00:00 2001 From: Nikita Vasilev Date: Fri, 19 Dec 2025 23:04:09 +0400 Subject: [PATCH 2/2] chore: format the source code --- .../QueryParametersFormatter.swift | 10 +++++----- .../Core/Builders/RequestBuilder/RequestBuilder.swift | 2 +- .../NetworkLayer/Classes/DI/NetworkLayerAssembly.swift | 2 +- .../Helpers/Helpers/RequestProcessor+Mock.swift | 2 +- .../Classes/Tests/UnitTests/RequestBuilderTests.swift | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Sources/NetworkLayer/Classes/Core/Builders/RequestBuilder/QueryParametersFormatter/QueryParametersFormatter.swift b/Sources/NetworkLayer/Classes/Core/Builders/RequestBuilder/QueryParametersFormatter/QueryParametersFormatter.swift index 451ae11..0effb15 100644 --- a/Sources/NetworkLayer/Classes/Core/Builders/RequestBuilder/QueryParametersFormatter/QueryParametersFormatter.swift +++ b/Sources/NetworkLayer/Classes/Core/Builders/RequestBuilder/QueryParametersFormatter/QueryParametersFormatter.swift @@ -32,12 +32,12 @@ final class QueryParametersFormatter: IQueryParametersFormatter { func format(rawParameters: [AnyHashable: Any]) -> [String: String] { var result: [String: String] = [:] - rawParameters.forEach { key, value in + for (key, value) in rawParameters { guard let encodedKey = convertKeyToEncodedString(key), let encodedValue = convertValueToEncodedString(value) else { - return + continue } result[encodedKey] = encodedValue } @@ -49,11 +49,11 @@ final class QueryParametersFormatter: IQueryParametersFormatter { private func convertKeyToEncodedString(_ key: AnyHashable) -> String? { switch key { case let string as String: - return encodeQueryComponent(string) + encodeQueryComponent(string) case let encodedComponent as SpecificEncodedComponent: - return encodedComponent.encodedValue + encodedComponent.encodedValue case let convertible as CustomStringConvertible: - return encodeQueryComponent(convertible.description) + encodeQueryComponent(convertible.description) } } diff --git a/Sources/NetworkLayer/Classes/Core/Builders/RequestBuilder/RequestBuilder.swift b/Sources/NetworkLayer/Classes/Core/Builders/RequestBuilder/RequestBuilder.swift index 6fcf829..19e7a81 100644 --- a/Sources/NetworkLayer/Classes/Core/Builders/RequestBuilder/RequestBuilder.swift +++ b/Sources/NetworkLayer/Classes/Core/Builders/RequestBuilder/RequestBuilder.swift @@ -1,6 +1,6 @@ // // network-layer -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import Foundation diff --git a/Sources/NetworkLayer/Classes/DI/NetworkLayerAssembly.swift b/Sources/NetworkLayer/Classes/DI/NetworkLayerAssembly.swift index 119d080..6e9a8c2 100644 --- a/Sources/NetworkLayer/Classes/DI/NetworkLayerAssembly.swift +++ b/Sources/NetworkLayer/Classes/DI/NetworkLayerAssembly.swift @@ -1,6 +1,6 @@ // // network-layer -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import Foundation diff --git a/Tests/NetworkLayerTests/Classes/Helpers/Helpers/RequestProcessor+Mock.swift b/Tests/NetworkLayerTests/Classes/Helpers/Helpers/RequestProcessor+Mock.swift index c86ae0b..35c142c 100644 --- a/Tests/NetworkLayerTests/Classes/Helpers/Helpers/RequestProcessor+Mock.swift +++ b/Tests/NetworkLayerTests/Classes/Helpers/Helpers/RequestProcessor+Mock.swift @@ -1,6 +1,6 @@ // // network-layer -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import Foundation diff --git a/Tests/NetworkLayerTests/Classes/Tests/UnitTests/RequestBuilderTests.swift b/Tests/NetworkLayerTests/Classes/Tests/UnitTests/RequestBuilderTests.swift index f8577dd..e9f5b68 100644 --- a/Tests/NetworkLayerTests/Classes/Tests/UnitTests/RequestBuilderTests.swift +++ b/Tests/NetworkLayerTests/Classes/Tests/UnitTests/RequestBuilderTests.swift @@ -1,6 +1,6 @@ // // network-layer -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // @testable import NetworkLayer