-
Notifications
You must be signed in to change notification settings - Fork 0
V1.0.0-alpha.1 #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 42 commits
b3c36dd
e70e5d7
47271ee
8cd5b67
a475d83
32ee3c9
a7755ff
421ca2e
fdf6806
1060a3c
5609050
c46f0ea
0e5ef0d
bb99dbc
b0525a2
f28e8d1
4039d3f
96f40cd
9e7923a
9fa10be
d5c846b
93e140f
3431612
e7dd0b4
ba60176
41af1b5
f8aa829
1fadaed
9cdd634
799994e
052c6cd
3f92768
d3be6d6
ad8582d
16dcb44
81cae1e
f23098f
a9f1478
3ecdec7
688243a
124af15
899c22a
0b8ae65
cbcd2cc
0825dc3
068011f
e0e849c
70c5854
d7e6fce
94a461e
6aaf2a3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| { | ||
| "name": "Swift 6.2", | ||
| "image": "swift:6.2", | ||
| "features": { | ||
| "ghcr.io/devcontainers/features/common-utils:2": { | ||
| "installZsh": "false", | ||
| "username": "vscode", | ||
| "upgradePackages": "false" | ||
| }, | ||
| "ghcr.io/devcontainers/features/git:1": { | ||
| "version": "os-provided", | ||
| "ppa": "false" | ||
| } | ||
| }, | ||
| "postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}", | ||
| "runArgs": [ | ||
| "--cap-add=SYS_PTRACE", | ||
| "--security-opt", | ||
| "seccomp=unconfined" | ||
| ], | ||
| "customizations": { | ||
| "vscode": { | ||
| "settings": { | ||
| "lldb.library": "/usr/lib/liblldb.so" | ||
| }, | ||
| "extensions": [ | ||
| "sswg.swift-lang" | ||
| ] | ||
| } | ||
| }, | ||
| "remoteUser": "root" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| { | ||
| "name": "Swift 6.1 Nightly", | ||
| "image": "swiftlang/swift:nightly-6.1-noble", | ||
| "features": { | ||
| "ghcr.io/devcontainers/features/common-utils:2": { | ||
| "installZsh": "false", | ||
| "username": "vscode", | ||
| "upgradePackages": "false" | ||
| }, | ||
| "ghcr.io/devcontainers/features/git:1": { | ||
| "version": "os-provided", | ||
| "ppa": "false" | ||
| } | ||
| }, | ||
| "postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}", | ||
| "runArgs": [ | ||
| "--cap-add=SYS_PTRACE", | ||
| "--security-opt", | ||
| "seccomp=unconfined" | ||
| ], | ||
| "customizations": { | ||
| "vscode": { | ||
| "settings": { | ||
| "lldb.library": "/usr/lib/liblldb.so" | ||
| }, | ||
| "extensions": [ | ||
| "sswg.swift-lang" | ||
| ] | ||
| } | ||
| }, | ||
| "remoteUser": "root" | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| { | ||
| "name": "Swift 6.1", | ||
| "image": "swift:6.1", | ||
| "features": { | ||
| "ghcr.io/devcontainers/features/common-utils:2": { | ||
| "installZsh": "false", | ||
| "username": "vscode", | ||
| "upgradePackages": "false" | ||
| }, | ||
| "ghcr.io/devcontainers/features/git:1": { | ||
| "version": "os-provided", | ||
| "ppa": "false" | ||
| } | ||
| }, | ||
| "postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}", | ||
| "runArgs": [ | ||
| "--cap-add=SYS_PTRACE", | ||
| "--security-opt", | ||
| "seccomp=unconfined" | ||
| ], | ||
| "customizations": { | ||
| "vscode": { | ||
| "settings": { | ||
| "lldb.library": "/usr/lib/liblldb.so" | ||
| }, | ||
| "extensions": [ | ||
| "sswg.swift-lang" | ||
| ] | ||
| } | ||
| }, | ||
| "remoteUser": "root" | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,40 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "name": "Swift 6.2 Nightly", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "image": "swiftlang/swift:nightly-6.2-noble", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "features": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "ghcr.io/devcontainers/features/common-utils:2": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "installZsh": "false", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "username": "vscode", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "upgradePackages": "false" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "ghcr.io/devcontainers/features/git:1": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "version": "os-provided", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "ppa": "false" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "runArgs": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "--cap-add=SYS_PTRACE", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "--security-opt", | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "seccomp=unconfined" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Configure tool-specific properties. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "customizations": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Configure properties specific to VS Code. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "vscode": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Set *default* container specific settings.json values on container create. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "settings": { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "lldb.library": "/usr/lib/liblldb.so" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Add the IDs of extensions you want installed when the container is created. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "extensions": [ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "sswg.swift-lang" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Use 'forwardPorts' to make a list of ports inside the container available locally. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // "forwardPorts": [], | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| // Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| "remoteUser": "root" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+21
to
+39
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion | 🟠 Major Remove inline comments for consistency across devcontainer variants. This nightly variant includes inline JSON comments (lines 21, 23, 25, 29, 35, 38) while stable Swift devcontainers omit them. Remove these comments to maintain consistent style across all devcontainer configurations: },
- // Configure tool-specific properties.
"customizations": {
- // Configure properties specific to VS Code.
"vscode": {
- // Set *default* container specific settings.json values on container create.
"settings": {
"lldb.library": "/usr/lib/liblldb.so"
},
- // Add the IDs of extensions you want installed when the container is created.
"extensions": [
"sswg.swift-lang"
]
}
},
- // Use 'forwardPorts' to make a list of ports inside the container available locally.
- // "forwardPorts": [],
-
- // Set `remoteUser` to `root` to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "root"📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| { | ||
| "name": "Swift 6.2", | ||
| "image": "swift:6.2", | ||
| "features": { | ||
| "ghcr.io/devcontainers/features/common-utils:2": { | ||
| "installZsh": "false", | ||
| "username": "vscode", | ||
| "upgradePackages": "false" | ||
| }, | ||
| "ghcr.io/devcontainers/features/git:1": { | ||
| "version": "os-provided", | ||
| "ppa": "false" | ||
| } | ||
| }, | ||
| "postStartCommand": "git config --global --add safe.directory ${containerWorkspaceFolder}", | ||
| "runArgs": [ | ||
| "--cap-add=SYS_PTRACE", | ||
| "--security-opt", | ||
| "seccomp=unconfined" | ||
| ], | ||
| "customizations": { | ||
| "vscode": { | ||
| "settings": { | ||
| "lldb.library": "/usr/lib/liblldb.so" | ||
| }, | ||
| "extensions": [ | ||
| "sswg.swift-lang" | ||
| ] | ||
| } | ||
| }, | ||
| "remoteUser": "root" | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,163 @@ | ||||||||||||||||||||||||||||||||||
| name: SundialKitCombine | ||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||||
| branches-ignore: | ||||||||||||||||||||||||||||||||||
| - '*WIP' | ||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||
| PACKAGE_NAME: SundialKitCombine | ||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||
| build-ubuntu: | ||||||||||||||||||||||||||||||||||
| name: Build on Ubuntu | ||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||
| container: ${{ matrix.swift.nightly && format('swiftlang/swift:nightly-{0}-{1}', matrix.swift.version, matrix.os) || format('swift:{0}-{1}', matrix.swift.version, matrix.os) }} | ||||||||||||||||||||||||||||||||||
| if: ${{ !contains(github.event.head_commit.message, 'ci skip') }} | ||||||||||||||||||||||||||||||||||
| strategy: | ||||||||||||||||||||||||||||||||||
| fail-fast: false | ||||||||||||||||||||||||||||||||||
| matrix: | ||||||||||||||||||||||||||||||||||
| os: [noble, jammy] | ||||||||||||||||||||||||||||||||||
| swift: | ||||||||||||||||||||||||||||||||||
| - version: "6.1" | ||||||||||||||||||||||||||||||||||
| - version: "6.2" | ||||||||||||||||||||||||||||||||||
| - version: "6.1" | ||||||||||||||||||||||||||||||||||
| nightly: true | ||||||||||||||||||||||||||||||||||
| - version: "6.2" | ||||||||||||||||||||||||||||||||||
| nightly: true | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+18
to
+24
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove duplicate matrix entries. The matrix contains duplicate entries for Swift 6.1 and 6.2. Lines 19-20 define non-nightly builds for these versions, while lines 21-24 define nightly builds with the same version numbers. However, the way the matrix is structured, lines 21 and 23 create duplicates because they specify the same version without additional distinguishing keys that affect the container selection. The intended logic appears to be:
Apply this diff to fix the matrix structure: matrix:
os: [noble, jammy]
swift:
- version: "6.1"
+ nightly: false
- version: "6.2"
+ nightly: false
- version: "6.1"
nightly: true
- version: "6.2"
nightly: trueOr if the intention is to only test nightly OR stable builds (not both), remove the duplicate entries: matrix:
os: [noble, jammy]
swift:
- version: "6.1"
- version: "6.2"
- - version: "6.1"
- nightly: true
- - version: "6.2"
- nightly: true📝 Committable suggestion
Suggested change
🧰 Tools🪛 actionlint (1.7.8)21-21: duplicate value {"nightly": "true", "version": "6.1"} is found in matrix "swift". the same value is at line:19,col:13 (matrix) 23-23: duplicate value {"nightly": "true", "version": "6.2"} is found in matrix "swift". the same value is at line:20,col:13 (matrix) 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||
| - name: Ensure remote dependencies | ||||||||||||||||||||||||||||||||||
| run: ./Scripts/ensure-remote-deps.sh | ||||||||||||||||||||||||||||||||||
| - uses: brightdigit/swift-build@v1.4.0 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| scheme: ${{ env.PACKAGE_NAME }} | ||||||||||||||||||||||||||||||||||
| skip-package-resolved: true | ||||||||||||||||||||||||||||||||||
| - uses: sersoft-gmbh/swift-coverage-action@v4 | ||||||||||||||||||||||||||||||||||
| id: coverage-files | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| fail-on-empty-output: true | ||||||||||||||||||||||||||||||||||
| - name: Upload coverage to Codecov | ||||||||||||||||||||||||||||||||||
| uses: codecov/codecov-action@v4 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| fail_ci_if_error: true | ||||||||||||||||||||||||||||||||||
| flags: swift-${{ matrix.swift.version }}-${{ matrix.os }}${{ matrix.swift.nightly && '-nightly' || '' }} | ||||||||||||||||||||||||||||||||||
| verbose: true | ||||||||||||||||||||||||||||||||||
| token: ${{ secrets.CODECOV_TOKEN }} | ||||||||||||||||||||||||||||||||||
| files: ${{ join(fromJSON(steps.coverage-files.outputs.files), ',') }} | ||||||||||||||||||||||||||||||||||
| build-macos: | ||||||||||||||||||||||||||||||||||
| name: Build on macOS | ||||||||||||||||||||||||||||||||||
| runs-on: ${{ matrix.runs-on }} | ||||||||||||||||||||||||||||||||||
| if: ${{ !contains(github.event.head_commit.message, 'ci skip') }} | ||||||||||||||||||||||||||||||||||
| strategy: | ||||||||||||||||||||||||||||||||||
| fail-fast: false | ||||||||||||||||||||||||||||||||||
| matrix: | ||||||||||||||||||||||||||||||||||
| include: | ||||||||||||||||||||||||||||||||||
| # SPM Build Matrix - Xcode 16.x+ (Swift 6.x) | ||||||||||||||||||||||||||||||||||
| - runs-on: macos-26 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_26.1.app" | ||||||||||||||||||||||||||||||||||
| - runs-on: macos-26 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_26.0.app" | ||||||||||||||||||||||||||||||||||
| - runs-on: macos-15 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_16.4.app" | ||||||||||||||||||||||||||||||||||
| - runs-on: macos-15 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_16.3.app" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| # iOS Build Matrix - Xcode 16.x+ (Swift 6.x) | ||||||||||||||||||||||||||||||||||
| - type: ios | ||||||||||||||||||||||||||||||||||
| runs-on: macos-26 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_26.1.app" | ||||||||||||||||||||||||||||||||||
| deviceName: "iPhone 17 Pro" | ||||||||||||||||||||||||||||||||||
| osVersion: "26.1" | ||||||||||||||||||||||||||||||||||
| download-platform: true | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - type: ios | ||||||||||||||||||||||||||||||||||
| runs-on: macos-26 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_26.0.app" | ||||||||||||||||||||||||||||||||||
| deviceName: "iPhone 17 Pro" | ||||||||||||||||||||||||||||||||||
| osVersion: "26.0.1" | ||||||||||||||||||||||||||||||||||
| download-platform: true | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - type: ios | ||||||||||||||||||||||||||||||||||
| runs-on: macos-15 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_16.4.app" | ||||||||||||||||||||||||||||||||||
| deviceName: "iPhone 16e" | ||||||||||||||||||||||||||||||||||
| osVersion: "18.5" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - type: ios | ||||||||||||||||||||||||||||||||||
| runs-on: macos-15 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_16.3.app" | ||||||||||||||||||||||||||||||||||
| deviceName: "iPhone 16" | ||||||||||||||||||||||||||||||||||
| osVersion: "18.4" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| # watchOS Build Matrix - Xcode 16.x+ (Swift 6.x) | ||||||||||||||||||||||||||||||||||
| - type: watchos | ||||||||||||||||||||||||||||||||||
| runs-on: macos-26 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_26.1.app" | ||||||||||||||||||||||||||||||||||
| deviceName: "Apple Watch Ultra 3 (49mm)" | ||||||||||||||||||||||||||||||||||
| osVersion: "26.0" | ||||||||||||||||||||||||||||||||||
| download-platform: true | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - type: watchos | ||||||||||||||||||||||||||||||||||
| runs-on: macos-26 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_26.0.app" | ||||||||||||||||||||||||||||||||||
| deviceName: "Apple Watch Ultra 3 (49mm)" | ||||||||||||||||||||||||||||||||||
| osVersion: "26.0" | ||||||||||||||||||||||||||||||||||
| download-platform: true | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - type: watchos | ||||||||||||||||||||||||||||||||||
| runs-on: macos-15 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_16.4.app" | ||||||||||||||||||||||||||||||||||
| deviceName: "Apple Watch Series 10 (46mm)" | ||||||||||||||||||||||||||||||||||
| osVersion: "11.5" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - type: watchos | ||||||||||||||||||||||||||||||||||
| runs-on: macos-15 | ||||||||||||||||||||||||||||||||||
| xcode: "/Applications/Xcode_16.3.app" | ||||||||||||||||||||||||||||||||||
| deviceName: "Apple Watch Series 10 (42mm)" | ||||||||||||||||||||||||||||||||||
| osVersion: "11.4" | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||
| - name: Ensure remote dependencies | ||||||||||||||||||||||||||||||||||
| run: ./Scripts/ensure-remote-deps.sh | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - name: Build and Test | ||||||||||||||||||||||||||||||||||
| uses: brightdigit/swift-build@v1.4.0 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| scheme: ${{ env.PACKAGE_NAME }} | ||||||||||||||||||||||||||||||||||
| type: ${{ matrix.type }} | ||||||||||||||||||||||||||||||||||
| xcode: ${{ matrix.xcode }} | ||||||||||||||||||||||||||||||||||
| deviceName: ${{ matrix.deviceName }} | ||||||||||||||||||||||||||||||||||
| osVersion: ${{ matrix.osVersion }} | ||||||||||||||||||||||||||||||||||
| download-platform: ${{ matrix.download-platform }} | ||||||||||||||||||||||||||||||||||
| skip-package-resolved: true | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| # Coverage Steps | ||||||||||||||||||||||||||||||||||
| - name: Process Coverage | ||||||||||||||||||||||||||||||||||
| uses: sersoft-gmbh/swift-coverage-action@v4 | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| - name: Upload Coverage | ||||||||||||||||||||||||||||||||||
| uses: codecov/codecov-action@v4 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| token: ${{ secrets.CODECOV_TOKEN }} | ||||||||||||||||||||||||||||||||||
| flags: ${{ matrix.type && format('{0}{1}', matrix.type, matrix.osVersion) || 'spm' }} | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| lint: | ||||||||||||||||||||||||||||||||||
| name: Linting | ||||||||||||||||||||||||||||||||||
| if: ${{ !contains(github.event.head_commit.message, 'ci skip') }} | ||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||
| needs: [build-ubuntu, build-macos] | ||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||
| LINT_MODE: STRICT | ||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||||
| - name: Ensure remote dependencies | ||||||||||||||||||||||||||||||||||
| run: ./Scripts/ensure-remote-deps.sh | ||||||||||||||||||||||||||||||||||
| - name: Install mise | ||||||||||||||||||||||||||||||||||
| uses: jdx/mise-action@v2 | ||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||
| version: 2024.11.0 | ||||||||||||||||||||||||||||||||||
| install: true | ||||||||||||||||||||||||||||||||||
| cache: true | ||||||||||||||||||||||||||||||||||
| - name: Lint | ||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||
| set -e | ||||||||||||||||||||||||||||||||||
| ./Scripts/lint.sh | ||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,57 @@ | ||
| name: Claude Code Review | ||
|
|
||
| on: | ||
| pull_request: | ||
| types: [opened, synchronize] | ||
| # Optional: Only run on specific file changes | ||
| # paths: | ||
| # - "src/**/*.ts" | ||
| # - "src/**/*.tsx" | ||
| # - "src/**/*.js" | ||
| # - "src/**/*.jsx" | ||
|
|
||
| jobs: | ||
| claude-review: | ||
| # Optional: Filter by PR author | ||
| # if: | | ||
| # github.event.pull_request.user.login == 'external-contributor' || | ||
| # github.event.pull_request.user.login == 'new-developer' || | ||
| # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' | ||
|
|
||
| runs-on: ubuntu-latest | ||
| permissions: | ||
| contents: read | ||
| pull-requests: read | ||
| issues: read | ||
| id-token: write | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 1 | ||
|
|
||
| - name: Run Claude Code Review | ||
| id: claude-review | ||
| uses: anthropics/claude-code-action@v1 | ||
| with: | ||
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | ||
| prompt: | | ||
| REPO: ${{ github.repository }} | ||
| PR NUMBER: ${{ github.event.pull_request.number }} | ||
| Please review this pull request and provide feedback on: | ||
| - Code quality and best practices | ||
| - Potential bugs or issues | ||
| - Performance considerations | ||
| - Security concerns | ||
| - Test coverage | ||
| Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback. | ||
| Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR. | ||
| # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md | ||
| # or https://docs.claude.com/en/docs/claude-code/cli-reference for available options | ||
| claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"' | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion | 🟠 Major
Fix indentation to match other devcontainer files.
Indentation in the features section uses 4+ spaces inconsistently compared to stable Swift devcontainers which use 2-space indentation. Normalize to match
.devcontainer/devcontainer.jsonand.devcontainer/swift-6.1/devcontainer.json:"features": { - "ghcr.io/devcontainers/features/common-utils:2": { - "installZsh": "false", - "username": "vscode", - "upgradePackages": "false" - }, - "ghcr.io/devcontainers/features/git:1": { - "version": "os-provided", - "ppa": "false" - } + "ghcr.io/devcontainers/features/common-utils:2": { + "installZsh": "false", + "username": "vscode", + "upgradePackages": "false" + }, + "ghcr.io/devcontainers/features/git:1": { + "version": "os-provided", + "ppa": "false" + }🤖 Prompt for AI Agents