Skip to content
New issue

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

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

Already on GitHub? # 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
- 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.

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

Successfully merging this pull request may close these issues.

3 participants