Commit graph

188 commits

Author SHA1 Message Date
Clement Tsang
7e1a0a9744
ci: bump checkout to v3 (#744)
Bumps `checkout` calls to v3.
2022-06-02 15:05:43 -04:00
Clement Tsang
6745736622
deployment: unify build release action between nightly/deploy (#743)
Unifies nightly and deployment workflows using a shared action yml file to avoid as much duplication. Also updates the download-artifact action to v3.
2022-06-02 05:10:17 -04:00
Clement Tsang
dae3c07cd7
ci: update cargo_llvm_cov to 0.4.4 (#741) 2022-05-31 10:06:31 -04:00
Clement Tsang
54d042ac56
deployment: deletes the debian folder in case of unwanted leftover files (#740)
Deletes the generated debian folder in nightly/deploy workflows, as I don't want to cache it.
2022-05-28 17:40:33 -04:00
Clement Tsang
96d5b9b87d
deployment: add aarch64/armv7 gnu .deb generation (#739)
Adds .deb generation for aarch64 and armv7 gnu targets in the nightly and deploy workflows.
2022-05-28 16:14:25 -04:00
Clement Tsang
42909dba35
ci: fix missing aarch64 build (#738) 2022-05-25 17:06:38 -04:00
Clement Tsang
7fb9e00251
ci: note release sizes in nightly/deploy (#733)
Make a note of release sizes in the nightly/deploy scripts. This is mostly just in case I need to refer to it in the future (mainly for nightly, as the actual generated files are overwritten daily).
2022-05-18 19:09:50 -04:00
Clement Tsang
98e7fbbeab
ci: add back paths field to coverage workflow (#728) 2022-05-07 19:57:56 -04:00
Clement Tsang
460869f281
deployment: add arm musl targets (#726)
Adds musl targets to the nightly and deployment workflows.
2022-05-07 15:53:39 -04:00
Clement Tsang
9882a9bd08
ci: move cargo fmt step into supported job (#722)
Moves the rustfmt step into the supported job, to avoid having to wait too long for machine spinup time if they are separate jobs.
2022-05-01 17:53:08 -04:00
ClementTsang
715af44efc ci: create deploy feature; test in CI
This encompasses features that we want on deployment.
2022-05-01 17:30:20 -04:00
ClementTsang
6e2ea8eeda ci: remove caching step from cargo fmt check 2022-05-01 17:12:20 -04:00
ClementTsang
8cc361e443 ci: clean up ci workflow 2022-05-01 16:56:40 -04:00
ClementTsang
a9da449cef ci: update rust-cache to 1.4.0 2022-05-01 15:47:30 -04:00
Clement Tsang
e646a76630
ci: disable debug symbols and incremental in CI, force locked #719
Disables incremental compilation and debug symbols in CI and other related workflows, since they're not used there at all. Also forces --locked as needed.
2022-04-29 18:15:49 -04:00
Clement Tsang
b9a356f581
ci: lock cargo-llvm-cov install in script (#715)
Super small change, install cargo-llvm-cov with --locked.
2022-04-28 01:39:58 -04:00
ClementTsang
19430a1a49 ci: reduce code cov skip conditions 2022-04-28 01:18:27 -04:00
ClementTsang
a6933d89b3 ci: try using llvm-cov instead of tarpaulin 2022-04-28 00:31:58 -04:00
Clement Tsang
d43bd6147d
bug: change as_ref() to build in Rust beta 1.61.0 (#711)
This changes various as_ref() calls as needed in order for bottom to successfully build in Rust beta 1.61, as they were causing type inference issues. These calls were either removed or changed to an alternative that does build (e.g. as_slice()).

Functionally, there should be no change.

For context, see:
- https://github.com/ClementTsang/bottom/issues/708
- https://github.com/rust-lang/rust/issues/96074
2022-04-27 18:34:49 -04:00
Clement Tsang
194a769b1d
ci: use locked builds in deploy and nightly (#700)
Adds --locked to the build process for nightly and deploy workflows.
2022-04-10 01:11:10 -04:00
Clement Tsang
44e6923a5d
ci: update cargo deb to 1.37 (#699) 2022-04-08 17:45:18 -04:00
Clement Tsang
f2b8b4e842
other: add manpage file to cargo deb config, move back to build script (#693)
Adds the asset for the manpage to cargo deb config. Also moves the generated manpage file to a .1.gz file. Also, moves back to a build script since that was causing some issues for the automatic Cargo.toml fields detection for manpage and completion generation.

To prevent compilation from happening every time, and only in CI, we use an env var to avoid generation steps.
2022-03-11 06:45:05 -05:00
Clement Tsang
8087f0b636
ci: add manpage generation, migrate build script (#692)
Adds manpage generation to the build process, as well as following the xtask concept of adding additional build scripts that only need to run on deploy/nightly as opposed to `build.rs`. Note this doesn't follow the recommended method of using workplaces because I don't really want to shift the entire repo structure just for this.

More on xtask: https://github.com/matklad/cargo-xtask
2022-03-10 05:15:48 -05:00
Clement Tsang
57e1a8285e
ci: update audit workflow (#685)
Manually install the audit crate as part of the audit CI since it seems to be using too old of a version of Rust.
2022-02-27 19:52:09 -05:00
Clement Tsang
c4c9130b4a
ci: enable strip on release builds with Cargo.toml (#679)
Removes the manual strip used in favour of the now native functionality in Cargo.
2022-02-25 02:18:22 -05:00
Clement Tsang
128ec81200
ci: switch to a manual cargo tarpaulin installation (#680)
Update to use a manual install of cargo tarpaulin, fixes the wrong filename being checked in the skip action.
2022-02-25 02:15:26 -05:00
Clement Tsang
5df7839d18
ci: disable 32-bit in choco generation (#671)
Seems like the 32-bit binary triggers false positives on VirusTotal.
Going to disable this for now.
2022-02-02 22:34:43 -05:00
Clement Tsang
3529e484cc
ci: remove winget step (#660)
Removes the winget step from the deployment pipeline; it seems like a bot now manages winget deployments for bottom, which is nice.
2022-01-19 23:45:20 -05:00
ClementTsang
398d52af2e ci: update CFP hook secret name 2022-01-16 16:05:20 -05:00
Clement Tsang
b8429cb401
docs: indicate stable version in selector on deploy (#654)
Adds an indicator in the form of `$version (stable)` to make it easier to see which is the most recent stable version.

This is done via CI and mike:

1. Set the previous title to just `$version`. We can get this value by `mike list stable` and grepping for valid version tags (otherwise this might have issues with `$version (stable)`).
2. Deploy `$new_version` and alias to stable.
3. Update the `$new_version` to have a new title of `$new_version (stable)`.
2022-01-01 20:45:44 -05:00
Clement Tsang
1481fe4282
ci: test installing .deb in build (#651)
Add an additional validation step to the .deb file generation in nightly and deployment workflows.
2021-12-30 20:48:56 -05:00
Clement Tsang
c92cfc644d
bug/ci: fix debian file generation breaking completions (#645)
Fixes completion file generation being broken while the .deb file is made, due to using an incorrect path.
2021-12-27 16:49:15 -05:00
Clement Tsang
9a11ead991
ci: Use commit hash for some actions to pin them (#641)
Pins some actions using a specific commit hash.
2021-12-22 17:29:50 -05:00
Clement Tsang
d6a112bee4
docs: disable CFP hook for now while investigating issues (#635)
Temporarily disable the Cloudflare Pages hook while investigating why mike isn't playing nicely.
2021-12-20 21:23:04 -05:00
ClementTsang
feb6d9db2f ci: fix invalid secret param for CFP hook 2021-12-19 15:11:07 -05:00
Clement Tsang
81260a2c25
ci: adds cloudflare pages deploy hook (#631) 2021-12-19 15:07:37 -05:00
ClementTsang
97f013bccf ci: revert rename of chocolateyinstall template
This was causing issues with the choco workflow in another repo since
the name was incorrect; I've decided to also rename the template for
consistency.
2021-12-19 13:56:57 -05:00
Clement Tsang
69dcd827b6
ci: disable codecov patch (#629)
I don't really need the patch feature right now, so let's disable it.
2021-12-19 12:56:48 -05:00
Clement Tsang
3a95a3d6d2
ci: add run type to codecov action (#618)
This seems to be needed if I add unit tests due to the repo being both a binary and a lib.
2021-11-28 04:08:54 -05:00
Clement Tsang
c4caa87e0b
ci: switch action's accepted files back to "paths" 2021-11-28 04:04:23 -05:00
Clement Tsang
16f0913307
ci: deal with skipping, matrices, reliant jobs (#617)
This time, the problem is that since the matrix jobs rely on another job, they never trigger and clog up CI.
2021-11-27 06:39:22 -05:00
Clement Tsang
5c8757a1fa
ci: deal with skipping and matrix (#616)
Due to how matrices work with if/skipping, it seems like this ugly hack is the only way to skip CI based on the files updated without clogging the PR pipeline.
2021-11-27 06:27:51 -05:00
Clement Tsang
363138abab
ci: go back to a paths_ignore for ci workflow (#615)
Reverts to using paths_ignore for CI workflow.
2021-11-27 05:53:41 -05:00
ClementTsang
b9683a65f2 ci: be more specific with paths for ci/codecov 2021-11-27 05:31:32 -05:00
ClementTsang
305ff2a672 ci: Add test for building docs 2021-11-27 05:31:32 -05:00
Clement Tsang
afcf56e4ae
ci: actually skip ci if duplicate (#611)
Forgot the if line to actually skip ci if duplicate...
2021-11-27 05:07:39 -05:00
Clement Tsang
4e083d4a86
ci: skip duplicate runs (#610)
Skips duplicate runs in the CI/codecov pipelines.
2021-11-27 04:54:55 -05:00
ClementTsang
bc22c5f160 ci: add codecov to PR 2021-11-27 03:42:05 -05:00
Clement Tsang
ce15731b77 ci: add codecov to docs, update workflow name (#609)
Adds a codecov badge for quick reference.
2021-11-25 20:45:08 -05:00
Clement Tsang
1f6a2a8391
ci: add codecov (#608)
Adds codecov to the workflow suite.
2021-11-25 20:40:13 -05:00
ClementTsang
4b49ddabe5 ci: add some documentation in the workflow files 2021-10-17 21:54:06 -04:00
ClementTsang
6c157fe1dd
ci: allow manual triggering of audit action 2021-10-17 21:32:08 -04:00
ClementTsang
4b705572c6 ci: forgot a -r 2021-10-10 18:17:20 -04:00
Clement Tsang
65d3dd7af5
ci: simplify python dependency step for release/doc pipeline (#596)
Slightly simplifies the whole Python dependency step for pipelines generating mkdocs.
2021-10-10 18:16:21 -04:00
Clement Tsang
a362b6c9dd
ci: Create release only if the entire pipeline passes (#595)
In a similar vein to #590, we only create a release after the entire pipeline is completed and succeeds. Also fixes some incorrect job names and adds some "/'s" after directory names in the nightly pipeline.
2021-10-09 02:29:17 -04:00
Clement Tsang
a1a33e0120
ci: parallelize ci better (#594)
Parallelizes the CI workflow better.
2021-10-03 17:49:29 -04:00
Clement Tsang
31072d1952
ci: revert previous i686 change (#593)
Reverts #592, this was done incorrectly, I changed the wrong thing and I also didn't need to change said thing.
2021-10-03 17:13:14 -04:00
Clement Tsang
3c51245d35
ci: Disable cross for i686 Windows, add multilib for i686 Linux for Nightly (#592)
Disables an unnecessary use of cross for i686 Windows, and add multilib for i686 Linux since apparently that's needed now.
2021-10-03 16:44:50 -04:00
Clement Tsang
9071e37283
ci: only create nightly release if build passes (#590)
Changes the nightly build workflow to delete/create a new release *only* if the entire build process passes. This avoids a potential case of a nightly build failing but having overwritten the old one, which has happened before.

After this change lands, similar changes will probably be made to the deployment script for releases.
2021-10-03 02:42:37 -04:00
Clement Tsang
caa4f38232
ci: add missing step for compressing completion files (#586) 2021-09-25 01:54:29 -04:00
Clement Tsang
e20057b97c
ci: move winget/msi and deb gen to separate steps (#585)
Moves debian and winget/msi generation to a separate job, so it can run in parallel to the other jobs.
2021-09-23 19:13:13 -04:00
Clement Tsang
b853aef752
ci: disable homebrew auto-gen (#584)
Disables homebrew CI file generation, since it's now handled by separate maintainers! See #578 for some more details.
2021-09-20 01:09:10 -04:00
Clement Tsang
7e9e18faac
ci: fix deploy script for completion directory copy (#577)
Adds an explicit mkdir to the completions directory. No idea why it was bugging out before though, it worked fine on nightly builds.
2021-09-12 16:16:05 -04:00
Clement Tsang
d6c69ea319
ci: specify package version for post-release docs 2021-09-04 15:59:47 -04:00
Clement Tsang
81873688bc
ci: specify package versions in doc pipeline 2021-09-04 15:57:52 -04:00
Clement Tsang
eeee395cc0
ci: make audit action weekly
It really doesn't need to run daily. It now runs every Monday.
2021-08-30 17:07:48 -04:00
Clement Tsang
ed07fbe1cc
other: Make the battery dependency/features optional (#570)
Allows disabling of the battery dependency through a feature flag. This also aims to disable all related features.
2021-08-19 22:16:44 -04:00
Clement Tsang
cb680dd12e
other: Add RISC-V to unofficially supported targets (#565)
Adds CI actions and documentation for RISC-V.
2021-07-31 16:24:16 -04:00
Clement Tsang
d1e672f263
ci: add caching to more jobs (#563)
More usage of the caching action to CI/deploy. Seems to save ~3-4 minutes on CI, not sure about deploy.
2021-07-27 18:59:17 -04:00
Clement Tsang
8aa1303b3c
ci: update winget template + deploy for more info (#554)
Adds a `ProductCode`, `Scope`, and `Commands` field to the template, as well as additional changes to the deploy process to determine + fill in the `ProductCode` automatically.
2021-07-21 22:02:00 -04:00
Clement Tsang
895e3cddce
ci: disable AUR packaging (#551)
Since Arch builds are now maintained by a TU in the community repo, I'll be disabling AUR packaging from this point forward. Yay!
2021-07-19 01:30:52 -04:00
Clement Tsang
7392b56364
ci: reduce the number of tests in CI (#540)
Seems like we have a few too many tests that aren't really needed for just asserting CI is passing.

The goal for CI (IMO) is just to ensure things still build on the various supported platforms after changes are made.  However, there were a few tested scenarios like Windows GNU or musl which I feel weren't really too important in this regard, and added extra time to an already long CI process.

Commented out the following tests since there aren't any architecture-specific features that require running these in addition to other already-existing tests:
- Windows GNU
- Linux musl (both x86 and x86_64)

Of course, should we add changes that directly affect these architectures, then we should add the tests back.
2021-07-12 23:02:48 -04:00
Clement Tsang
47629326e6
ci: Add post-release action for AUR repo (#531)
Adds an additional post-release action to trigger AUR PKGBUILD actions for https://github.com/ClementTsang/aur-bottom.
2021-06-30 22:46:02 -04:00
Clement Tsang
9e81e36ed5 ci: update pkgbuilds for ARM, fix bugs (#530)
Fixes some bugs in CI and updates PKGBUILD for ARM.
2021-06-29 18:15:33 -04:00
ClementTsang
c628645816 docs: Fix typo 2021-06-27 20:55:39 -04:00
ClementTsang
df7d00d65b ci: remove nightly set in docs ci 2021-06-27 20:53:44 -04:00
Clement Tsang
a9b4d42eef
docs + ci: Update changelog and ignore some files in CI (#527) 2021-06-27 16:58:55 -04:00
ClementTsang
a626eee5a7 github: Fix incorrect line in post-release script 2021-06-26 16:11:40 -04:00
ClementTsang
357ef7de18 github: fix deploy script for 2-17 again... 2021-06-26 15:47:13 -04:00
ClementTsang
103ba5ba43 github: fix deploy script for 2-17 2021-06-26 15:37:20 -04:00
Clement Tsang
b67c928f2b
docs: Switch to mike for versioning (#521)
Switches to mike to add versioning to docs.
2021-06-23 23:34:39 -04:00
Clement Tsang
93b899e745
feature: add F9 as an alternative process kill key (#518)
Adds F9 as an alternative kill shortcut to dd.
2021-06-22 20:34:00 -04:00
ClementTsang
ccc8da2819 ci: ignore README and docs for ci action 2021-06-21 22:58:04 -04:00
Clement Tsang
fcfd02a3f9
ci: remove zip dependency for windows (#509)
Removes the zip dependency for nightly and deploy actions.
2021-06-21 19:56:59 -04:00
Clement Tsang
53296d11d9
ci: fix doc deploy action (#507)
Fix for simple mkdocs deploy action. I'll likely rewrite this if I add versioning, which I probably will.
2021-06-21 01:48:14 -04:00
Clement Tsang
06071d5abf
docs: migrate documentation over to mkdocs (#506)
A large migration of documentation over to mkdocs, and some rewrites. Some stuff (install information, basic supported systems, contributors, thanks) are still staying in README.md, and CONTRIBUTING.md is essentially duplicated right now. However, stuff like configuration and key/mouse bindings are now moved to mkdocs.

Some parts are still a bit WIP - it is definitely not done (documentation never seems to be...). However, it should be "good enough" for now, and I'm much happier working with the documentation in this form than trying to scroll through a giant endless README.md file. It also works much better for adding new documentation.
2021-06-21 01:40:58 -04:00
Clement Tsang
0c3f9daa56
ci: distribute completion files separately (#494) 2021-06-11 18:43:53 -04:00
Clement Tsang
39c5ee991e
github: more CI tweaks (#483)
Tweak PR CI a bit more.  Remove complete step, change check name, add comments.
2021-05-15 21:30:30 -04:00
Clement Tsang
3f7f9d2ccc
github: fix nightly mocking (#481)
Hopefully fixes the mock build capabilities for nightly when testing.
2021-05-15 17:20:28 -04:00
ClementTsang
1eb3d3bc38 github: remove mocking from nightly 2021-05-15 13:43:27 -04:00
ClementTsang
1e7668fcaa github: make fail-fast false for rustfmt and clippy 2021-05-13 23:20:08 -04:00
Clement Tsang
3ba42fb0fc
github: move tests ci into check (#478)
Moves cargo test into the cargo check block.
2021-05-12 23:21:09 -04:00
Clement Tsang
655cb986a1
github: add old Linux build to nightly/deploy for older glibc (#477)
Since we're moving all 16.04 ubuntu builds to 18.04, I thought this would be a good idea in case anyone needed it.

Not sure if we should have just made ALL Linux builds use the older Linux container... for now I'll just make one extra build.
2021-05-12 22:53:18 -04:00
Clement Tsang
f4c30b10d0
github: Update ubuntu instances due to deprecation (#476)
Updates ubuntu version in CI due to GA deprecation warnings.
2021-05-11 21:04:24 -04:00
Clement Tsang
c67ba4c497
github: Remove strip from Windows deploy/nightly (#472)
Removes `strip` from the Windows build in deploy/nightly.  It seems to cause VirusTotal to report some false positives.
2021-05-09 23:19:01 -04:00
ClementTsang
4b70c5edcc github: update deployment process for winget files 2021-05-09 20:05:02 -04:00
Clement Tsang
e63a0b4082
refactor: Unify disk conversion to string step (#446)
Refactor to unify the process disk usage -> string into one function.
2021-04-07 20:52:29 -04:00
Clement Tsang
eb6a737d34
feature: Rework network y-axis, linear interpolation for off-screen data (#437)
Rewrite of the y-axis labeling and scaling for the network widget, along with more customization. This still has one step to be optimized (cache results so we don't have to recalculate the legend each time), but will be done in another PR for sake of this one being too large already.

Furthermore, this change adds linear interpolation at the 0 point in the case a data point shoots too far back - this seems to have lead to ugly gaps to the left of graphs in some cases, because the left hand limit was not big enough for the data point. We address this by grabbing values just outside the time range and linearly interpolating at the leftmost limit. This affects all graph widgets (CPU, mem, network).

This can be optimized, and will hopefully be prior to release in a separate change.
2021-04-04 05:38:57 -04:00
Clement Tsang
4d46e7159b
ci: Add cache back again (#435)
* ci: Add cache back again

* comments
2021-03-12 21:41:48 -05:00
Clement Tsang
637a3949dd
ci: Test macOS ARM and Linux armv6 (#430) 2021-03-04 14:24:21 -05:00