Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 2
Sync workflows + lint configs from MistKit; fix all warnings#159
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
Uh oh!
There was an error while loading. Please reload this page.
Changes from all commits
4bee9f367fe7488456e3aed97e43File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| name: Setup mise tools | ||
| description: >- | ||
| Restore (or build + save) the mise tool cache and put the binaries on PATH. | ||
| Implemented as a composite action so the cache scope is the caller job's | ||
| scope — reusable workflows scope caches separately, which silently breaks | ||
| hand-off between a setup job and a consumer lint job. | ||
| runs: | ||
| using: composite | ||
| steps: | ||
| - name: Cache mise tools | ||
| id: mise-cache | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ~/.local/share/mise/installs | ||
| key: mise-v2-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('mise.toml') }} | ||
| restore-keys: | | ||
| mise-v2-${{ runner.os }}-${{ runner.arch }}- | ||
| - name: Install mise tools (cache miss) | ||
| if: steps.mise-cache.outputs.cache-hit != 'true' | ||
| uses: jdx/mise-action@v4 | ||
| with: | ||
| cache: false | ||
| - name: Configure PATH for cached mise tools | ||
| if: steps.mise-cache.outputs.cache-hit == 'true' | ||
| uses: jdx/mise-action@v4 | ||
| with: | ||
| install: false | ||
| cache: false |
leogdion marked this conversation as resolved.
Uh oh!There was an error while loading. Please reload this page. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| name: Check for unsafeFlags | ||
| on: | ||
| push: | ||
| branches: [ "main" ] | ||
| pull_request: | ||
| branches: [ "main" ] | ||
| jobs: | ||
| dump-package-check: | ||
| name: Dump Swift package (authoritative) and scan JSON | ||
| runs-on: ubuntu-latest | ||
| container: | ||
| image: swift:latest | ||
| steps: | ||
| - name: Checkout | ||
| uses: actions/checkout@v6 | ||
| - name: Install jq | ||
| run: | | ||
| apt-get update && apt-get install -y jq | ||
| - name: Dump package JSON and check for unsafeFlags | ||
| shell: bash | ||
| run: | | ||
| set -euo pipefail | ||
| # Compute unsafeFlags array directly from the dump (don't store the full dump variable) | ||
| unsafe_flags=$(swift package dump-package | jq -c '[.. | objects | .unsafeFlags? // empty]') | ||
| # Check array length to decide failure | ||
| if [ "$(echo "$unsafe_flags" | jq 'length')" -gt 0 ]; then | ||
| echo "ERROR: unsafeFlags found in resolved package JSON:" | ||
| echo "$unsafe_flags" | jq '.' || true | ||
| echo "--- resolved package dump (first 200 lines) ---" | ||
| # Print a sample of the authoritative dump (re-run dump-package for the sample) | ||
| swift package dump-package | sed -n '1,200p' || true | ||
| exit 1 | ||
| else | ||
| echo "No unsafeFlags in resolved package JSON." | ||
| fi |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| name: Swift Source Compatibility | ||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
| workflow_dispatch: | ||
| jobs: | ||
| swift-source-compat-suite: | ||
| name: Test Swift ${{ matrix.container }} For Source Compatibility Suite | ||
| runs-on: ubuntu-latest | ||
| if: ${{ !contains(github.event.head_commit.message, 'ci skip') }} | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| container: | ||
| - swift:6.0 | ||
| - swift:6.1 | ||
leogdion marked this conversation as resolved.
Uh oh!There was an error while loading. Please reload this page. | ||
| - swift:6.2 | ||
| - swift:6.3 | ||
| container: ${{ matrix.container }} | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v6 | ||
| - name: Test Swift 6.x For Source Compatibility | ||
| run: swift build --disable-sandbox --verbose --configuration release | ||
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.