1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-20 03:41:36 +03:00
Commit Graph

266 Commits

Author SHA1 Message Date
Wez Furlong
ce89e33f01 ci: make deterministic again!
dc728b3895 introduced some non-determinism
by mutating the global TARGETS list.

The result is, depending on iteration order, the generated jobs
may inherit the env from earlier jobs.

Notably, if the tag job inherit the schedule reason from a continuous
job, they'll upload assets with an incorrect filename.

This commit restores the determinism by forcing each iteration
of the generation loop to make a deep copy of the statically
defined information in TARGETS.

While we're at it, ensure that the list of env vars is sorted
to avoid non-determinism there as well.

refs: https://github.com/wez/wezterm/issues/2176
2022-06-25 11:40:47 -07:00
dependabot[bot]
a9612bc613 build(deps): bump crazy-max/ghaction-github-pages from 2 to 3
Bumps [crazy-max/ghaction-github-pages](https://github.com/crazy-max/ghaction-github-pages) from 2 to 3.
- [Release notes](https://github.com/crazy-max/ghaction-github-pages/releases)
- [Changelog](https://github.com/crazy-max/ghaction-github-pages/blob/dev/CHANGELOG.md)
- [Commits](https://github.com/crazy-max/ghaction-github-pages/compare/v2...v3)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-github-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-29 20:58:00 -07:00
Wez Furlong
770ccbae66 ci: separate out the fuzzer to a separate step 2022-05-14 09:31:44 -07:00
Wez Furlong
a22942aa13 fixup a couple more cases found by fuzzing
Also ensure the rust backtrace is printed by the fuzzer
for some reason, cargo-fuzz doesn't do this automatically, which limits
its out-of-the-box utility.

refs: https://github.com/wez/wezterm/pull/1986
2022-05-14 08:46:37 -07:00
Wez Furlong
1300f801ed CI: speculatively run the fuzzer for termwiz 2022-05-14 08:27:52 -07:00
Wez Furlong
566b58a64b ci: add Fedora 36 2022-05-11 18:25:51 -07:00
Wez Furlong
7e460c3784 ci: restore centos7
It was removed in be1b54ba33 citing
difficulties with GH CLI, but I think I subsequently solved
that by not running it in the container.

refs: https://github.com/wez/wezterm/issues/1947
refs: https://github.com/wez/wezterm/issues/1948
2022-05-10 23:12:11 -07:00
Wez Furlong
156b0ae44c ci: skip full build when updating just the .markdown docs 2022-05-09 21:57:18 -07:00
Wez Furlong
b25d4d22ee ci: tweak pages workflow a bit more 2022-05-06 20:19:14 -07:00
Wez Furlong
c16ea9b134 ci: maybe improve caching for pages workflow 2022-05-06 20:04:11 -07:00
gimbles
981f1e678d Add 22.04 release info 2022-04-25 20:28:59 -07:00
xpufx
9f6d2db154
Add opensuse packages to build/release workflows (#1916)
* added opensuse packaging

* change deploy.sh rpm spec for opensuse

* added missing opensuse openssh install logic

* push generated workflows

* fix typo in func name - yum vs zypper

* Update ci/generate-workflows.py

merge run steps

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>

* fix libxcb-* packages for opensuse

Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-04-25 13:27:56 -07:00
Wez Furlong
39d2726e5a ci: another stab at apk sed stuff 2022-04-25 07:10:18 -07:00
Wez Furlong
1e11895600 ci: fixup sed usage for APKs
Part of the directory structure is `/wezterm/something/wezterm-`
Take care not to rewrite that earlier wezterm directory to something
bogus.
2022-04-24 16:17:32 -07:00
Wez Furlong
55174056b9 ci: don't rebuild everything when changing no-response config 2022-04-21 08:00:24 -07:00
Wez Furlong
a4f07e6382 ci: one more tweak to no-response config 2022-04-21 07:45:22 -07:00
Wez Furlong
35054ed291 ci: tweak no-response config 2022-04-21 07:09:48 -07:00
Wez Furlong
4bc8165f53 ci: replace waiting-on-op automation
The old no-response bot stopped working and recommends this
alternative workflow.
2022-04-21 06:44:28 -07:00
Wez Furlong
6152bc0e41 ci: disambiguate the different alpine artifact versions
We were uploading all the packages as `wezterm-20220419.075038-r0.apk`
regardless of the alpine version.

Also, what we upload to the nightly release must not include a version
number, otherwise the release will hold an unbounded number of versions!
2022-04-19 21:18:36 -07:00
Wez Furlong
24e71b801b ci: moar alpine urgh 2022-04-19 07:50:38 -07:00
Wez Furlong
6a0ce5f038 ci: one more go at alpine
almost there!
2022-04-19 06:57:55 -07:00
Wez Furlong
62b7b60012 ci: more alpine urgh 2022-04-19 06:35:28 -07:00
Wez Furlong
87e2afa4db ci: more grubbing about with alpine 2022-04-19 06:19:59 -07:00
Wez Furlong
c3a9f75cba ci: debugging alpine continuous 2022-04-18 23:32:21 -07:00
Wez Furlong
422e0f3d56 ci: more alpine tweaks 2022-04-18 22:58:27 -07:00
Wez Furlong
6753bfe764 ci: tweak apk patterns/uploads/artifacts 2022-04-18 22:18:22 -07:00
Jakub Panek
724baf12b5 ci: update workflows
Signed-off-by: Jakub Panek <me@panekj.dev>
2022-04-18 21:34:34 -07:00
Wez Furlong
8235736ac0 ci: take a stab at working around https://github.com/actions/checkout/issues/760 2022-04-12 20:11:18 -07:00
Wez Furlong
4cf74e3d77 ci: revert b95f453ede
checkout seems to be failing for ubuntu 20 recently:

```
Deleting the contents of '/__w/wezterm/wezterm'
Initializing the repository
  /usr/bin/git init /__w/wezterm/wezterm
  Initialized empty Git repository in /__w/wezterm/wezterm/.git/
  /usr/bin/git remote add origin https://github.com/wez/wezterm
  Error: fatal: unsafe repository ('/__w/wezterm/wezterm' is owned by someone else)
  To add an exception for this directory, call:

  	git config --global --add safe.directory /__w/wezterm/wezterm
  Error: The process '/usr/bin/git' failed with exit code 128
```

Try reverting this as a workaround.
2022-04-12 18:14:41 -07:00
Wez Furlong
1d908457ae ci: (up|down)load-artifact v2 -> v3 2022-04-10 18:36:34 -07:00
Wez Furlong
b95f453ede ci: actions/checkout 2.4 -> 3
closes: #1855
2022-04-10 18:34:51 -07:00
Wez Furlong
2a8ff9ca75 docs: adopt mermaid-js for flowchart
This is a bit more compact and easier to edit.

A downside is that the search engine highlight can break the diagram and
cause it to emit a syntax error.
2022-04-03 22:09:17 -07:00
Wez Furlong
1cf0a76f3f deps: actions/cache -> v3
closes: https://github.com/wez/wezterm/pull/1782
2022-03-27 19:48:06 -07:00
Wez Furlong
d5998ccb56 bump actions/checkout from 2.4 -> 3
closes: #1694
2022-03-09 07:32:40 -07:00
Wez Furlong
7089954049 ci: update for centos9 2022-02-01 22:19:45 -07:00
Wez Furlong
5c9ae7860f ci: centos9 has curl-minimal preinstalled which conflicts with curl
so just install curl-minimal
2022-02-01 14:34:21 -07:00
Wez Furlong
64d12d4500 ci: there is no powertools repo in centos9 2022-02-01 14:30:55 -07:00
Wez Furlong
5caab935ae ci: add centos9 2022-02-01 14:18:57 -07:00
Wez Furlong
e409968fb1 ci: centos8 can be found on quay.io 2022-02-01 12:07:51 -07:00
Wez Furlong
35e97a5c78 centos 8: RIP
There's no obvious successor that I trust to build this on GH actions,
so remove it from CI.
2022-02-01 08:38:03 -07:00
Wez Furlong
fb1350492c Revert "ci: migrate centos:8 images to stream"
This reverts commit 6fe60d56fd.

It didn't work out, and I'd rather it be broken the original way
than the other way :-p
2022-01-31 21:44:48 -07:00
Wez Furlong
6fe60d56fd ci: migrate centos:8 images to stream
The centos8 builds have been failing today, and it appears to
be because https://www.centos.org/centos-linux-eol/ happened
about 3 years early and the URLs in the image are hard-broken.

https://forums.centos.org/viewtopic.php?f=54&t=78708 has some
info on re-pointing them to a vault subdomain.

The "right" thing to do is to migrate to centos 8 stream, but
I don't see a centos stream docker image from centos.

This commit attempts the manual migration steps to stream.

Let's see how this goes.
2022-01-31 21:23:52 -07:00
dependabot[bot]
0ce029fdba build(deps): bump actions/checkout from 1 to 2.4.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 2.4.0.
- [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/v1...v2.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-26 09:51:49 -08:00
Wez Furlong
01fe56fe57 ci: explicitly install rustfmt 2022-01-17 15:14:32 -07:00
Wez Furlong
eb2b4fcce5 ci: use nightly toolchain for fmt workflow 2022-01-17 15:00:31 -07:00
Wez Furlong
e4ed2c93e2 encoding my preferred import grouping in the rustfmt config
This uses an unstable option in rustfmt, you `cargo +nightly fmt`
needs to be used to format the code correctly.
2022-01-17 13:50:51 -07:00
Wez Furlong
11567c2097 ci: put fmt check into separate workflow 2022-01-16 19:07:47 -07:00
Chip Senkbeil
e46e2bae80
Add wezterm-ssh independent CI task to verify libssh-rs and ssh2 features can work independently (#1544)
Add wezterm-ssh independent CI task to verify libssh-rs and ssh2 features can work independently
2022-01-13 18:48:33 -07:00
Wez Furlong
f6e56aab10 ci: tidy up termwiz workflow 2022-01-12 07:19:44 -07:00
Wez Furlong
4452fbe798 ci: trigger termwiz build on push as well 2022-01-12 07:16:16 -07:00
Wez Furlong
475fc0667b fix termwiz compilation when widgets are enabled
refs: #1457
2022-01-12 07:14:14 -07:00
Wez Furlong
fb8de1b5f3 Revert "ci: add centos 9"
This reverts commit fc069f9298.
Turns out centos 9 isn't a thing in docker (yet?)
2022-01-01 17:45:24 -07:00
Wez Furlong
fc069f9298 ci: add centos 9 2022-01-01 17:43:44 -07:00
Wez Furlong
7edc5b5ab0 ci: urgh, try another way 2022-01-01 13:33:40 -07:00
Wez Furlong
e11b9460ef ci: try alternative way of passing tag name 2022-01-01 13:10:08 -07:00
Wez Furlong
c885e5a65b ci: just split into two for now
I'm not confident that the PR filter in the last commit will work,
so just split into two workflows for now.
2021-12-11 23:35:30 -07:00
Wez Furlong
f72112f690 ci: trigger page build for doc changes 2021-12-11 23:30:36 -07:00
Wez Furlong
4143d254aa ci: tidy up separate uploader job
Enable it for tags/releases too, and remove some additional git fetches
and installation of the GH CLI inside containers that we no longer need.
2021-12-08 19:57:25 -07:00
Wez Furlong
20c9badfc8 ci: another pass at uploading, with the repo checked out 2021-12-08 11:19:00 -07:00
Wez Furlong
03c7986bb0 ci: bleh, do retry inline as part of upload 2021-12-08 10:31:56 -07:00
Wez Furlong
eeefca0908 ci: add dependency from upload -> build job 2021-12-08 10:16:58 -07:00
Wez Furlong
f89f9b5b31 ci: try uploading to tag outside of docker container 2021-12-08 10:14:08 -07:00
Wez Furlong
d98a72f350 ci: also grab artifacts when building a tag 2021-12-06 19:41:10 -07:00
Wez Furlong
1c0298c54d ci: capture artifact before uploading to release
This should make it possible to write a script to grab artifacts
and stick them into the appropriate release if something flakes out.
2021-12-06 19:37:33 -07:00
Wez Furlong
2d99e6e816 ci: fixup upload globs for ubuntu 2021-12-06 13:14:16 -07:00
Wez Furlong
d19a61ae9c ci: more fun with apt 2021-12-06 10:50:52 -07:00
Wez Furlong
6a310c4bd4 ci: ensure APT can use https sources 2021-12-06 10:40:51 -07:00
Wez Furlong
0882d2f546 ci: switch ubuntu20 back to a container
Something weird going on with the rust stuff
2021-12-06 10:37:54 -07:00
Wez Furlong
c033160500 ci: try to debug the debian issue 2021-12-06 10:21:06 -07:00
Wez Furlong
e1260b2337 ci: another stab at quoting for this GH key stuff
Objectively awful, but avoids a python dep on yaml
2021-12-06 10:12:25 -07:00
Wez Furlong
aa200ae8aa ci: try alternate quoting for the GH key install 2021-12-06 10:05:29 -07:00
Wez Furlong
03f5a23939 ci: powertools enable only on centos 2021-12-06 09:59:21 -07:00
Wez Furlong
7df420dce0 ci: dnf requires -y in automation 2021-12-06 09:55:59 -07:00
Wez Furlong
4d5af41f91 ci: fix missing python f"" for "{sudo}" 2021-12-06 09:54:17 -07:00
Wez Furlong
c942dbe02d ci: need curl installed before we can do the GH cli install on debian 2021-12-06 09:52:19 -07:00
Wez Furlong
faec667ff9 ci: install config manager on fedora 2021-12-06 09:49:28 -07:00
Wez Furlong
be1b54ba33 ci: try installing GH inside containers
`gh` is pre-installed in native runners only; when we build in a
container, we need to install it for ourselves.

This commit drops support for building on centos7 as it is a PITA
to get this working there.
2021-12-06 09:45:14 -07:00
Wez Furlong
1e8ebdadfd ci: switch to GH CLI for uploading to releases
I lost a few hours over the weekend because the GH release uploads
are flakey and the action I was using doesn't internally perform
retries.  I had to manually delete the failed uploads from the release
and then re-trigger the builds across several platforms, several times
for both of the releases I pushed this weekend :-/

This commit speculatively switches over to using the GH cli in the
hopes that the error reporting is better, and also because it is
simpler to externally drive a retry loop.

Let's see how this goes.
2021-12-06 09:14:15 -07:00
Wez Furlong
30fd56c35f ci: actions/cache -> 2.1.7 2021-11-28 19:10:08 -07:00
Wez Furlong
f0f7110dfe ci: windows -> windows-latest
GH are deprecating the version we were using, so let's see if simply
upgrading to latest works out.
2021-11-23 06:57:48 -07:00
Wez Furlong
f0f881af9d ci: use correct name for secret 2021-11-22 20:25:14 -07:00
Wez Furlong
06e35bbd52 ci: maybe enable codesigning on macos
refs: https://github.com/wez/wezterm/issues/482
2021-11-22 11:27:14 -07:00
Manpreet Singh
e7b8c7e8b8
Fedora 35 builds (#1323)
* Fedora 35

* Update docs/install/linux.markdown

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2021-11-15 17:33:38 -08:00
Chip Senkbeil
7d5c301c66 Ensure /run/sshd exists, explicitly set username in sshd fixture, add back use_privilege_mode no 2021-10-10 14:54:45 -07:00
Chip Senkbeil
68fd2035cd Rebase and re-apply openssh-server addition to CIs 2021-10-10 14:54:45 -07:00
Wez Furlong
9a78754961 ci: re-run generate-workflows 2021-10-02 21:25:47 -07:00
Frieder Bluemle
57eebb7997 Format non-generated workflow files 2021-10-02 10:11:54 -07:00
Frieder Bluemle
b56f67579d ci: Simplify and clean up generate-workflows.py 2021-10-02 10:11:54 -07:00
Wez Furlong
7efb6e8df9 ci: remove fedora 31 and 32, which are EOL 2021-09-25 17:56:49 -07:00
Wez Furlong
9ac08f3ed0 ci: ubuntu16 is no longer available on GH actions
Switch the AppImage builder over to ubuntu18.  According to
https://docs.appimage.org/packaging-guide/overview.html#converting-existing-binary-packages
the AppImage target is the oldest current Ubuntu LTS version, so this
should be ok, although those docs still reference Ubuntu 16.

refs: https://github.com/actions/virtual-environments/issues/3287
2021-09-22 20:47:08 -07:00
Frieder Bluemle
89e4d7b787 ci: Do not run upload action on forks 2021-09-21 09:43:09 -07:00
karl
d555be2051 ci: Added Debain 11 target 2021-08-20 14:01:34 -07:00
Wez Furlong
40c8fb1f0f ci: prep devtoolset 9 with SCL repo 2021-08-19 21:31:46 -07:00
Wez Furlong
f845df811b ci: rejigger ci a bit 2021-08-19 21:22:36 -07:00
Wez Furlong
2446ac5d7f ci: use newer compiler on centos7
Needed to support the IME work in #1043
2021-08-19 20:52:35 -07:00
HMH
6404099d25
IME support on X11 (#1043)
* WIP: IME support for X11

* Handle text generated by IME.

* Set IME position according to the cursor position.

* Improve IME position handling.

Geometry as well as window focus changes are now handled.

* Dispatch IME strings like it's done on windows.

* Make sure not to silently drop IME errors.

* Respect `use_ime` configuration.

* Add xcb-util as dependency.

* Only update IME position if necessary.

* Formatting.

* Update xcb-imdkit-rs.

* Set IME position under the start of the cursor.

This seems to be the way it is commonly done among gui frameworks.
(Tested with Firefox for GTK and Konsole for QT).

* Update xcb-imdkit-rs.

* Handle systems only providing libxcb-util0-dev.

* Add libxcb to freebsd dependencies.

Required by xcb-imdkit-rs.

* Update xcb-imdkit-rs.

* Try to use more recent gcc on centos7.

* More recent C++ compiler on centos7 as well.

* Also setup correct env on centos7 for tests.
2021-08-19 20:51:56 -07:00
Wez Furlong
4eb17dd9f4 CI: use macos-11 instead of macos-11.0
Github made a breaking change with the name today when they
rolled out GA for this environment.
2021-08-17 21:06:12 -07:00
Wez Furlong
8c4e1f02e2 ignore template edits for pages build 2021-08-17 17:43:59 -07:00
Wez Furlong
66f97b0db0 ignore template edits in CI 2021-08-17 17:43:19 -07:00
Wez Furlong
c73492311f remove old bug report template 2021-08-17 17:42:57 -07:00