39 Commits
Author SHA1 Message Date
Christopher Serr 75f5844159 Automatically release Tauri binaries (#951)
This makes it so we automatically release the Tauri binaries when we
merge a new change to the master branch.
2024-07-21 17:04:54 +00:00
Christopher Serr 4c078c1feb Fix binaryen usage in CI (#949)
More CI problems :(
2024-07-17 17:44:41 +00:00
Christopher Serr 5d3ee0402c Fix CI (#948)
Turns out it's not quite right yet.
2024-07-16 21:57:14 +02:00
Christopher Serr ccb4bbd1b4 Introduce a Tauri based desktop version (#940)
This introduces a Tauri based desktop version of LiveSplit One. For now
very few changes have been done. It's mostly global hotkeys that work
now. It's unclear if Tauri is the long term solution for LiveSplit One,
but it gets us global hotkeys and auto splitting with very little
effort, so we'll use it until something better comes along.
2024-07-15 21:14:45 +02:00
Christopher Serr 3b1b8b15c1 Clone the entire history in the CI workflow
This is necessary for the changelog generation to work correctly.
Additionally this includes an improvement to sort the contributors
alphabetically, if they have the same amount of contributions.
2024-06-01 12:05:18 +02:00
wooferzfg 98e4fb0886 Add -f to npm ci
Some packages' peer dependencies are broken now since they haven't been updated in years
2024-05-28 17:36:54 -05:00
Christopher Serr 0dc2a38b0a Fix wasm-opt in CI (#858)
Apparently it now requires you to specify which WebAssembly features to
activate.
2024-04-28 10:08:55 +02:00
wooferzfg 78a668f9e5 Remove tslint matcher step from CI (#856)
* Delete .github/workflows/tslint.json

* Remove tslint matcher step in CI
2024-04-17 02:00:07 +00:00
wooferzfg da21ee0e8e Switch to eslint 2024-04-16 20:14:28 -04:00
Christopher Serr c54123f150 Implement Layout Background Images (#844)
This adds support for layout background images. This also includes a
bunch of smaller fixes.
2024-02-24 13:22:56 +01:00
Christopher Serr 92ff28d9ef Activate WebAssembly SIMD by default (#779)
With Safari / iOS 16.4 having released, WebAssembly SIMD is now
available on all browsers. This should help with parsing performance.

While the update released just today, we do tell people to update iOS if
they haven't already, so I believe it's fine to already publish this.

https://webkit.org/blog/13966/webkit-features-in-safari-16-4/
2023-03-28 00:46:39 +02:00
Christopher Serr 9c4e22a4d5 Download a prebuilt version of binaryen (#777)
This downloads a prebuilt version of `binaryen` instead of manually
building it from scratch, which takes a very long time.
2023-03-12 22:16:20 +01:00
Christopher Serr 612de270f6 Fix livesplit-core bindings (#776)
Turns out that `wasm-bindgen` `v0.2.84` really requires us to import the
main module as that's where they now dynamically set the wasm file.
Additionally this improves our CI a little, by downloading a prebuilt
version of `wasm-bindgen-cli`.
2023-03-12 21:54:04 +01:00
Christopher Serr f1515265a2 Build Rust's std with immediate abort (#746)
We generally want the wasm file to be as compact as possible. However
because there's so many paths in Rust code that could panic, but don't
ever in practice as they are meant to signal bugs, the wasm file has to
keep around all those panic paths, and even worse, all the code for
formatting the panic messages for all those different types that could
be involved in a panic. This bloats the binary a lot. There's a nightly
feature to build the standard library as part of your compilation and
with that you can pass various features to the standard library, just
like with any other crate. And one of those features is to remove all
the formatting machinery from the panics and just immediately abort,
resulting in smaller binaries. On top of that by building the standard
library ourselves we also get to build it with all our target features,
meaning that its code will make use of all the additional WebAssembly
instructions that have been added since the MVP. So this essentially is
a big win. However this forces us to use the nightly compiler, but it
usually is actually quite stable. We won't be using any nightly features
of the language itself and only optionally use the compiler in our CI,
so the stable compiler continues to work just fine for local
development.
2022-11-08 01:18:32 +01:00
Christopher Serr 4a74d42012 Implement Hotkey Modifiers (#740)
This adds support for hotkey modifiers, such as Ctrl, Alt, Shift and the
Meta key. On top of that I ran `npm update` to truly update all the
packages to their latest semver compatible versions, which `dependabot`
doesn't seem to do for us. This also includes other updates in
`livesplit-core` that were done since the last update, such as the
precise formatting and parsing of the time stamps.
2022-10-12 17:50:09 +02:00
Christopher Serr df51936aea Update livesplit-core (#716)
This updates `livesplit-core` to the latest version. This mostly adds
custom variable columns and allows for the timer to visualize the delta
for the background. There's some performance improvements as well.

Also we now build `livesplit-core` in debug mode by default when
building locally. So compilation is a little bit
faster and additional debug checks are active, such as integer
overflows.
2022-09-28 20:27:36 +02:00
Christopher Serr 670d1efe63 Use the latest LTS version of node.js in the CI
Looks like the action now supports specifying that you just want the
latest LTS version without having to actually specify the specific
version.
2021-07-24 13:42:05 +02:00
Christopher Serr 219a2a9572 Use make -j2 instead of make -j
Apparently `-j` completely crashes the GitHub Actions runner (or at
least makes it hang).
2021-07-24 13:11:26 +02:00
Christopher Serr d31128799a Fix Hotkeys not being set properly
When changing the hotkeys in the settings, it doesn't properly set the
hotkeys anymore. This is because of a refactor that we merged in
`livesplit-core` that unregisters the hotkeys while the `HotkeySystem`
is deactivated. The hotkey settings deactivate the hotkeys so you
don't accidentally split / reset / ... the timer in the background. The
bug was that it was completely impossible to set hotkeys while
they are deactivated.
2021-07-24 12:45:11 +02:00
wooferzfg 7683190700 Update ci.yml to no longer use set-env (#471) 2020-12-10 13:24:32 -06:00
wooferzfg 2ae7175b9d Switch to peaceiris/actions-gh-pages@v3 2020-06-09 00:11:23 -05:00
wooferzfg ba0e5074cc Use actions/checkout for pulling submodules 2020-04-19 01:15:04 -05:00
Christopher Serr 2c2a32c65a Manually install wasm-bindgen again 2020-04-15 16:15:05 +02:00
wooferzfg 74befe0dd1 Switch to checkout@v2
Fixes https://github.com/actions/checkout/issues/23
2020-04-13 22:55:42 -05:00
Christopher Serr 38c1431c7a Remove wasm-gc and use cache 2020-04-11 12:31:04 +02:00
wooferzfg 511e5508b7 Use actions-rs/install for wasm-gc and wasm-bindgen-cli 2020-04-11 03:17:12 -05:00
wooferzfg 2a974684bb Move linter to normal build process 2020-03-16 00:16:40 -05:00
wooferzfg 3f03d715f7 Revert "Treat test failures as warnings"
This reverts commit b433ade359.
2020-03-02 21:49:31 -06:00
wooferzfg b433ade359 Treat test failures as warnings 2020-02-22 13:41:25 -06:00
wooferzfg 7257be67e7 Add a matcher for test failures 2020-02-22 13:23:19 -06:00
wooferzfg 4231cb59c2 Update actions to run tests 2020-02-21 23:09:08 -06:00
Christopher Serr cad5da9024 [CI] Don't pad the current week number
The default formatting pads the current week as 00..53. This works for every week other than the current two weeks in the year as those are formatted as 08 and 09. The shell however interprets those as integers in base 8 (octal) because of the initial 0 (blame C for this one), where 8 and 9 are not valid digits in base 8.

This commit removes the padding with 0 from the formatting.
2020-02-18 13:22:14 +01:00
Christopher Serr 1b263ab9c5 Use the stable Rust compiler 2020-02-01 19:20:43 +01:00
Christopher Serr c9b6919af7 Always install wasm-bindgen on CI 2020-01-28 18:42:48 +01:00
Christopher Serr 27c45166cd Fix gh-pages Deployment 2020-01-27 19:09:08 +01:00
wooferzfg f1ab0d0603 Key the caches by the current two weeks 2020-01-25 12:21:44 -06:00
Christopher Serr abf6acf1e8 Add a custom tslint problem matcher 2020-01-25 14:05:07 +01:00
wooferzfg fdd30b0dc8 Add linter to CI 2020-01-25 13:38:00 +01:00
wooferzfg 0df864ab72 Set up GitHub Actions 2020-01-19 16:44:36 -06:00