Skip to content

Commit

Permalink
Merge branch 'emilk:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
hacknus authored Aug 10, 2023
2 parents ed3a6ec + af64193 commit c68ec3a
Show file tree
Hide file tree
Showing 208 changed files with 6,483 additions and 4,010 deletions.
8 changes: 4 additions & 4 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ Please read the "Making a PR" section of [`CONTRIBUTING.md`](https://github.com/
* Keep your PR:s small and focused.
* If applicable, add a screenshot or gif.
* Unless this is a trivial change, add a line to the relevant `CHANGELOG.md` under "Unreleased".
* If it is a non-trivial addition, consider adding a demo for it to `egui_demo_lib`.
* Remember to run `cargo fmt` and `cargo clippy`.
* Open the PR as a draft until you have self-reviewed it and run `./sh/check.sh`.
* If it is a non-trivial addition, consider adding a demo for it to `egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for maintainers to add commits to your PR.
* Remember to run `cargo fmt` and `cargo cranky`.
* Open the PR as a draft until you have self-reviewed it and run `./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.
Please be patient! I will review you PR, but my time is limited!
Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# https://github.com/marketplace/actions/require-labels
# Check for existence of labels
# See all our labels at https://github.com/rerun-io/rerun/issues/labels

name: Pull Request Labels

on:
pull_request:
types:
- opened
- synchronize
- reopened
- labeled
- unlabeled

jobs:
label:
runs-on: ubuntu-latest
steps:
- name: Check for a "do-not-merge" label
uses: mheap/github-action-required-labels@v3
with:
mode: exactly
count: 0
labels: "do-not-merge"

- name: Require at least one label
uses: mheap/github-action-required-labels@v3
with:
mode: minimum
count: 1
labels: "CI, dependencies, docs and examples, ecolor, eframe, egui_extras, egui_glow, egui-wgpu, egui-winit, egui, epaint, plot, typo"
139 changes: 56 additions & 83 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,11 @@ jobs:
name: Format + check + test
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@master
with:
profile: default
toolchain: 1.65.0
override: true

- name: Install packages (Linux)
if: runner.os == 'Linux'
Expand All @@ -37,83 +35,57 @@ jobs:
uses: Swatinem/rust-cache@v2

- name: Rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
run: cargo fmt --all -- --check

- name: Install cargo-cranky
uses: baptiste0928/cargo-install@v1
with:
crate: cargo-cranky

- name: check --all-features
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --all-features --all-targets
run: cargo check --locked --all-features --all-targets

- name: check egui_extras --all-features
run: cargo check --locked --all-features --all-targets -p egui_extras

- name: check default features
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --all-targets
run: cargo check --locked --all-targets

- name: check --no-default-features
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --no-default-features --lib --all-targets
run: cargo check --locked --no-default-features --lib --all-targets

- name: check epaint --no-default-features
run: cargo check --locked --no-default-features --lib --all-targets -p epaint

- name: check eframe --no-default-features
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --no-default-features --lib --all-targets -p eframe
run: cargo check --locked --no-default-features --lib --all-targets -p eframe

- name: Test doc-tests
uses: actions-rs/cargo@v1
with:
command: test
args: --doc --all-features
run: cargo test --doc --all-features

- name: cargo doc --lib
uses: actions-rs/cargo@v1
with:
command: doc
args: --lib --no-deps --all-features
run: cargo doc --lib --no-deps --all-features

- name: cargo doc --document-private-items
uses: actions-rs/cargo@v1
with:
command: doc
args: --document-private-items --no-deps --all-features
run: cargo doc --document-private-items --no-deps --all-features

- name: Test
uses: actions-rs/cargo@v1
with:
command: test
args: --all-features
run: cargo test --all-features

- name: Cranky
uses: actions-rs/cargo@v1
with:
command: cranky
args: --all-targets --all-features -- -D warnings
run: cargo cranky --all-targets --all-features -- -D warnings

# ---------------------------------------------------------------------------

check_wasm:
name: Check wasm32 + wasm-bindgen
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
profile: minimal
toolchain: 1.65.0
target: wasm32-unknown-unknown
override: true
targets: wasm32-unknown-unknown

- run: sudo apt-get update && sudo apt-get install libgtk-3-dev

Expand All @@ -126,66 +98,72 @@ jobs:
crate: cargo-cranky

- name: Check wasm32 egui_demo_app
uses: actions-rs/cargo@v1
with:
command: check
args: -p egui_demo_app --lib --target wasm32-unknown-unknown
run: cargo check -p egui_demo_app --lib --target wasm32-unknown-unknown

- name: Check wasm32 egui_demo_app --all-features
uses: actions-rs/cargo@v1
with:
command: check
args: -p egui_demo_app --lib --target wasm32-unknown-unknown --all-features
run: cargo check -p egui_demo_app --lib --target wasm32-unknown-unknown --all-features

- name: Check wasm32 eframe
uses: actions-rs/cargo@v1
with:
command: check
args: -p eframe --lib --no-default-features --features glow,persistence --target wasm32-unknown-unknown
run: cargo check -p eframe --lib --no-default-features --features glow,persistence --target wasm32-unknown-unknown

- name: wasm-bindgen
uses: jetli/wasm-bindgen-action@v0.1.0
with:
version: "0.2.84"
version: "0.2.86"

- run: ./sh/wasm_bindgen_check.sh --skip-setup
- run: ./scripts/wasm_bindgen_check.sh --skip-setup

- name: Cranky wasm32
uses: actions-rs/cargo@v1
with:
command: cranky
args: --target wasm32-unknown-unknown --all-features -p egui_demo_app --lib -- -D warnings
run: ./scripts/clippy_wasm.sh

# ---------------------------------------------------------------------------

cargo-deny:
name: cargo deny
strategy:
fail-fast: false
matrix:
include:
- target: aarch64-apple-darwin
- target: aarch64-linux-android
- target: i686-pc-windows-gnu
- target: i686-pc-windows-msvc
- target: i686-unknown-linux-gnu
- target: wasm32-unknown-unknown
- target: x86_64-apple-darwin
- target: x86_64-pc-windows-gnu
- target: x86_64-pc-windows-msvc
- target: x86_64-unknown-linux-gnu
- target: x86_64-unknown-linux-musl
- target: x86_64-unknown-redox

name: cargo-deny ${{ matrix.target }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: EmbarkStudios/cargo-deny-action@v1
with:
rust-version: "1.65.0"
log-level: error
command: check
arguments: ${{ matrix.flags }} --target ${{ matrix.target }}

# ---------------------------------------------------------------------------

android:
name: android
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3

- uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@master
with:
profile: minimal
toolchain: 1.65.0
target: aarch64-linux-android
override: true
targets: aarch64-linux-android

- name: Set up cargo cache
uses: Swatinem/rust-cache@v2

- run: cargo check --features wgpu --target aarch64-linux-android
- run: cargo check --features wgpu,android-native-activity --target aarch64-linux-android
working-directory: crates/eframe

# ---------------------------------------------------------------------------
Expand All @@ -194,18 +172,13 @@ jobs:
name: Check Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@master
with:
profile: minimal
toolchain: 1.65.0
override: true

- name: Set up cargo cache
uses: Swatinem/rust-cache@v2

- name: Check
uses: actions-rs/cargo@v1
with:
command: check
args: --all-targets --all-features
run: cargo check --all-targets --all-features
17 changes: 17 additions & 0 deletions .github/workflows/typos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# https://github.com/crate-ci/typos
# Add exceptions to _typos.toml
# install and run locally: cargo install typos-cli && typos

name: Spell Check
on: [pull_request]

jobs:
run:
name: Spell Check
runs-on: ubuntu-latest
steps:
- name: Checkout Actions Repository
uses: actions/checkout@v3

- name: Check spelling of entire workspace
uses: crate-ci/typos@master
10 changes: 10 additions & 0 deletions .typos.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# https://github.com/crate-ci/typos
# install: cargo install typos-cli
# run: typos

[default.extend-words]
nknown = "nknown" # part of @55nknown username
Prefence = "Prefence" # typo in glutin_winit API

[files]
extend-exclude = ["docs/egui_demo_app.js"] # auto-generated
9 changes: 5 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,18 @@
}
},
"files.exclude": {
"target/**": true,
"target_ra/**": true,
"target_wasm/**": true,
"target/**": true,
},
// Tell Rust Analyzer to use its own target directory, so we don't need to wait for it to finish wen we want to `cargo run`
"rust-analyzer.checkOnSave.overrideCommand": [
"rust-analyzer.check.overrideCommand": [
"cargo",
"cranky",
"--target-dir=target_ra",
"--workspace",
"--message-format=json",
"--all-targets"
"--all-targets",
],
"rust-analyzer.cargo.buildScripts.overrideCommand": [
"cargo",
Expand All @@ -27,6 +28,6 @@
"--target-dir=target_ra",
"--workspace",
"--message-format=json",
"--all-targets"
"--all-targets",
],
}
2 changes: 1 addition & 1 deletion ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Architecture
This document describes how the crates that make up egui are all connected.

Also see [`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md) for what to do before opening a PR.
Also see [`CONTRIBUTING.md`](CONTRIBUTING.md) for what to do before opening a PR.


## Crate overview
Expand Down
Loading

0 comments on commit c68ec3a

Please sign in to comment.