Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: create cross-platform workflow pipelines #47

Merged
merged 88 commits into from
Sep 22, 2024
Merged

ci: create cross-platform workflow pipelines #47

merged 88 commits into from
Sep 22, 2024

Conversation

falcucci
Copy link
Member

  • add a new github actions file for ci
  • define steps for fmt, clippy, test, and build jobs in the ci workflow

- add a new github actions file for ci
- define steps for fmt, clippy, test, and build jobs in the ci workflow
- modify the `parley` import in `src/shaper.rs` for better visibility
- update font settings in `src/test.rs` for `monospace xenon var regular` font styling
- add support for additional toolchains in the ci workflow
@falcucci falcucci self-assigned this Sep 17, 2024
- add new structs `drawablecontext`, `rendercontentparams`, `renderdrawableparams`
- make changes to the `draw_content` and `draw_mask` functions
- update the `drawcontext` struct
- modify the `renderer` struct and its methods
- remove unnecessary `as u64` conversions in geometry buffer write operations
- add step to install fonts for macos in ci workflow config.
- add default configuration for shell
- change font package from `font-hack-nerd-font` to `font-fira-code-nerd-font`
- add `font-profont-nerd-font` installation for macos in the ci workflow.
- add a new font installation step in the ci workflow
- add monospace nerd font to the list of installed fonts.
- add two new fonts to the macos setup in the github actions workflow
- remove `brew tap homebrew/cask-fonts` command from ci workflow
- add new font installations for `font-noto-nerd-font`
- adjust font installations, removing `font-monaspace-nerd-font` from the list
- update `user_test_data_path` to use `temp_dir_root_name` instead of `git_user`
- refactor `create_temp_dir` function to use `temp_dir_root_name` instead of hardcoding the root name
- add `wgpu-profiler` as a dependency in the cargo.toml file
- remove the `wgpu-profiler` dependency from the old location in the cargo.toml file
- introduce `wgpu_profiler` usage within `src/renderer.rs` for platforms other than macos
- initialize `gpuprofiler` object conditionally in `renderer` struct based on the platform
- refactor the `draw_mask` function for platform specific contexts
- adjust render pass creation logic for offscreen copy and layer rendering based on platform
- scope the `drawable` rendering based on platform conditions
- remove `use git2::repository;` from the imports
- add a new step named "cargo build" to the build job
- add homebrew installation steps for linux runner os in the ci workflow
- update the homebrew installation script for macos in the ci workflow
- add `eval "$(home/linuxbrew/.linuxbrew/bin/brew shellenv)"` to the linux ci job configuration
- fix a typo in the github action name
- update the brew shellenv command to use the homebrew_prefix variable
- update the homebrew installation commands for linux
- install `gcc` in the linux environment
- add multiple new font installations to the ci workflow in `ci.yml`
- update font installation commands to use `brew tap` and `brew install --cask`
- removal of the `font-monaspace` installation command
- update homebrew during ci workflow
- remove unnecessary tap command
- update font installations in the github actions workflow in `ci.yml`
- replace the `font-monaspace` installation with `font-meslo-lg-nerd-font` in the github actions workflow for ci.
- remove the `--cask` flag from the `brew install` command in `.github/workflows/ci.yml`
…-font`

- remove `font-meslo-lg-nerd-font` and add `font-monospace-nerd-font` to the dependencies in workflow `ci.yml`
- remove font installation script from the ci workflow
- add a conditional compilation attribute for windows to ignore a test
- remove `#[cfg_attr(target_os = "windows", ignore)]` from the `parley_line_breaking_and_font_fallback` test
- update the `lines` vector in the `font_styles` test function
- add a conditional block for `lines` vector when not on `windows` in `font_styles` function
- fix typo in font installation command
- modify font_styles function to remove redundant mutability
- add new font style 'caskaydiacove nerd font italic' with specific attributes
- remove redundant font style for non-windows systems
- fix typo in font style names
- remove .into() method calls from font style strings
- update font style names to match font file names
- ensure font style names are consistent
- add new font style tests with different variations
- include attribute assertions for each font style test
- comment out font cache restart in `ci.yml`
- change `rust_backtrace` to `full` for cargo test in `ci.yml`
- update the restart font cache job in the ci workflow for windows 2022
- update `force_fallback_adapter` to `true` in the `request_adapter` function
- change `force_fallback_adapter` value from `true` to `false`
- add new variables `wgpu_dx12_compiler`, `rust_log`, `rust_backtrace`
- move `mesa_version` and `ci_binary_build` variables to a different section
- change the target backend to `vulkan` for linux
- add support for all backends for windows
- change the target os check from `macos` to `linux`
- add a block for `windows` target os and include all `wgpu` backends
- commented out the `spirv_shader_passthrough` feature
- no other changes detected in `src/renderer.rs`
- decrease the `max_push_constant_size` from 256 to 128
…erer module

- rename the step "set up scoop" to "(windows) install fonts"
- add a new step "(macos) install fonts" specific to macos
- add a new step "(linux) install fonts" specific to ubuntu 22.04
- remove commented-out lines in the file
- remove the configuration for `timestamp_query` and `timestamp_query_inside_encoders` features from the windows block in `renderer.rs`
- modify the branch name from `ci` to `main` in the ci workflow file
@falcucci falcucci marked this pull request as ready for review September 21, 2024 18:03
@falcucci falcucci changed the title ci: create workflow with new github actions configuration ci: create cross-platform workflow pipelines Sep 21, 2024
src/renderer.rs Outdated Show resolved Hide resolved
- update `ci.yml` to listen for push events on the `ci` branch
- change dependencies based on the target operating system in `cargo.toml`
- modify conditional compilation for `macos` and `linux` in `src/renderer.rs`
- remove unnecessary code related to gpu profiling
- remove explicit disabling of timer queries in gpu profiler settings
- change gpuprofiler initialization to always use `new_with_tracy_client`
- disable timer queries in gpuprofiler initialization
- update branch filter in ci workflow to include `main` in addition to `ci`
- remove unnecessary code related to `instancedquad` from `src/scene/quad.rs`
- correct the function call to `add_text_layout` in `gen_debug_scene.rs`
- fix the initialization of `rect` in `gen_debug_scene.rs`
- adjust the position calculation in `gen_debug_scene.rs` for the `add_quad` function
- correct the function call to `add_text_layout` in `gen_debug_scene.rs` for `mask_layer`
@Kethku Kethku merged commit 970c239 into main Sep 22, 2024
25 checks passed
@Kethku
Copy link
Member

Kethku commented Sep 22, 2024

Love this. Thanks so much for putting the work in.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants