Commit Graph

71 Commits

Author SHA1 Message Date
Ellie Huxtable
5b38448733
feat(gui): runbooks that run (#2233)
* add initial runbooks frontend

* fix buttons, scroll, add shell support to editor

* work

* some tweaks

* wip - run crate

* functioning executable blocks

* handle resizing, killing ptys

* clear properly on stop

* move terminal to its own component, handle lifecycle better

* fix all build issues

* ffs codespelll

* update lockfile

* clippy is needy once more

* only build pty stuff on mac/linux

* vendor pty handling into desktop

* update lockfile
2024-07-08 11:17:47 +01:00
Ellie Huxtable
a9e766f990
chore(ci): do not run current ci for ui (#2189) 2024-06-24 08:18:37 +01:00
Ellie Huxtable
4dd76d84ed
chore: update to cargo-dist 0.16, enable attestations (#2156) 2024-06-18 09:18:04 +01:00
Remo Senekowitsch
9fa223eaaf
chore(build): compile protobufs with protox (#2122)
* chore(build): compile protobufs with protox

protox is a pure-rust implementation of the protobuf compiler.
Therefore, it can be managed by cargo.

This removes the implicit dependency on protoc being available
in the environment for the build.

* fix(build): replace copypasta in build script

The paths passed to `compile` aren't actually used by the build.
`skip_protoc_run` prevents that.
That's why a clean build succeeds even with this mistake.

However, the paths are passed to a `cargo:rerun-if-changed` directive.
So this mistake would've caused a failed incremental build if the
protobuf definitions were changed.
2024-06-12 16:45:38 +01:00
Ellie Huxtable
279f57b6d7
chore: add installer e2e tests (#2110)
* chore: add installer e2e tests

* only run if edited or main
2024-06-10 17:01:00 +01:00
Ellie Huxtable
7ec002ba44
chore: switch to cargo dist for releases (#2085)
* chore: switch to cargo dist for releases

From https://axo.dev

cargo-dist handles building releases far better than we can, and do so
for several large projects now.

We will need to change our install script to use the cargo-dist
installer.

Historically, we have used the system package manager wherever possible.
Once switched to the new installer, this will no longer be the case. If
the user wishes to use their package manager, and Atuin is maintained
there, then they can choose to do so.

This way, we can ensure that users are running a known build, can easily
uninstall (just delete the atuin dir), easily update, etc. Builds will
use our lockfile, and can have their checksum verified. Later, I'd like
to introduce build signing.

As Axo are focused on release engineering, they will likely have
resolved many more issues than we have - libc versions, etc.

I'm not particularly happy with our response of "just use your package
manager", as many users seem to have difficulty there. It's unclear what
our installer has done, as this behaviour varies massively across
systems. It's also unclear how some package maintainers may have patched
things

I'm hoping that some better release tooling will lead to more confidence
in the process, and therefore more frequent releases.

Uninstall clarity: #111, #372, #640, #1485, #1546, #2049, #1529

* config

* add protobuf

* test build

* use native arm mac

* lol

* add toolchain

* use 1.78, 2vcpu

* nix flake update

* 1.77
2024-06-05 13:25:01 +01:00
Xavier Vello
df81d27544
chore(ci): don't run "Update Nix Deps" CI on forks (#2070) 2024-06-03 11:03:52 +01:00
Ellie Huxtable
bce0faa1c2
feat: add background daemon (#2006)
* init daemon crate

* wip

* minimal functioning daemon, needs cleanup for sure

* better errors

* add signal cleanup

* logging

* things

* add sync worker

* move daemon crate

* 30s -> 5mins

* make clippy happy

* fix stuff maybe?

* fmt

* trim packages

* rate limit fix

* more protoc huh

* this makes no sense, why linux why

* can it install literally just curl

* windows in ci is slow, and all the newer things will not work there. disable the daemon feature and it will build

* add daemon feature

* maybe this

* ok wut where is protoc

* try setting protoc

* hm

* try copying protoc

* remove optional

* add cross config

* idk nix

* does nix want this?

* some random pkg I found does this

* uh oh

* hack, be gone!

* update contributing
2024-05-08 12:09:04 +01:00
Ellie Huxtable
38ea7706a0
fix(ci): release workflow (#1978) 2024-04-24 16:45:35 +01:00
Ellie Huxtable
a0231a7095
chore(release): prepare for release v18.2.0 (#1950)
* chore(release): prepare for release v18.2.0

* disable codespell for the changelog
2024-04-15 10:37:28 +01:00
Ellie Huxtable
6cd4319fcf
feat(gui): add base structure (#1935)
* initial

* ui things

* cargo

* update, add history refresh button

* history page a bit better, add initial dotfiles page

* re-org layout

* bye squigglies

* add dotfiles ui, show aliases

* add default shell detection

* put stats in a little drawer, alias import changes

* use new table for aliases, add alias deleting

* support adding aliases

* close drawer when added, no alias autocomplete

* clippy, format

* attempt to ensure gdk is installed ok

* sudo

* no linux things on mac ffs

* I forgot we build for windows too... end of day

* remove tauri backend from workspace
2024-04-11 16:59:01 +01:00
Yaroslav Halchenko
28b0b490f9
chore(ci): Add codespell support (config, workflow) and make it fix some typos (#1916)
* Add github action to codespell main on push and PRs

* Add rudimentary codespell config

* ignore crate, inbetween etc

* [DATALAD RUNCMD] run codespell throughout fixing typo automagically but ignoring the failure due to ambigous typos

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w || :",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^

* [DATALAD RUNCMD] Do interactive fixing of  leftover ambigous typos

=== Do not change lines below ===
{
 "chain": [],
 "cmd": "codespell -w -i 3 -C 2",
 "exit": 0,
 "extra_inputs": [],
 "inputs": [],
 "outputs": [],
 "pwd": "."
}
^^^ Do not change lines above ^^^
2024-04-05 15:51:57 +01:00
Ellie Huxtable
c97f2375ad
chore(ci): setup nextest (#1848) 2024-03-10 19:07:23 +00:00
Rain
7d8b4b3398
chore(ci): add cross-compile job for illumos (#1830)
I also tried getting FreeBSD to work, but didn't get too far sadly. I don't
have the time to debug this so I just put in a comment for now. (With my
changes, Atuin works great on FreeBSD as well.)
2024-03-06 10:32:56 +00:00
Remmy Cat Stock
5f0e6dd307
feat(nushell): add nushell completion generation (#1791) 2024-02-29 11:08:32 +00:00
Patrick Jackson
81e7b58532
feat(nix): add update action (#1779) 2024-02-26 14:53:12 +00:00
Ellie Huxtable
6a2576fc5b
chore(ci): run rust build/test/check on 3 platforms (#1675)
* chore(ci): run rust build/test/check on 3 platforms

* need to properly test windows

* do not need to strip here, and windows has a suffix anyway
2024-02-05 09:28:55 +00:00
Ellie Huxtable
286f6eb5b3
chore(ci): re-enable test cache, add separate check step (#1663) 2024-02-01 15:08:01 +00:00
Ellie Huxtable
f6b541dbed
chore(ci): use github m1 for release builds (#1658) 2024-01-30 18:29:13 +00:00
Ellie Huxtable
2b94f05735
fix: disable musl deb building (#1525)
It never worked, and broke release building. I don't think we need musl
debs, but if so ensure they don't break install scripts

Resolve #1500
2024-01-09 11:49:00 +00:00
Ellie Huxtable
b7adf1d797
Fix cargo deb usage (#1337)
v2.0.0 of cargo deb added the revision number. I'd rather not change the
output name of our file, so force cargo-deb to stick to the "old"
behaviour
2023-10-26 16:13:54 +01:00
Ellie Huxtable
9f25ce581a
Revert "Revert "Revert "Use github runners for unit tests (for now) (#1279)" (#1294)" (#1295)" (#1325)
This reverts commit 089cb6847c.
2023-10-25 09:25:43 +01:00
Ellie Huxtable
ad4868567e
Checkout repo so the manifest publish step can read git (#1314) 2023-10-19 22:21:24 +01:00
Ellie Huxtable
62994ca264
use the short sha to tag images (#1313) 2023-10-19 22:07:24 +01:00
Ellie Huxtable
fef5986e9a Use ubuntu for x86, oops 2023-10-19 21:45:58 +01:00
Ellie Huxtable
ce114b1f37 Fix events 2023-10-19 21:41:14 +01:00
Ellie Huxtable
5a353d5ed1
Switch to Actuated for docker builds (#1312) 2023-10-19 21:39:40 +01:00
Ellie Huxtable
089cb6847c
Revert "Revert "Use github runners for unit tests (for now) (#1279)" (#1294)" (#1295)
This reverts commit 1054113469.
2023-10-08 11:50:30 -07:00
Ellie Huxtable
1054113469
Revert "Use github runners for unit tests (for now) (#1279)" (#1294)
This reverts commit 0abbcd6941.
2023-10-08 11:23:36 -07:00
Ellie Huxtable
0abbcd6941
Use github runners for unit tests (for now) (#1279)
My self hosted runner is much faster, but my house was hit by lightning
and the internet is down. I'm a few thousand miles away atm so won't be
able to sort it for a while.

Tests broken by _nature_.
2023-10-02 22:31:16 -07:00
Ellie Huxtable
f539580f0e
Revert "Re-enable linux/arm64 platform in CI docker build (#1276)" (#1278)
This reverts commit ab8a48b2e0.
2023-10-02 21:41:51 -07:00
rriski
ab8a48b2e0
Re-enable linux/arm64 platform in CI docker build (#1276)
This was previously enabled in #616 and then reverted in #730.
2023-10-02 20:32:32 -07:00
Tobias Genannt
b48de9bd9d
Run test build for client-only feature set (#1167) 2023-08-14 08:27:35 +00:00
Ellie Huxtable
2a41768afa
Split integration and unit tests, use runner for unit (#1134)
* Split integration and unit tests, use runner for unit

* Probs does not need cache as network is slow
2023-07-31 09:16:29 +01:00
Ellie Huxtable
43afb2d702
Add self hosted runner (#1133) 2023-07-30 23:16:01 +01:00
Conrad Ludgate
c10ba684e0
some simple server tests (#1096)
* some simple server tests

* fmt

* logging in server test

* log server errors

* fix postgres uri

* postgres ports

* localhost again?

* Rebase fixes

---------

Co-authored-by: Ellie Huxtable <ellie@elliehuxtable.com>
2023-07-27 09:34:13 +01:00
mmx
dea6898f2d
update release.yaml add RUSTFLAGS, add qemu-user, add QEMU_PREFIX before gen-completions (#872) 2023-06-13 08:54:27 +01:00
Ellie Huxtable
beadc95926
Upload tar before building deb (#898) 2023-04-19 09:04:31 +01:00
Ellie Huxtable
0feee3d189
Allow specifying tag to build for workflow_dispatch (#896) 2023-04-18 21:51:39 +01:00
Ellie Huxtable
cc5b167f92
Add package param to cargo deb (#895) 2023-04-18 21:43:17 +01:00
Ellie Huxtable
678323b543
Add workflow dispatch for release (#888) 2023-04-17 20:45:06 +01:00
Ellie Huxtable
83ed195d27
Fix release workflow (#885) 2023-04-16 12:52:06 +01:00
Patrick Jackson
3552c7e0d3
feat: add github action to test the nix builds (#833) 2023-03-31 08:59:46 +01:00
Marijan Smetko
3514ff2401
Update CI action steps (#814) 2023-03-28 21:44:23 +01:00
Marijan Smetko
b911d17800
Add musl build (#809)
Clean up

Trigger with everything but release

Remove trigger
2023-03-25 17:59:06 +00:00
Ellie Huxtable
79a2053340
Revert "Re-enable arm docker builds (#616)" (#730)
Docker builds are failing on ARM, let's see if they work on AMD.

Might be worth waiting until we have less C that needs building

This reverts commit f3894ef9c0.
2023-02-26 23:01:40 +00:00
Ellie Huxtable
1ee66b5816
Enable RUST_BACKTRACE for docker builds (#729)
They're failing on ARM atm, maybe this will help
2023-02-26 22:13:31 +00:00
Patrick Jackson
f3894ef9c0
Re-enable arm docker builds (#616) 2022-11-17 09:12:42 +00:00
Lucy
6bd82abf6c
Build ARM64 releases & update runners (#593)
Not entirely sure how to test this workflow.

Why weren't ARM64 builds being made anyways? The workflow literally has cases to handle it!

Fixes https://github.com/ellie/atuin/issues/369
2022-11-04 08:40:03 +00:00
Ellie Huxtable
706b1aff65
Disable ARM docker builds (#438)
These are failing and need investigating
2022-06-06 09:48:28 +01:00