CARGO_NET_RETRY: 10
CI: 1
RUST_BACKTRACE: short
- RUSTFLAGS: "-D warnings -W unreachable-pub"
+ RUSTFLAGS: "-D warnings -W unreachable-pub -W rust-2021-compatibility"
RUSTUP_MAX_RETRIES: 10
jobs:
rust:
+ if: github.repository == 'rust-analyzer/rust-analyzer'
name: Rust
runs-on: ${{ matrix.os }}
env:
components: rustfmt, rust-src
- name: Cache Dependencies
- uses: Swatinem/rust-cache@v1
+ uses: Swatinem/rust-cache@ce325b60658c1b38465c06cc965b79baf32c1e72
- name: Compile
run: cargo test --no-run --locked
- name: Test
- run: cargo test
+ run: cargo test -- --nocapture --quiet
# Weird targets to catch non-portable code
rust-cross:
+ if: github.repository == 'rust-analyzer/rust-analyzer'
name: Rust Cross
runs-on: ubuntu-latest
env:
targets: "powerpc-unknown-linux-gnu x86_64-unknown-linux-musl"
+ # The rust-analyzer binary is not expected to compile on WASM, but the IDE
+ # crate should
+ targets_ide: "wasm32-unknown-unknown"
steps:
- name: Checkout repository
override: true
- name: Install Rust targets
- run: rustup target add ${{ env.targets }}
+ run: rustup target add ${{ env.targets }} ${{ env.targets_ide }}
- name: Cache Dependencies
- uses: Swatinem/rust-cache@v1
+ uses: Swatinem/rust-cache@ce325b60658c1b38465c06cc965b79baf32c1e72
- name: Check
run: |
for target in ${{ env.targets }}; do
cargo check --target=$target --all-targets
done
+ for target in ${{ env.targets_ide }}; do
+ cargo check -p ide --target=$target --all-targets
+ done
typescript:
+ if: github.repository == 'rust-analyzer/rust-analyzer'
name: TypeScript
strategy:
fail-fast: false
- name: Install Nodejs
uses: actions/setup-node@v1
with:
- node-version: 12.x
+ node-version: 14.x
+
+ - name: Install xvfb
+ if: matrix.os == 'ubuntu-latest'
+ run: sudo apt-get install -y xvfb
- run: npm ci
working-directory: ./editors/code
- run: npm run lint
working-directory: ./editors/code
- - name: Run vscode tests
- uses: GabrielBB/xvfb-action@v1.2
+ - name: Run VS Code tests (Linux)
+ if: matrix.os == 'ubuntu-latest'
env:
VSCODE_CLI: 1
- with:
- run: npm --prefix ./editors/code test
- # working-directory: ./editors/code # does not work: https://github.com/GabrielBB/xvfb-action/issues/8
+ run: xvfb-run npm test
+ working-directory: ./editors/code
+
+ - name: Run VS Code tests (Windows)
+ if: matrix.os == 'windows-latest'
+ env:
+ VSCODE_CLI: 1
+ run: npm test
+ working-directory: ./editors/code
+
+ - run: npm run pretest
+ working-directory: ./editors/code
- run: npm run package --scripts-prepend-node-path
working-directory: ./editors/code