Skip to content

Commit 57fdb1a

Browse files
3.6.0
Co-authored-by: ASAIStudio <269804335+ASAIStudio@users.noreply.github.com> Co-authored-by: CreperBerig <57676523+CreperBerig@users.noreply.github.com>
1 parent 3664c7b commit 57fdb1a

275 files changed

Lines changed: 19859 additions & 10447 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/synx/action.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: "SYNX Validate"
2+
description: "Validate .synx files using the synx CLI"
3+
author: "APERTURESyndicate"
4+
5+
inputs:
6+
files:
7+
description: "Glob pattern for .synx files to validate"
8+
required: false
9+
default: "**/*.synx"
10+
strict:
11+
description: "Treat marker resolution errors as failures"
12+
required: false
13+
default: "false"
14+
version:
15+
description: "synx-cli version to install (default: latest)"
16+
required: false
17+
default: "latest"
18+
19+
runs:
20+
using: "composite"
21+
steps:
22+
- name: Install Rust toolchain
23+
uses: dtolnay/rust-toolchain@stable
24+
25+
- name: Install synx CLI
26+
shell: bash
27+
run: |
28+
if [ "${{ inputs.version }}" = "latest" ]; then
29+
cargo install synx-cli --locked
30+
else
31+
cargo install synx-cli@${{ inputs.version }} --locked
32+
fi
33+
34+
- name: Validate .synx files
35+
shell: bash
36+
run: |
37+
set -e
38+
STRICT_FLAG=""
39+
if [ "${{ inputs.strict }}" = "true" ]; then
40+
STRICT_FLAG="--strict"
41+
fi
42+
43+
FILES=$(find . -name '*.synx' -path '${{ inputs.files }}' 2>/dev/null || \
44+
find . -name '*.synx' 2>/dev/null)
45+
46+
if [ -z "$FILES" ]; then
47+
echo "No .synx files found matching '${{ inputs.files }}'"
48+
exit 0
49+
fi
50+
51+
FAILED=0
52+
PASSED=0
53+
for f in $FILES; do
54+
if synx validate "$f" $STRICT_FLAG; then
55+
PASSED=$((PASSED + 1))
56+
else
57+
FAILED=$((FAILED + 1))
58+
fi
59+
done
60+
61+
echo ""
62+
echo "Results: $PASSED passed, $FAILED failed"
63+
64+
if [ "$FAILED" -gt 0 ]; then
65+
exit 1
66+
fi

.github/workflows/bindings-smoke.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ jobs:
2222
os: ubuntu-latest
2323
- check: node-smoke
2424
os: windows-latest
25+
- check: kotlin-smoke
26+
os: ubuntu-latest
2527
steps:
2628
- name: Checkout
2729
uses: actions/checkout@v4
@@ -61,6 +63,13 @@ jobs:
6163
if: matrix.check == 'wasm-smoke'
6264
run: cargo test -p synx-wasm --lib
6365

66+
- name: Setup Java (Kotlin / JNA)
67+
if: matrix.check == 'kotlin-smoke'
68+
uses: actions/setup-java@v4
69+
with:
70+
distribution: temurin
71+
java-version: '17'
72+
6473
- name: Setup Node
6574
if: matrix.check == 'node-smoke'
6675
uses: actions/setup-node@v4
@@ -80,3 +89,14 @@ jobs:
8089
if: matrix.check == 'node-smoke'
8190
working-directory: bindings/node
8291
run: node smoke.js
92+
93+
- name: Build synx-c for Kotlin/JNA
94+
if: matrix.check == 'kotlin-smoke'
95+
run: cargo build -p synx-c --release
96+
97+
- name: Kotlin / JVM smoke (Gradle)
98+
if: matrix.check == 'kotlin-smoke'
99+
working-directory: bindings/kotlin
100+
env:
101+
SYNX_LIB_DIR: ${{ github.workspace }}/target/release
102+
run: chmod +x ./gradlew && ./gradlew test --no-daemon

.gitignore

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
# JavaScript / Node.js
22
dist/
33
node_modules/
4-
*.js
5-
!jest.config.js
64
*.d.ts
75
*.map
86
*.vsix
@@ -23,6 +21,21 @@ htmlcov/
2321
target/
2422
.cargo/
2523

24+
# Fuzzing (cargo-fuzz)
25+
**/fuzz/corpus/
26+
**/fuzz/artifacts/
27+
**/fuzz/coverage/
28+
**/fuzz/target/
29+
**/fuzz/.cxx/
30+
31+
# synx-core local artifacts
32+
crates/synx-core/.synx.lock
33+
crates/synx-core/libclang.dll
34+
35+
# Tree-sitter (generated)
36+
tree-sitter-synx/src/
37+
tree-sitter-synx/build/
38+
2639
# Environment
2740
.venv/
2841
.env
@@ -31,6 +44,22 @@ target/
3144
# IDE
3245
.vscode/
3346
.idea/
47+
48+
# Visual Studio extension
49+
**/integrations/visualstudio/**/bin/
50+
**/integrations/visualstudio/**/obj/
51+
**/packages/synx-visualstudio/**/bin/
52+
**/packages/synx-visualstudio/**/obj/
53+
54+
# Local publish outputs (publish-*.bat)
55+
artifacts/
56+
57+
# Kotlin / Gradle (bindings/kotlin)
58+
bindings/kotlin/.gradle/
59+
60+
# .NET build outputs (parsers)
61+
parsers/**/bin/
62+
parsers/**/obj/
3463
*.swp
3564
*.swo
3665
*~
@@ -41,9 +70,16 @@ Thumbs.db
4170

4271
# Scripts (local build/publish helpers)
4372
*.bat
73+
!publish-*.bat
4474

4575
# Logs
4676
*.log
4777

4878
# Claude
4979
.claudeignore
80+
81+
# Integrations — local npm install (never commit)
82+
integrations/**/node_modules/
83+
84+
# Accidental duplicate MCP folder at repo root (delete if present)
85+
/synx-mcp/

CHANGELOG.md

Lines changed: 100 additions & 4 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)