257 Commits

Author SHA1 Message Date
Clement Tsang
fec56372bb
ci: use one skip check for CI workflow (#855)
Use one single skip check job for CI like other workflows.
2022-10-27 22:00:37 -04:00
Clement Tsang
51498e1238
ci: automatically create and get build artifacts from Cirrus CI (#854)
This automatically triggers and grabs the build artifacts for systems that are only supported on Cirrus CI (as of now, FreeBSD and M1 macOS).

* ci: add cirrus build trigger script

* ci: modify build scripts to include cirrus build

* fix some stuff

* update docs

* more fixes
2022-10-27 06:27:04 -04:00
Clement Tsang
4240a38ced
ci: test cancelling stale actions (#851)
Use Github Action's concurrency settings to cancel old actions in favour of newer ones.
2022-10-25 01:24:08 -04:00
Clement Tsang
97ba34e3f4
ci: add token secret to make codecov action more stable (#850)
The codecov action can sometimes fail; this change adds the repo codecov token to use by default to help alleviate this.
2022-10-25 00:03:39 -04:00
Clement Tsang
59c214b733
ci: update codecov upload action to 3.1.1 (#848)
Deals with the node12 deprecation warning.
2022-10-21 22:41:05 -04:00
Clement Tsang
fc90c549ef
ci: update GitHub CI to remove deprecated/unmaintained actions and commands (#846)
* ci: update rust-cache to 2.0.1

* ci: update dtolnay/rust-toolchain to ba37adf

* ci: update skip-duplicate-actions to v5.2.0

* ci: update ClementTsang/cargo-action to v0.0.3

* ci: update to macos-12

* ci: update ghaction-chocolatey to 2.1.0

* ci: update upload-artifact to v3.1.0

* ci: change from actions-rs to rustsec for audit-check

* ci: stop using actions-rs for builds

* ci: update cirrus to use tlsv1.2 when curling

* ci: disable macOS ARM workflows on GHA since its built on Cirrus
2022-10-20 06:24:04 -04:00
Clement Tsang
530f6bf3b3
ci: add basic Cirrus CI testing for FreeBSD + M1 (#827)
* ci: add basic Cirrus CI testing for FreeBSD + M1

* add env vars

* remove curl installation from macos script

* add caching
2022-10-20 01:27:14 -04:00
ClementTsang
df13d12551 Revert "ci: add basic Cirrus CI testing for FreeBSD + M1 (#826)"
This reverts commit 577165292c7f58d8ca10c56f787180f690136fd0.
2022-10-12 17:54:02 -04:00
Clement Tsang
577165292c
ci: add basic Cirrus CI testing for FreeBSD + M1 (#826) 2022-10-12 17:45:45 -04:00
Clement Tsang
14808b3a2e
ci: completion/manpage generation script spring cleaning (#795)
* ci: spring cleaning of completions autogen

This commit changes a few things/cleans up stuff:
- Completion and manpage generation now drops the files off in
  `./target/tmp/bottom` rather than arbitrarily in the build directory.
  This was originally done because I was lazy and just needed it to work
  in CI, but it's kinda gross if you want to build the manpages in your
  own directory.
- CI was updated to handle this.
- Only run if the `BTM_GENERATE` env var is actually non-empty.

* docs: update for manpage/completion gen

* ci: auto delete autogen comp/manpage dir

* ci: fix incorrect mv for autogen

The mv was too late, should be earlier in the workflow.

* ci: specify shell in autogen delete

* docs: more updates to manpage/comp docs

* ci: unify env vars

* ci: skip autogen on build-msi
2022-08-30 18:25:16 -04:00
Clement Tsang
2e0771d483
ci: update release build OS to ubuntu 20.04 (#780)
Due to the deprecation of Ubuntu 18.04 as a runner target this PR updates the OS to 20.04 (see https://github.com/actions/runner-images/issues/6002), the next supported version of Ubuntu.
2022-08-13 12:14:51 -04:00
Clement Tsang
fcb8cac0d5
ci: add ARM macOS to build workflow (#779)
Adds macOS ARM to the build workflow for nightly/release.
2022-08-13 11:53:07 -04:00
Clement Tsang
510aa5c404
ci: try simpler cross/cargo action for builds and tests (#767)
Uses a personal action for simpler invocations of cargo/cross commands.
2022-07-16 00:34:18 -04:00
Clement Tsang
e33603d8ee
ci: try to update cross to 0.2.4 (#764)
Try to update to the newest cross version after 0.2.2 had some bugs causing a rollback to 0.2.1 (see #755).
2022-07-12 05:22:15 -04:00
Clement Tsang
4ca68b621d
ci: fix missing target in tests (#757)
Fix missing target parameter for primary test targets (e.g. aarch64), and adjust integration tests to work with cross.
2022-06-27 01:36:45 -04:00
Clement Tsang
6468f8af58
ci: lock cross to 0.2.1 on CI as well (#756)
Locks CI to cross 0.2.1.
2022-06-25 23:03:14 -04:00
Clement Tsang
89f7705e21
deployment: force usage of cross 0.2.1 for now (#755)
Locks cross in deployment builds to 0.2.1, as 0.2.2 seems to break some things for now.
2022-06-25 22:22:30 -04:00
Clement Tsang
2912859e52
ci: bump cargo-llvm-cov to 0.4.8 (#754) 2022-06-24 23:03:44 -04:00
Clement Tsang
0c648ed14a
ci: try moving to rust-toolchain (#745)
action-rs' action seems to not be really maintained anymore and
throws some redundant warnings that kinda clog up outputs. As
such, I feel like moving to a more active action is probably worth it.
2022-06-02 18:04:51 -04:00
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