Skip to content

fix: [#967] Restore trusted keyword with auto-wrap semantics #1186

fix: [#967] Restore trusted keyword with auto-wrap semantics

fix: [#967] Restore trusted keyword with auto-wrap semantics #1186

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
RUSTFLAGS: "-D warnings"
jobs:
rust:
name: Rust (fmt, clippy, test, build)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: "1.94.0"
components: rustfmt, clippy
- name: Cache cargo
uses: actions/cache@v5
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Format check
run: cargo fmt -- --check
- name: Clippy
run: cargo clippy -- -D warnings
- name: Tests
run: cargo test
- name: Build
run: cargo build
- name: Upload binary
uses: actions/upload-artifact@v7
with:
name: floe-binary
path: target/debug/floe
retention-days: 1
integration:
name: Integration tests (floe check & build)
needs: rust
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Download binary
uses: actions/download-artifact@v8
with:
name: floe-binary
- name: Make binary executable
run: chmod +x floe
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "22"
- name: Install pnpm
uses: pnpm/action-setup@v5
with:
version: 10
- name: Install example dependencies
run: pnpm install --frozen-lockfile
- name: Floe format check
run: |
./floe fmt --check examples/todo-app/src/
./floe fmt --check examples/store/src/
- name: Floe check examples
run: |
./floe check examples/todo-app/src/
./floe check examples/store/src/
- name: Floe build examples
run: |
./floe build examples/todo-app/src/
./floe build examples/store/src/
- name: TypeScript type-check examples
run: |
npx tsc --noEmit -p examples/store/tsconfig.json
npx tsc --noEmit -p examples/todo-app/tsconfig.json
lsp:
name: LSP integration tests
needs: rust
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Download binary
uses: actions/download-artifact@v8
with:
name: floe-binary
- name: Make binary executable
run: chmod +x floe
- name: Install pytest
run: pip install pytest
- name: LSP integration tests
run: python3 -m pytest tests/lsp/ --floe-bin=./floe -v --tb=short