Commit graph

53 commits

Author SHA1 Message Date
Keavon Chambers
a93dcb2776 Make the Clippy Check CI action not comment on draft PRs 2024-09-09 13:56:08 -07:00
Keavon Chambers
f2493d5308 Add self-hosted build asset deployment to GitHub releases in the CI action 2024-08-27 02:17:11 -07:00
Keavon Chambers
5d74178f5f Revamp the website 2024-08-17 18:54:15 -07:00
Dennis Kobert
4ae64519dd
Improve profiling CI action's comment output text (#1939)
* Improve profiling ci output

* Add padding to align output

* Remove always post comment switch

* Update .github/workflows/profiling.yaml

Co-authored-by: Keavon Chambers <keavon@keavon.com>

* Update .github/workflows/profiling.yaml

Co-authored-by: Keavon Chambers <keavon@keavon.com>

* Update .github/workflows/profiling.yaml

* Add padding to baseline line

* Apply suggestions from code review

* Swap order in details table

* Update .github/workflows/profiling.yaml

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-08-16 10:06:38 +00:00
Keavon Chambers
fa981a0897
New node: Assign Colors (#1938)
* New node: Assign Colors

* Simplify the Procedural String Lights demo artwork

* Add "Group" node to the node catalog

* Better comment styling in profiling action
2024-08-15 12:52:46 +00:00
Dennis Kobert
12ebc6f972
Add a profiling action to CI which comments on PRs with notable demo art performance variances (#1925)
* Add profile run to ci

* Remove cargo add

* Rename more main to master

* Don't run on master before the pr has been merged

* Fix pr comment step

* Fix comment v2

* Fix v3

* Fix missing features

* Fix string interpolation

* Only post comment on performance diff

* Fix benchmark runner

* Try adding escaping

* Remove escaped quotes

* Use proper master baseline

* Use proper master baseline

* Fix rebase regression

* Remove unused dependency
2024-08-15 13:33:49 +02:00
Keavon Chambers
15d125d8e7
Fix all Clippy warnings (#1936)
* Fix all Clippy warnings

* More fixes

* Bump criterion version

---------

Co-authored-by: dennis@kobert.dev <dennis@kobert.dev>
2024-08-14 17:05:08 +00:00
Dennis Kobert
858efb65bb
Post Clippy warnings as PR comments (#1926)
* Post clippy warnings as comment to pr

* Fix errors

* Test

* Install deps

* Add collapsed section to output

* Add proper code block formatting for warnings

* Delete previous pr comments
2024-08-14 10:48:28 +00:00
Dennis Kobert
0dfddd529b
Refactor document node type lookup function to fix performance degradation over time (#1878)
* Refactor document_node_types function

* Fix node introspection

* Implement diff based type updates

* Fix missing monitor nodes

* Improve docs and fix warings

* Fix wrongful removal of node paths

* Remove code examples for non pub methodsü

* Code review

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-08-08 17:37:28 -07:00
James Lindsay
32f5fba3e3 Blog post: Graphite progress report (Q2 2024) (#1805)
* Q2 blogpost

* WIP

* WIP 2

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2024-08-02 06:14:29 -07:00
Keavon Chambers
e1df23c28e Fix, document, and update npm dependencies and tooling; fix Bezier-rs demos not building (#1857)
Fix, document, and update npm dependencies; fix Bezier-rs demos not building

Closes #1853
2024-07-24 18:05:01 -07:00
Elbert Ronnie
52d2047ca6
Run Raw-rs tests only on CI (#1776)
run raw-rs tests only on CI
2024-06-11 01:26:54 -07:00
Keavon Chambers
fc8b41914b
Fix anti-aliasing in overlays by aligning everything with the pixel grid (#1603) 2024-02-13 20:47:16 -08:00
Dennis Kobert
d2450b4d61
Refactor Graphite dependency management (#1455)
* Refactor Graphite dependency management

* Remove deprecated future executor

* Code review nits

* Remove unused dependencies

* Update dependencies and make compile with all features

* Replace use of future_executor with wasm-bindgen-futures

---------

Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-12-04 12:39:55 +01:00
Keavon Chambers
4ea01345c2 Add !build-profiling command in PRs to request builds in profiling mode 2023-11-26 05:39:55 -08:00
Keavon Chambers
a6ca43bb2d
Restore ESLint and Prettier auto-formatting and CI linting (#1457)
* Restore ESLint and Prettier autoformatting

* Fix formatting and lints in web files

* Hacky fix to eslint crash

* Fix remaining lints

* Add lint-fix script

---------

Co-authored-by: 0hypercube <0hypercube@gmail.com>
2023-11-16 13:12:47 -08:00
Dennis Kobert
9784d31edb
Fix test compilation and allow the ci to run (#1456)
* Fix test compilation

* Don't fail if .wasm-pack dir does not exist
2023-11-14 23:01:40 +01:00
Keavon Chambers
5944186870 Add !build command for core team to create build links 2023-08-29 19:37:21 -07:00
Keavon Chambers
185106132d Move node graph from panel to overlay on viewport 2023-08-19 01:21:37 -07:00
Keavon Chambers
a871ea6d69 Add auto deployment infrastructure for website 2023-08-16 12:58:42 -07:00
Keavon Chambers
cfe38c6413 Fix prod deployment cache issue and analytics templating 2023-08-12 13:44:11 -07:00
Dennis Kobert
1fc3808b7f Reenable CI for forks and remove duplicate build link comment (#1339)
Reenable ci for forks and remove duplicate comment
2023-07-29 20:06:14 +02:00
Bruce Mitchener
3ed4af4ca6 Update GitHub Actions CI action versions (#1336)
ci: Update GitHub-supplied actions.

These are generating warnings in the GitHub Actions UI as they
are being forced to use a more current node.

Co-authored-by: Bruce Mitchener <bruce.mitchener@configura.com>
2023-07-29 06:36:32 +07:00
Dennis Kobert
74d2ed9786 Clear wasm-bindgen cache before compilation (#1334)
Clear wasm-bindgen cache before compilation
2023-07-28 08:35:53 +02:00
Dennis Kobert
45b04f4eb9 Lay groundwork for directly rendering to the canvas without a cpu roundrip (#1291)
* Add Texture handle type

* Add Texture View to shader inputs

* Implement basic rendering pipeline

* Render first texture using render pipeline

* Fix output color space

* Precompute the rendering pipeline

* Move gpu context creation to editor api

* Port gpu-executor nodes to node registry

* Fix canvas nodes and make code compile for non wasm targets

* Pin wasm-bindgen version

* Disable miri temoporarily for better ci times

* Fix formatting

* Remove unsafe block

* Bump wasm-pack version

* Bump wasm-bindgen version

* Add gpu feature guard for push node

* Make Into node async
2023-06-07 17:13:21 +02:00
Dennis Kobert
4e1bfddcd8 Remove unsafe code and clean up the code base in general (#1263)
* Remove unsafe code

* Make node graph test syncronous

* Add miri step to ci

* Remove unsafe from node graph evaluation

* Replace operation pseudo_hash with hash based on discriminant

* Fix test

* Move memo module to core and make it safe

* Fix formatting

* Remove unused stuff from gstd

* Use safe casting for creating key variants

* Fix memo node types

* Fix ref node

* "fix" ub

* Use correct input types for ExtractImageFrame

* Fix types for async nodes

* Fix missing implementation

* Manually override output type for async nodes

* Fix types for EditorApi

* Fix output type for WasmSurfaceHandle

* Remove unused miri.yml

* Fix incorrect type for cache node
2023-06-02 11:05:32 +02:00
Dennis Kobert
271f9d5158 Add monitor node for graph introspection
Adds a `serialize` function on Node which can be implemented by nodes to
allow introspecting their content. This pr also adds a Monitor Node that
always caches the last value it was evaluated with.

Test Plan: -

Reviewers: 0HyperCube

Reviewed By: 0HyperCube

Pull Request: https://github.com/GraphiteEditor/Graphite/pull/1165
2023-04-26 23:21:50 +02:00
Dennis Kobert
9cf93a9156 Run CI for non-master pushes/PRs
Disables the requirement of merging into master to run the ci.

Test Plan:
- Create a pr against a non master branch and verify the ci runs
    - Push to a non master branch and verify the ci runs

Reviewers: Keavon

Reviewed By: Keavon

Pull Request: https://github.com/GraphiteEditor/Graphite/pull/1166
2023-04-26 19:37:49 +02:00
Dennis Kobert
c61ea003a7 Continue execution of ci script if posting a comment fails
Test Plan:
Create PR run for forked repo and see if the CI still finishes even if
the commment creation fails

Reviewers:

Pull Request: https://github.com/GraphiteEditor/Graphite/pull/1164
2023-04-26 11:59:19 +02:00
Dennis Kobert
e6216009ee Migrate build system from Webpack to Parcel (#1102)
* Migrate webpack to parcel

* Always colour shell output

* Fix typos

* Fix updateImage function having undefined editorInstance

* Readd webpack for deployment builds (licence checker)

* Only use webpack for license generation

* Re add typscript support

* Fix cloudlare deploy

* Bump wasm-pack version

* Update ci script

* Print versions in ci script

* Use optional-dependencies for wasm-pack

* Execute wget after rust install

* Finding wasm-opt version

* Print wasm-opt version

* Revert test?

* Try to revert

* Deploy cloudflare via github actions

* Fix indentation in ci script

* Change project to graphite-dev

* Trigger ci

* Parcel ci (#1152)

* CI Test

* Add write permissions for pr

* Manually add cloudflare ci comment to prs

* Unskip cargo about

* Make compile on new versions of npm

* Add deployment script to rebuild editor.graphite.rs on tag creation

* Remove deploy script

* Comment out unused Svelte props causing warnings

* Many small fixes, including fixing @ imports

---------

Co-authored-by: hypercube <0hypercube@gmail.com>
Co-authored-by: Keavon Chambers <keavon@keavon.com>
2023-04-25 00:43:27 +02:00
Keavon Chambers
74d761dc84 Remove all references to Vue 2023-03-10 04:02:02 -08:00
Dennis Kobert
5462bf5f2f Use cargo nextest and sccache in ci (#1011)
* Use cargo nextest

* add sccache
2023-02-08 00:15:41 +01:00
Dennis Kobert
b030a1860b Add self hosted runner to ci.yml (#955)
* Add self hosted runner to ci.yml

* Remove libgtk install

* Use mold as the linker

* Make build logs non verbose

* Fix crash on failure to get GLOBAL_PLATFORM

* Copy the platform enum before calling unwrap_or_default

Co-authored-by: 0hypercube <0hypercube@gmail.com>
2023-01-13 21:32:50 +01:00
Dennis Kobert
329f0be6b2 Update package chache before install (#962) 2023-01-12 09:43:50 +01:00
Dennis Kobert
de5d02da00 Manually install packages instead of using github action (#943)
Fixes the fact that CI randomly stopped working on existing code in master that already passed CI
2023-01-03 10:04:42 +01:00
TrueDoctor
7d8f94462a Bundle Graphite using Tauri (#873)
* Setup tauri component for graphite editor

Integrate graphite into tauri app

Split interpreted-executor out of graph-craft

* Add gpu execution node

* General Cleanup
2022-12-07 12:49:34 +01:00
Keavon Chambers
0da034afc8 Skip cargo-about in CI to save 5 minutes (#409) 2021-12-20 02:22:19 -08:00
Keavon Chambers
75eb7c4839 Switch CI and CD scripts to use npm ci instead of npm install 2021-12-05 18:39:45 -08:00
Keavon Chambers
fa64cfad4b Switch to Node.js 16 LTS, upgrade TypeScript, ESLint, and other dependencies (#395)
* Upgrade TypeScript, ESLint, and other dependencies

This also cleans up various other files where newer ESLint rules complained

* Set CI and CD to use Node.js version 16

* Small tweak

* Fix CD version printing

* Add nvm version for Cloudflare Pages
2021-11-29 03:32:09 -08:00
Keavon Chambers
330697bb98 Upgrade Graphite to Rust 2021 edition; upgrade dependencies (#387)
* Upgrade Graphite to Rust 2021 edition; upgrade dependencies

* Fix CI

* Move changes to the project Cargo.tomls

* Remove unnecessary 2021 edition upgrade tweak

* Show version number before and after updating rustc

Co-authored-by: Dennis Kobert <dennis@kobert.dev>
# Conflicts:
#	Cargo.lock
2021-11-01 00:00:22 -07:00
Christian Authmann
fb517b3d5b Do not silently install cargo-about. (#377) 2021-09-19 16:58:04 +02:00
Keavon Chambers
fc7d3aa457 Auto-generate third-party license notices (#370)
Closes #294
Closes #371
2021-09-06 06:57:35 -07:00
bjorn3
47fbb8d0fa Set up cargo-deny (#358)
* Setup cargo-deny

* Nicer job names
2021-08-26 11:01:56 +02:00
Keavon Chambers
53ad105f57 Restructure project directories (#333)
`/client/web` -> `/frontend`
`/client/cli` -> *delete for now*
`/client/native` -> *delete for now*
`/core/editor` -> `/editor`
`/core/document` -> `/graphene`
`/core/renderer` -> `/charcoal`
`/core/proc-macro` -> `/proc-macros` *(now plural)*
2021-08-07 05:17:18 -07:00
Keavon Chambers
57540ed5ef Set CI environment variable to NODE_ENV=production during linting (#73) 2021-04-14 01:27:01 -07:00
Keavon Chambers
39286f8d78 Fix web lint errors and enable web linting in CI (#72) 2021-04-14 00:41:20 -07:00
Keavon Chambers
d5551a0b5c Remove continuous deployment with GitHub Actions 2021-04-10 22:02:36 -07:00
Keavon Chambers
447f0ec2b9 Clean up CI and CD scripts 2021-04-10 21:14:56 -07:00
Keavon Chambers
64ee09671e Set up deploy bot 2021-04-10 13:27:49 -07:00
Keavon Chambers
934286b1bd Fix deployment script syntax 2021-04-09 22:37:58 -07:00