Commit Graph

47 Commits

Author SHA1 Message Date
daxpedda
24afaa5cfd Properly test -Zminimal-versions (#2429)
* Properly test `-Zminimal-versions`

* Fix minimal version requirement
2023-08-11 15:32:49 +02:00
Jim Blandy
543cae17a3 Bump MSRV to 1.65. 2023-08-02 09:25:31 -07:00
Fredrik Fornwall
981c1f9196 Fix installing naga-cli from git (#2398)
Move hl-snapshots out from the xtask workspace, since it's also used as
a dev dependency in the naga crate itself for a test.
2023-07-08 01:33:48 +02:00
Erich Gubler
daeb64c429 build(ci): trigger for ron files in HLSL shader snapshot test config. 2023-06-08 16:56:57 +02:00
Erich Gubler
91d48b2923 build: move from make to cargo xtask workflows
Re-implement `naga` development workflows using [`cargo xtask`]. Convert
`make` logic and shader test configuration as file with Bash variables
into an `xtask` crate and YAML files, respectively.

Pros:

* We now have a _portable_ workflow everywhere, which means Windows
  folks and people who don't install `make` don't have to suffer.
  😮‍💨
* Workflow logic is now relatively easy to inspect and change. Whew!
  💁🏻‍♂️💦
* Contributors can use their existing Rust knowledge to contribute to
  developer experience. 🎉
* `cargo xtask` is a relatively well-known convention for workflows in
  the ecosystem.
* We can do fancy things like allow folks to run at different log levels
  for workflows, depending on their tastes.

Cons:

* There's now a non-trivial compile step to project workflow.
  Incremental rebuilds seem to be pretty short, though!
* Code is much more verbose than the (very) terse `make` implementation.

[`cargo xtask`]: https://github.com/matklad/cargo-xtask
2023-06-08 16:56:57 +02:00
teoxoy
6fcd04ec06 run clippy on MSRV
+ tweak to get CI to run again
2023-03-16 15:51:59 +01:00
Teodor Tanasoaia
40b8f66146 Fix setup-dxc not found and make sure workflows run if their file was changed (#2247)
* fix setup-dxc not found

* run validation-windows if its workflow file was changed

* run validation-macos if its workflow file was changed

* run validation-linux if its workflow file was changed

* run lazy if its workflow file was changed
2023-02-10 13:44:57 +01:00
Teodor Tanasoaia
64f8691e52 Improve CI (#2241)
* update to actions/checkout@v3

* update to actions/upload-artifact@v3

* remove minor version

* remove unmaintained actions-rs actions

* update to codecov/codecov-action@v3

* use ubuntu-latest

* use extra cargo/rust env vars

* use cargo-nextest

* check naga-fuzz

* only check on MSRV and minimal-versions

* add whitespace between steps

* rename to CI

* use cargo-llvm-cov to generate code coverage
2023-02-06 17:47:18 +01:00
Teodor Tanasoaia
fe9db5dd8d install cargo-tarpaulin via cargo-binstall (#2220) 2023-01-25 18:21:24 +00:00
Timo de Kort
7effd12596 Update setup-dxc to v1.1.0 (#2204) 2023-01-11 18:23:42 +01:00
Teodor Tanasoaia
5b79cca384 bump MSRV to 1.63 (#2129) 2022-11-18 16:29:49 +00:00
Jim Blandy
7f5ec31825 Verify in CI that benchmarks build.
Also, the documentation job probably doesn't need Clippy.
2022-06-01 10:59:18 -07:00
teoxoy
62da3bf348 add HLSL validation via FXC to CI 2022-05-22 08:53:46 -07:00
teoxoy
88fff4c028 add minimal-versions check to CI 2022-04-17 20:59:59 -07:00
teoxoy
33085863b7 update msrv to 1.56 2022-04-16 08:32:31 -07:00
Dzmitry Malyshau
8fd8e7d575 Address Jim's notes 2022-02-17 09:49:33 -05:00
Dzmitry Malyshau
91990298b3 Don't test on MSRV, just check 2022-02-17 09:49:33 -05:00
Dzmitry Malyshau
b12ed2cc9e Fix arbitrary for MSRV 2022-01-14 12:44:27 -05:00
Benoît du Garreau
9f37624592 Don't pin indexmap version 2022-01-12 13:31:40 -05:00
Dzmitry Malyshau
323999fcb9 Fix span includes into function validation (#1500) 2021-10-31 23:58:58 -04:00
João Capucho
8c071ef122 [wgsl-in] Always flush expressions in function call (#1478) 2021-10-25 11:17:55 -07:00
Dzmitry Malyshau
943e321bc6 Fix lazy CI for snapshots 2021-10-05 21:58:39 -04:00
Igor Shaposhnik
3e1244c5cb Make shader validation under a separate feature (#1437) 2021-10-05 15:11:32 -04:00
João Capucho
9b34d503da Add formating checks to CI 2021-09-19 11:55:49 -04:00
Connor Fitzgerald
800f910103 Allow newer bitflags 2021-08-22 22:19:27 -04:00
João Capucho
d6643086f3 Check documentation errors in CI 2021-08-02 22:46:06 -04:00
Gordon-F
ef1194d69a [CI] Add dneto0 spirv-samples to lazy task 2021-06-30 12:00:33 -04:00
Igor Shaposhnik
1f42d4f227 Fix CI validation tasks 2021-06-24 17:26:35 -04:00
Igor Shaposhnik
b1ce49a217 Remove features from lazy CI task 2021-06-16 13:59:23 -04:00
Jim Blandy
fd83816945 Add . to the workspace's default members. Test with no features.
Naga is now a workspace with `naga` and `cli` as its two members. The default
package for cargo commands is `cli`, so that `cargo run` will just run the CLI.

However, this has a few unexpected consequences:

- Now `cargo test` will just try to run `cli`'s tests, of which there are none.
  Adding `"."` to the `default-members` list in the workspace's `Cargo.toml`
  seems to fix this, without breaking `cargo run`.

- Even with `"."` added to `default-members`, `cargo test` will build `naga` by
  default with the features requested for it in `cli/Cargo.toml`: all the front
  and back ends, but no `serialize` or `deserialize`. This means that our CI job
  meant to verify no-feature builds isn't doing that job any more. We need to
  pass `--package naga` to `cargo test` to make it test naga directly.
2021-06-16 13:53:00 -04:00
Igor Shaposhnik
343f786492 Fix testing infrastructure 2021-06-13 11:25:23 -04:00
Igor Shaposhnik
6c4012f9c4 Add Vulkan tutorial shaders to lazy check 2021-05-21 10:54:26 -04:00
Dzmitry Malyshau
47ada8182b Parse Dota2 shaders on CI in lazy mode 2021-05-19 23:26:26 -04:00
Dzmitry Malyshau
a37c37b8f5 Integrate codecov on CI 2021-05-06 12:39:43 -04:00
Timo de Kort
05d3608737 HLSL CI (#788)
* Add validation-windows yml for HLSL

Add workgroup size to hlsl-out

* Update Readme with Make target information

* Change runs on to windows-latest

* Remove snapshot file
2021-05-02 11:29:35 -04:00
Igor Shaposhnik
ce0720ac61 Add wgsl-out into test infrastructure (#730) 2021-04-19 09:19:03 -04:00
Dzmitry Malyshau
c2c93e4ecd Remove cargo-insta 2021-04-14 16:10:31 -04:00
Dzmitry Malyshau
fd34e0abb5 Install graphviz on CI 2021-03-04 10:03:22 -05:00
Dzmitry Malyshau
3fcc0759ed GraphViz backend 2021-03-03 21:20:12 -05:00
Dzmitry Malyshau
3b4935550d Separate validation job on macOS 2021-02-10 23:17:18 -05:00
Dzmitry Malyshau
bfbb30b375 Add CI action for validation of native shaders 2021-02-10 21:48:45 -05:00
Dzmitry Malyshau
2bdcacc2b0 Update MSRV to 1.43 2021-01-24 21:14:59 -05:00
Pelle Johnsen
e41dc6958c Make CI test on multiple rust versions (#159)
Use 1.41.0 and nightly
2020-08-27 10:30:04 -04:00
Dzmitry Malyshau
4797773152 Image IR refactor (#153) 2020-08-26 13:26:51 -04:00
Pelle Johnsen
6a3af2fe87 Add dependency on serialize for Rosetta tests (#150)
* Add dependency on serialize for Rosetta tests

Fixes #149

* Also run default cargo test on CI
2020-08-25 13:51:27 -04:00
João Capucho
b91b9ca987 Glsl frontend (#50)
* Basic glsl support

* Miscellaneous fixes and vertex shader works

* Added rudimentary texture and sampler support

* Basic preprocessor

* Added preprocessor if macros

* Pass tests and handle floats correctly

* Fix preprocessor if wrong precedence ordering when using macros
Refractor for the glsl parser
Partial primary expression parser

* Fix all clippy errors

* Cleanup

* Rollback formatting changes in lib.rs
2020-06-09 13:43:16 -04:00
João Capucho
706a88e21c Fix clippy errors (#62)
* Move from travis to github actions (#58)

* Added github actions

* Remove travis

* Fixed clippy warnings

* Add the clippy check to ci

* Move workflows to .github

* Fix missing clippy
2020-06-08 16:00:46 -04:00