Commit graph

1447 commits

Author SHA1 Message Date
Arne Beer 021dcfa5b5
fix: Remove explicit nix dependency 2022-12-26 13:08:46 +01:00
Arne Beer 86376c26d8
docs: Update some outdated docs 2022-12-13 11:56:12 +01:00
Arne Beer eed378e619
change: Enable thin lto 2022-12-13 11:50:17 +01:00
Arne Beer a093315f5d
chore: Release 2022-12-12 22:03:18 +01:00
Arne Beer 39cd5db067
chore: Release 2022-12-12 22:01:43 +01:00
Arne Beer 52468067f7
Merge pull request #398 from Nukesor/updates
Update all dependencies
2022-12-12 17:23:41 +01:00
Arne Beer bb6909222d
fix: Flaky reset test 2022-12-12 15:10:34 +01:00
Arne Beer b7aefbb146
chore: Update dependencies and pin to minor versions 2022-12-12 14:20:46 +01:00
Arne Beer e576126b18
refactor: Use new let else statement 2022-11-25 17:35:31 +01:00
Arne Beer bd6844f4c4
Merge pull request #394 from Nukesor/fix-darwin-libproc
fix: darwin-libproc version for publish
2022-11-22 00:03:21 +01:00
Arne Beer 3f28268fc1
fix: Run CI on all Cargo.toml changes 2022-11-21 23:53:20 +01:00
Arne Beer ce4937a722
fix: darwin-libproc version for publish 2022-11-21 23:49:01 +01:00
Arne Beer 2ab31272fd
chore: Update package versions 2022-11-21 23:10:54 +01:00
Arne Beer 6853cb304a
docs: Fix changelog wording 2022-11-21 18:13:38 +01:00
Arne Beer 358f6ef839
Merge pull request #392 from Nukesor/development
Development
2022-11-21 18:06:26 +01:00
Arne Beer 41e16c3297
chore: auto-format workflow files 2022-11-21 17:32:28 +01:00
Arne Beer 0b20956bbc
Merge branch 'main' into development 2022-11-21 17:07:36 +01:00
Arne Beer 12b0b4e204
Merge pull request #391 from Nukesor/v3-preparations
V3 preparations
2022-11-21 16:59:25 +01:00
Arne Beer befe99ffc2
change: Remove tls 1.2 support 2022-11-21 15:57:41 +01:00
Arne Beer bf8f213bb1
dev: Disable procfs default features 2022-11-21 15:57:40 +01:00
Arne Beer cc64191d40
dev: Disable crossterm default features 2022-11-21 15:57:40 +01:00
Arne Beer 7df4a38d65
fix: Chrono deprecation warnings 2022-11-21 15:57:40 +01:00
Arne Beer 816886d7d5
chore: Bump dependencies 2022-11-21 14:42:06 +01:00
Arne Beer db29be1245
docs: Prepare v3.0.0 changelog 2022-11-21 14:30:59 +01:00
Arne Beer f756841145
change: Remove children flags from messages 2022-11-21 14:30:59 +01:00
Arne Beer 28e4caedb4
Merge pull request #376 from mjpieters/process_groups
Give each task a separate process group
2022-11-21 13:20:24 +01:00
Martijn Pieters 936657c6c9
Include Mac builds in code coverage 2022-11-15 22:20:34 +00:00
Martijn Pieters 6706fcc5e8
Build for M1 chips, not A*
Output pueue builds for Apple M1 / M1Pro hardware (desktop / laptop) rather than
for iOS (iPad, iPhone), which have very limited task running support.
2022-11-15 22:20:34 +00:00
Martijn Pieters 72d182d777
Enable daemon and client testing on Mac 2022-11-15 22:20:33 +00:00
Martijn Pieters 2eb977f61b
Canonicalize snapshots with regards to temp paths
This helps make tests more robust across multiple platforms.
2022-11-15 22:20:33 +00:00
Martijn Pieters 7fc98c784f
Deprecate the --children switch
Signals go to the whole process group, period. This makes pueue behave exactly like an interactive shell, which sends signals to each process group and not just the foreground process in that job.
2022-11-15 22:20:32 +00:00
Martijn Pieters 8f23d5b924
Simplify child signalling by using From / Into 2022-11-14 21:35:11 +00:00
Martijn Pieters 6635d1e1b8
Give each task a separate process group
This makes it vastly easier to handle task singnalling; signals can be sent to all
processes in the group, including SIGTERM.

The Apple and Linux variants have largely been combined into a single codebase.
2022-11-14 21:35:09 +00:00
Arne Beer 9b69c422a4
Merge pull request #387 from Nukesor/local_time_logging
Local time logging
2022-11-14 14:19:03 +01:00
Arne Beer 4c27640484
fix: Use localtime for log output 2022-11-14 14:01:49 +01:00
Arne Beer c5a303ee36
Merge pull request #386 from Nukesor/task_creation
Task created_at and enqueued_at
2022-11-14 13:39:25 +01:00
Arne Beer 4762d2a90f
refactor: Streamline docblock position 2022-11-14 13:27:35 +01:00
Arne Beer a6d6963df7
add: Task.created_at and Task.enqueued_at 2022-11-14 13:21:21 +01:00
Arne Beer fcf6c30726
add: status query changelog entry 2022-11-14 12:25:56 +01:00
Arne Beer 57da8ff3a7
Merge pull request #384 from mjpieters/rust_165_warnings
Address warnings issued by new rust release.
2022-11-05 07:57:18 +01:00
Martijn Pieters fc7e362423
Address warnings issued by new rust release.
Rust 1.65.0 was released this week and clippy now [flags up needless
borrows in more situations][1]. This commit addresses the new warnings.

[1]: https://github.com/rust-lang/rust-clippy/blob/master/CHANGELOG.md#enhancements
2022-11-04 16:23:28 +00:00
Arne Beer ad21f142f4
Merge pull request #378 from mjpieters/project-unflake
Address flaky tests
2022-10-29 12:54:12 +02:00
Martijn Pieters 2bd359b837
Avoid forwarding messages to the task handler that won't succeed
This avoids a class of race errors where the message handler reports a failure but because the task handler sees a later iteration of the state, the request actually succeeds.
2022-10-28 20:27:58 +01:00
Martijn Pieters 5cfecbfb32
Fix flaky client::group::default test
The group command could be run before the `group add` command had
completed. Explicitly wait for the group to exist first.
2022-10-28 20:26:02 +01:00
Martijn Pieters 96ddcd40bf
Fix flaky daemon::group::colored test
The status output sometimes ran before the group state git changed; add
a group status wait for the state to change.
2022-10-28 20:26:02 +01:00
Martijn Pieters 9adf322df4
Make tests::helper::wait::wait_for_group_status actually wait
Make the function fetch a new status every loop iteration and actually
test the group status attribute against the expected status.

This fixes the flaking observed in `daemon_tests` ->
`daemon::edit::test_edit_flow`, where the final task state after editing
is 'Running' because the edit takes place before the 'Pause' operation
has completed.
2022-10-28 20:26:02 +01:00
Martijn Pieters 2cb281787e
Dev support: add test-log to help debug tests
With test-log, using the test_log::test macro to replace a `#[test]`
attribute (or to wrap a `#[tokio::test(...)]` attribute) injects logging
setup boilerplate to that test. Use `RUST_LOG=<level>` to then control
logging output for such tests, visible when the test fails or when using
`cargo test -- --nocapture` / `cargo nextest run --no-capture`.  The
default log level is 'error'.
2022-10-28 20:26:01 +01:00
Martijn Pieters 595e4d4128
Produce test reports for test runs
These will help surface flaky tests, and help PR authors see what tests
are failing, if any. The workflow uses the really excellent [Publish
Test Results][ptr] GitHub action to do all the heavy lifting.

[ptr]: https://github.com/marketplace/actions/publish-test-results
2022-10-28 20:25:29 +01:00
Martijn Pieters e355e38f9b
Use cargo nextest to run tests
Cargo nextest is faster, and handles flaky tests (tests that can fail even
though nothing changed). Both the regular test run and the coverage run include
it.
2022-10-28 20:25:28 +01:00
Arne Beer 6ccefcab0e
Merge pull request #381 from mjpieters/refactor_use_from_into
Refactor: Use From / Into to abstract message sending
2022-10-28 17:30:15 +02:00