Commit graph

31 commits

Author SHA1 Message Date
har7an
d1f50150f6
WIP: Use xtask as build system (#2012)
* xtask: Implement a new build system

xtask is a cargo alias that is used to extend the cargo build system
with custom commands. For an introduction to xtask, see here:
https://github.com/matklad/cargo-xtask/

The idea is that instead of writing makefiles, xtask requires no
additional dependencies except `cargo` and `rustc`, which must be
available to build the project anyway.

This commit provides a basic implementation of the `build` and `test`
subcommands.

* xtask/deps: Add 'which'

* xtask/test: Handle error when cargo not found

* xtask/flags: Add more commands

to perform different useful tasks. Includes:

- clippy
- format
- "make" (composite)
- "install" (composite)

Also add more options to `build` to selectively compile plugins or leave
them out entirely.

* xtask/main: Return error when cargo not found

* xtask/build: Add more subtasks

- `wasm_opt_plugins` and
- `manpage`

that perform other build commands. Add thorough documentation on what
each of these does and also handle the new `build` cli flags
appropriately.

* xtask/clippy: Add job to run clippy

* xtask/format: Add job to run rustfmt

* xtask/pipeline: Add composite commands

that perform multiple atomic xtask commands sequentially in a pipeline
sort of fashion.

* xtask/deps: Pin dependencies

* xtask/main: Integrate new jobs

and add documentation.

* xtask: Implement 'dist'

which performs an 'install' and copies the resulting zellij binary along
with some other assets to a `target/dist` folder.

* cargo: Update xflags version

* xtask: Measure task time, update tty title

* xtask: Update various tasks

* xtask: wasm-opt plugins in release builds

automatically.

* xtask/build: Copy debug plugins to assets folder

* xtask: Add 'run' subcommand

* xtask: Add arbitrary args to test and run

* xtask: Rearrange CLI commands in help

* xtask: Add deprecation notice

* docs: Replace `cargo make` with `xtask`

* github: Use `xtask` in workflows.

* xtask: Add support for CI commands

* xtask: Streamline error handling

* github: Use new xtask commands in CI

* xtask: Add 'publish' job

* xtask/publish: Add retry when publish fails

* xtask: Apply rustfmt

* xtask: Refine 'make' deprecation warning

* xtask: add task to build manpage

* contributing: Fix e2e commands

* xtask/run: Add missing `--`

to pass all arguments following `xtask run` directly to the zellij
binary being run.

* xtask: Stay in invocation dir

and make all tasks that need it change to the project root dir
themselves.

* xtask/run: Add `--data-dir` flag

which will allow very quick iterations when not changing the plugins
between builds.

* xtask/ci: Install dependencies without asking

* utils: Allow including plugins from target folder

* utils/assets: Reduce asset map complexity

* utils/consts: Update asset map docs

* xtask: Fix plugin includes

* xtask/test: Build plugins first

because the zellij binary needs to include the plugins.

* xtask/test: Fix formatting

* xtask: Add notice on how to disable it
2022-12-17 13:27:18 +00:00
Aram Drevekenin
f23ea515d4
chore(ci): do not strip binary 2022-10-25 11:02:18 +02:00
Aram Drevekenin
5cc5995912
chore(ci): do not strip for aarch64 2022-10-25 10:45:59 +02:00
Aram Drevekenin
339eacce99
chore(release): temporarily disable aarch64 2022-10-25 10:15:32 +02:00
Aram Drevekenin
59d9cb53b6
chore(ci): fix binaryen install for ubuntu (I hope) 2022-10-25 09:56:21 +02:00
Aram Drevekenin
6550c8dc3a
chore(release): remove extraneous ci step 2022-10-25 09:44:16 +02:00
Aram Drevekenin
c50103ffb9
chore(ci): brew work now plox 2022-10-25 09:42:39 +02:00
Aram Drevekenin
df77577274
chore(ci): install brew in ubuntu 2022-10-25 09:28:49 +02:00
Jae-Heon Ji
cbb698fb62
fix(ci): change checksum tool in macos (#1613) 2022-07-29 20:25:14 +09:00
Aram Drevekenin
660ac41b7a
chore(ci): do not upload checksum for macos 2022-07-28 17:43:52 +02:00
a-kenji
d1fa067713
fix(ci): quoting issues (#1589) 2022-07-15 12:35:36 +02:00
Jae-Heon Ji
53da135c3f
ci: add checksum for release binary (#1482) 2022-06-11 11:18:29 +09:00
dependabot[bot]
570e25a4e1
chore(deps): bump actions/checkout from 2 to 3 (#1164)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-03 17:42:54 +01:00
dependabot[bot]
1cd21bf899
chore(deps): bump actions/upload-release-asset from 1.0.1 to 1.0.2 (#901)
Bumps [actions/upload-release-asset](https://github.com/actions/upload-release-asset) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/actions/upload-release-asset/releases)
- [Commits](https://github.com/actions/upload-release-asset/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: actions/upload-release-asset
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-25 18:40:15 +01:00
Brooks J Rady
c9f9240969 fix(ci): release with stable toolchain 2021-11-07 17:05:21 +00:00
Brooks J Rady
a9fdaaa8d1 fix(ci): bring back aarch64 linux builds 2021-10-21 15:41:21 +01:00
Aram Drevekenin
ba07856016 chore(release): v0.19.0 - retry for ci 2021-10-20 14:25:19 +02:00
Brooks J Rady
72650a6491 fix(ci): name assets consistently 2021-04-29 16:26:46 +01:00
Brooks J Rady
fd56d2a1a7 feat(ci): add M1 macOS builds 2021-04-27 18:52:05 +01:00
Brooks J Rady
ea1a7dfc7d fix(ci): formatting tweak 2021-04-27 00:12:44 +01:00
Brooks J Rady
c9e9a8fae0 fix(ci): fix asset naming 2021-04-26 23:52:50 +01:00
Brooks J Rady
1dc49b5e58 fix(ci): add missing item to the build list 2021-04-26 23:18:13 +01:00
Brooks J Rady
181916ad04 fix(ci): fix release naming 2021-04-26 23:13:45 +01:00
Brooks J Rady
4f8ee01067 fix(ci): fix environment variable (again) 2021-04-26 23:07:21 +01:00
Brooks J Rady
b460fc36ea fix(ci): fix environment variable 2021-04-26 23:03:56 +01:00
Brooks J Rady
9ff5d45263 fix(ci): fix manual dispatch 2021-04-26 23:02:23 +01:00
Brooks J Rady
62b4825505 fix(ci): properly order the arguments to tar 2021-04-26 20:22:22 +01:00
Brooks J Rady
ad7fcb5717 feat(ci): add CI trigger for manual builds 2021-04-26 18:58:42 +01:00
Doron Tsur
fe70c72e4c feature(release): added automatic release on pushing tag v*.*.* 2021-04-24 13:47:14 +03:00
Aram Drevekenin
ce76efa096 chore(ci): remove release.yml 2021-04-23 10:43:45 +02:00
henil
bdf1b13758 Automatically build release binaries 2021-01-23 11:43:05 +05:30