diff --git a/.github/workflows/swift-format.yml b/.github/workflows/swift-format.yml new file mode 100644 index 000000000..527f4130c --- /dev/null +++ b/.github/workflows/swift-format.yml @@ -0,0 +1,30 @@ +name: swift-format Check + +on: + pull_request: + branches: [ main ] + +jobs: + format-check: + name: swift-format Check + runs-on: ubuntu-latest + container: + # Use use the latest Swift release and that's the version of swift-format + # people should use. + image: swift:latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Mark the workspace as safe + # https://github.com/actions/checkout/issues/766 + run: git config --global --add safe.directory ${GITHUB_WORKSPACE} + - name: Run format check + run: | + set -eu + git ls-files -z '*.swift' | xargs -0 swift format format --parallel --in-place + GIT_PAGER='' git diff --exit-code '*.swift' + # Disabled as it produces multiple warnings at the moment. + # - name: Run format lint check + # run: | + # set -eu + # git ls-files -z '*.swift' | xargs -0 swift format lint --strict --parallel