diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9abd463ec..9468c9129 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,8 +7,8 @@ on: branches: [ master ] jobs: - check: - name: Format and Doc + nightly: + name: Nightly, format and Doc runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 @@ -19,6 +19,9 @@ jobs: toolchain: nightly override: true components: rustfmt + - name: Install xcb libraries + run: sudo apt-get install -y libxcb-shape0-dev libxcb-xfixes0-dev + - name: Rustfmt check uses: actions-rs/cargo@v1 with: @@ -30,22 +33,30 @@ jobs: run: cargo doc --manifest-path kas-theme/Cargo.toml --features stack_dst,unsize --no-deps - name: doc (kas-wgpu) run: cargo doc --manifest-path kas-wgpu/Cargo.toml --features stack_dst,unsize --no-deps + - name: test (kas) + run: cargo test --all-features + - name: test (kas-theme) + run: cargo test --manifest-path kas-theme/Cargo.toml --all-features + - name: test (kas-wgpu) + run: cargo test --manifest-path kas-wgpu/Cargo.toml --all-features test: + name: Test runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest] - # disabled because of shaderc dependencies: windows-latest + os: [ubuntu-latest, macos-latest, windows-latest] + toolchain: [beta] steps: - uses: actions/checkout@v2 - - name: Install latest nightly + - name: Install toolchain uses: actions-rs/toolchain@v1 with: - toolchain: nightly - override: true + profile: minimal + toolchain: ${{ matrix.toolchain }} + override: true - name: Install xcb libraries if: matrix.os == 'ubuntu-latest' run: sudo apt-get install -y libxcb-shape0-dev libxcb-xfixes0-dev @@ -57,11 +68,10 @@ jobs: cargo test # Note: we must test serde without winit and with winit cargo test --features serde - cargo test --all-features + cargo test --features internal_doc,shaping,markdown,yaml,json - name: test (kas-theme) - run: | - cargo test --manifest-path kas-theme/Cargo.toml --all-features + run: cargo test --manifest-path kas-theme/Cargo.toml - name: test (kas-wgpu) run: | - cargo test - cargo test --manifest-path kas-wgpu/Cargo.toml --all-features + cargo test --manifest-path kas-wgpu/Cargo.toml + cargo test --manifest-path kas-wgpu/Cargo.toml --features shaping diff --git a/CHANGELOG.md b/CHANGELOG.md index 9860d2120..231fbcad4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.7.0] — ?? + +Updated MSRV to 1.52.0 (currently beta). + ## [0.6.0] — 2020-11-24 This release covers significant revisions to the KAS-text API along with initial diff --git a/README.md b/README.md index ce4d94289..fb8c203ac 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ KAS GUI [![Test Status](https://github.com/kas-gui/kas/workflows/Tests/badge.svg?event=push)](https://github.com/kas-gui/kas/actions) [![kas-text](https://img.shields.io/badge/GitHub-kas--text-blueviolet)](https://github.com/kas-gui/kas-text/) [![Docs](https://docs.rs/kas/badge.svg)](https://docs.rs/kas) -![Minimum rustc version](https://img.shields.io/badge/rustc-1.45+-lightgray.svg) +![Minimum rustc version](https://img.shields.io/badge/rustc-1.52+-lightgray.svg) KAS, (historically the *toolKit Abstraction System*), is a general-purpose GUI toolkit. KAS's design provides: @@ -114,9 +114,9 @@ Installation and dependencies #### Rust -KAS requires [Rust] version 1.45 or greater. All examples are compatible with -the **stable** channel, but using the **nightly** channel does have a couple of -advantages: +KAS requires [Rust] version 1.52 or greater (currently in **beta**: *usually* +we maintain compatibility with the latest stable release). +Using the **nightly** channel does have a couple of advantages: - Proceedural macros emit better diagnostics. In some cases, diagnostics are missed without nightly rustc, hence **nightly is recommended for development**. diff --git a/src/macros.rs b/src/macros.rs index 8aab83ed9..3721be0a1 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -303,7 +303,7 @@ //! elided types) and tends to produce terrible error messages. Accessing fields //! of the generated widgets from outside code is complicated. It would be much //! improved with [RFC 2524](https://github.com/rust-lang/rfcs/pull/2524) -//! (essentially, anonymous types). And it requires Rust 1.45.0 (or nightly). +//! (essentially, anonymous types). //! //! Lets start with some examples: //!