Commit graph

116 commits

Author SHA1 Message Date
Leroy Hopson
9569c9e489 perf(term): add benchmarks
Adds benchmarks by running [alacritty/vtebench](https://github.com/alacritty/vtebench)
benchmarks in the terminal.
Uses code based on [godotengine/godot-benchmarks](https://github.com/godotengine/godot-benchmarks)
to measure average GPU and CPU time spent per frame.
Uses [github-action-benchmark](https://github.com/benchmark-action/github-action-benchmark)
for continuous integration, and publishes benchmark results to https://lihop.github.io/godot-xterm/dev/bench/.
2024-06-09 21:21:30 +12:00
Leroy Hopson
7efd7218b0
chore(ci): change build and test to weekly 2024-05-10 22:30:29 +12:00
Leroy Hopson
3ca272c615
feat(test): add visual regression testing
Will upload screenshots on failure.
2024-04-07 00:45:49 +13:00
Leroy Hopson
9f7e00f6a4
fix(ci): remove run_attempt from build name
By including run_attempt in build name, workflows could fail if only
re-running failed jobs.
2024-04-01 10:02:16 +13:00
Leroy Hopson
5232d24e6f
fix(ci): wait for linux binaries when exporting to web
Ensures we have both the linux and wasm binaries when exporting to web.
The linux binaries are required as the host system uses linux and will
fail to identify the GDExtension node types (PTY, Terminal) leading to
the export not including them.

Also removes the retry action as the initial export command was not
returning an error exit code anyway.
2024-04-01 09:36:10 +13:00
Leroy Hopson
ff95b60a56 feat(web): re-enable web exports 2024-03-30 22:52:39 +13:00
Leroy Hopson
fcad5d64b9
fix: use correct bits
Turns out the 32bit tests were actually using 64bit Godot and testing
the 64bit binaries.

This commit ensures that the tests use the correct builds and adds
32bit linux to the gdextension file.
2024-03-30 20:49:15 +13:00
Leroy Hopson
7778d68578
fix(ci): add run number and attempt to job name
Ensures that 'wait-for-check' will wait for builds of the same run
regardless of if there have been successful builds for other runs of the
same comit (e.g. when changes are menged in to main causing the branch
to be fast-forward and hence running CI for the same commit).
2024-03-30 20:29:42 +13:00
Leroy Hopson
5c6bcc45e3
Revert "fix(ci): make tests need builds to complete"
This reverts commit f9f055f08e.
2024-03-30 15:49:55 +13:00
Leroy Hopson
4afa6f770b
chore(bot): update dependabot pr labels 2024-03-30 02:59:20 +13:00
dependabot[bot]
e37062da18 chore(deps): bump mymindstorm/setup-emsdk from 11 to 14
Bumps [mymindstorm/setup-emsdk](https://github.com/mymindstorm/setup-emsdk) from 11 to 14.
- [Release notes](https://github.com/mymindstorm/setup-emsdk/releases)
- [Commits](https://github.com/mymindstorm/setup-emsdk/compare/v11...v14)

---
updated-dependencies:
- dependency-name: mymindstorm/setup-emsdk
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-30 02:52:24 +13:00
Leroy Hopson
f9f055f08e
fix(ci): make tests need builds to complete
The wait for action is not reliable, so tests are running before builds
have completed. By adding the explicit needs, tests will run at the
right time, but it will make workflow runs a bit slower.
2024-03-30 02:32:23 +13:00
dependabot[bot]
c4f0afc4f2 chore(deps): bump fountainhead/action-wait-for-check from 1.1.0 to 1.2.0
Bumps [fountainhead/action-wait-for-check](https://github.com/fountainhead/action-wait-for-check) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/fountainhead/action-wait-for-check/releases)
- [Commits](https://github.com/fountainhead/action-wait-for-check/compare/v1.1.0...v1.2.0)

---
updated-dependencies:
- dependency-name: fountainhead/action-wait-for-check
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-30 02:06:09 +13:00
dependabot[bot]
51e7fa651c chore(deps): bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-30 02:05:54 +13:00
Leroy Hopson
fc03595e29
fix(ci): fix additional gut test success condition
Was missing `grep -q`, also adds an additional check for when no tests
were run whatsoever.
2024-03-03 21:14:00 +13:00
Leroy Hopson
8255d8b3ce
fix(ci): exclude godot-cpp and libtsm from cache
The godot-cpp and libtsm dependecies are built via the SConstruct file
and therefore can be handled by the SCons cache. By caching the
seperately, changes to the submodules were being overwritten.
2024-03-03 21:04:40 +13:00
Leroy Hopson
c6609ebae5
feat(compat): make compatible with godot v4.2+
Previously the plugin could only be used with v4.2.1. This commit
extends support support back to v4.2.0.
2024-03-03 21:04:10 +13:00
Leroy Hopson
46f3aa12bf
chore(ci): enable debug symbols for debug builds
Exclude Windows as it leads to a "warning LNK4099: PDB '' was not found
with 'constants.windows.template_debug.x86_64.obj' or at ''" error on
subsequent runs.
2024-03-02 22:49:42 +13:00
Leroy Hopson
52a259b019
Run all test types on single runner 2024-02-25 17:21:13 +13:00
Leroy Hopson
f901d18052
Modify matrix 2024-02-25 17:21:09 +13:00
Leroy Hopson
1514f42b54
feat(pty): add initial pty node 2024-02-25 11:48:47 +13:00
Leroy Hopson
d223a458cd
Use matrix.os only for runs-on
Otherwise use matrix.platform.
2024-02-24 19:53:50 +13:00
Leroy Hopson
6e74b1508b
Merge multiple artifacts 2024-02-24 16:29:57 +13:00
Leroy Hopson
fa238465f8
Don't delay spinning up test runners 2024-02-24 16:20:17 +13:00
Leroy Hopson
b3ea3d4482
Detect rendering driver to use with macos runner 2024-02-24 16:18:50 +13:00
Leroy Hopson
60054e7ee0
Remove asset import job 2024-02-24 15:59:16 +13:00
Leroy Hopson
5c175d9192
Move test-type after platform and arch 2024-02-24 15:45:06 +13:00
Leroy Hopson
0bc4d8b5a2
Enable tests for macos 2024-02-24 12:04:21 +13:00
Leroy Hopson
22e0b4e484
Update remaining upload/download artifact actions 2024-02-24 10:11:51 +13:00
Leroy Hopson
11e42a820a
Partially update upload/download artifact action 2024-02-24 00:06:10 +13:00
Leroy Hopson
4771a3c9a7
Fix rendering according to test 2024-02-18 20:31:08 +13:00
Leroy Hopson
db3564f0cc
Setup tests
- Install Gut using gd-plug.
- Add some basic tests.
- Update workflow to run tests.
- Add test and gd-plug install/uninstall recipes to Justfile.
- Re-enable debug builds as these are used by editor when testing.
2024-02-18 14:06:25 +13:00
Leroy Hopson
c8ff3aa87d
Build only for release 2024-02-13 23:09:04 +13:00
Leroy Hopson
969c20197a
Run test job
But tests still disabled.
2024-02-13 22:56:43 +13:00
Leroy Hopson
420c774a43
Re-enable native builds 2024-02-13 20:34:47 +13:00
Leroy Hopson
4b7408a4d1
Disable tests until they are fixed 2024-02-13 15:11:39 +13:00
Leroy Hopson
aa2b93248e
Perform GDScript format checks using pre-commit 2024-02-13 11:27:07 +13:00
Leroy Hopson
8f08945df2
Update workflow dependencies 2024-02-13 11:15:32 +13:00
Leroy Hopson
83c181e1c8
Make 'Check Archive' job list hidden files 2024-02-13 11:10:14 +13:00
Leroy Hopson
d6ca4f2817
Merge remote-tracking branch 'origin/master' into godot4 2024-02-13 11:02:24 +13:00
dependabot[bot]
b6f1ec00fb chore(deps): bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 10:58:42 +13:00
Leroy Hopson
002e7aacc7
Auto-format files using new pre-commit config 2024-02-13 10:52:22 +13:00
dependabot[bot]
306f07f137 chore(deps): bump jpribyl/action-docker-layer-caching
Bumps [jpribyl/action-docker-layer-caching](https://github.com/jpribyl/action-docker-layer-caching) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/jpribyl/action-docker-layer-caching/releases)
- [Commits](https://github.com/jpribyl/action-docker-layer-caching/compare/v0.1.0...v0.1.1)

---
updated-dependencies:
- dependency-name: jpribyl/action-docker-layer-caching
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 10:39:42 +13:00
dependabot[bot]
ad82ae452b chore(deps): bump actions/cache from 3 to 4
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 10:38:08 +13:00
dependabot[bot]
b7fe98ab8d chore(deps): bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 10:29:21 +13:00
dependabot[bot]
e3100b1994 chore(deps): bump nick-fields/retry from 2 to 3
Bumps [nick-fields/retry](https://github.com/nick-fields/retry) from 2 to 3.
- [Release notes](https://github.com/nick-fields/retry/releases)
- [Changelog](https://github.com/nick-fields/retry/blob/master/.releaserc.js)
- [Commits](https://github.com/nick-fields/retry/compare/v2...v3)

---
updated-dependencies:
- dependency-name: nick-fields/retry
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 10:29:06 +13:00
dependabot[bot]
715c2f3bc6 chore(deps): bump jwlawson/actions-setup-cmake from 1 to 2
Bumps [jwlawson/actions-setup-cmake](https://github.com/jwlawson/actions-setup-cmake) from 1 to 2.
- [Release notes](https://github.com/jwlawson/actions-setup-cmake/releases)
- [Commits](https://github.com/jwlawson/actions-setup-cmake/compare/v1...v2)

---
updated-dependencies:
- dependency-name: jwlawson/actions-setup-cmake
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 10:29:02 +13:00
dependabot[bot]
469ecafd6d chore(deps): bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-13 10:28:57 +13:00
Leroy Hopson
bd817eb0ce
Add pre-commit config and auto-format files 2024-02-13 09:53:55 +13:00
Leroy Hopson
af16cb8653
Add dependabot config 2024-02-11 21:57:23 +13:00