Commit graph

279 commits

Author SHA1 Message Date
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 577165292c.
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
cf95f2c2a6
github: update bug report desc for non-release 2022-09-23 00:09:48 -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
28b5095770
github: update wording for packaging issues 2022-08-24 10:01:20 -04:00
Clement Tsang
0ec3e5afbb
github: update packaging issue template (#791) 2022-08-23 19:29:30 -04:00
Clement Tsang
3c21147509
github: update version placeholder in bug template 2022-08-17 23:04:22 -04:00
Clement Tsang
80d659bf8c
github: update issue link and wording 2022-08-17 23:03:48 -04:00
Clement Tsang
c01e3bca71
github: add note on coverage/tests in PR template 2022-08-17 11:30:13 -04:00
Clement Tsang
79a0f20825
github: tweak wording of PR 2022-08-14 18:17:01 -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
4e2a25ac68
github: update PR template wording for testing 2022-08-13 11:38:50 -04:00
Clement Tsang
b62b93f551
github: update some wording in issue template 2022-08-09 14:23:17 -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
ClementTsang
9116f5277f github: fix some styling with the bug report form 2022-06-27 20:33:39 -04:00
ClementTsang
f0ec5a5f5f github: fix some issues with the bug report form 2022-06-27 20:30:28 -04:00
Clement Tsang
f0ace2588e
github: try new issue form template (#758)
Trying out Github's new issue form for bug reports.

If it doesn't look good or go well I'll revert.
2022-06-27 20:27:47 -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
ClementTsang
d0cb61a4c2 docs: some small updates to README and issue templates 2022-06-05 18:29:14 -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
ClementTsang
4fac7ab4fa github: fix typo in packaging issue template 2022-05-04 14:48:10 -04:00
Clement Tsang
dd9111467a
github: update packaging issue wording 2022-05-03 19:07:10 -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
0d1b6a6d33
github: specify in the bug report that one should install from crates/bottom 2022-04-28 14:52:27 -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
9ef7f5d4b7
github: update packaging issue template f/ clarity
Add the specific packaging locations that I maintain bottom on, and fix some typos.
2022-02-03 15:55:24 -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
61c8bfd574
docs: add a line to feature request docs/template (#666)
Just adds an extra line to the template/docs to check if an existing issue already exists.
2022-01-29 14:49:41 -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
f35718b580
docs: add section on WSL in Linux known issues, update links (#653)
Update support links in documentation; add section on WSL in Linux known issues.
2021-12-31 16:50:40 -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
Clement Tsang
a42b2cf6c8
docs: revert CFP for now (#633)
There were some weird interactions that I'm not sure about (like if you do bottom.pages.dev/asdf/ it infinitely redirects...?), so I'll revert for now.
2021-12-19 15:42:22 -05:00
Clement Tsang
8e5742d636
docs: try switching over to Cloudflare Pages (#632)
I would prefer for the project to not be under clementtsang.github.io/bottom, so let's try out CFP.
2021-12-19 15:26:10 -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
ClementTsang
49fce58c27 other: update bug report template 2021-12-19 13:03:52 -05:00
ClementTsang
1af0d7cb6e other: update PR template 2021-12-19 13:01:34 -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