Since the CI machine is amd64, it is not possible to just execute the
aarch64 binary to test the application. So instead of running `cargo
test`, we just use `cargo build` instead.
Building on the non-release CI instead of just checking also allows us
to make sure linking works properly before a release fails due to it.
Since not all suggested clippy lints by stable clippy are supported on
the MSRV of Alacritty, this commit moves the clippy checks to the MSRV.
Unfortunately this will mean that our lints might be significantly
behind, however it ensures our CI never blocks any code that should be
valid.
Developers themselves of course can still run the latest clippy to
follow the up to date recommendations.
The template itself never provided much of a benefit and just causes
additional work for every single PR that is opened. That makes it easier
to just remind people after the PR was created than putting it in the
description so contributors always have to remove it.
The previous version would search for the last tag by matching the
beginning of the tag name. By explicitly searching for the trailing `"`
with grep, an exact tag match is now enforced.
Since releases like v1.2.3 always match the beginning of their RCs
(v1.2.3-rc4), this makes sure that the assets aren't pushed to the
previous release.
By reducing the number of CI jobs for GitHub actions, it should be
possible to get a faster overview over the status of all CI jobs. While
this does increase the total build time of GitHub Actions by reducing
parallelization, it should still finish within the SourceHut CI times.
This removes all CI builds from travis-ci, due to their recent changes
in policy and harsh limitations on builds. With build times over 2
hours, it was a significant hindrance to development.
Instead of Travis CI, the CI is now split on Sourcehut and GitHub. Since
Sourcehut only supports Linux/BSD, all builds on those operating systems
are executed there. The GitHub Actions CI is used to build for
Windows/macOS, which are not available on Sourcehut.
Since asset deployment for releases requires builds on all platforms,
this is also done on GitHub actions. Though the new `upload_asset.sh`
script makes sure that migration in the future is fairly simple and we
do not tie ourselves to the overly complicated GitHub Actions ecosystem.
This change bumps the version of the `alacritty_terminal` crate to force
it out of sync with the Alacritty application. Since it is a library
that will be published on crates.io, it should be following semver
rather than our binary's release version.
While it would be possible to just keep it at 0.5.0, explicitly
disconnecting it from the Alacritty version should give it a clean
starting-off point and prevent unnecessary confusion. Bumping it to
0.10.0 instead of something like 0.6.0 should allow for a nice gap
between the different versions without being too arbitrary. Changing the
version to 0.1.0 is not an option since decreasing semver version would
likely cause a lot of problems.
While it would be possible to further separate the Alacritty terminal
library from the Alacritty terminal emulator, by renaming it from
`alacritty_terminal` to something different, I don't think that is
necessary or a good idea at the moment. Even though the
`alacritty_terminal` library *can* be used for other terminals, its
primary goal is still to support the Alacritty terminal emulator and I
don't see that changing. So making that clear in its name seems like a
good idea. Since there is no plan to maintain this library separately
from Alacritty, but to keep both tied together, the naming should
reflect this.
This adds a PR template that should remind users to document their
changes in our CHANGELOG, without requiring too much direct interaction
from the user.
The issue template has also been reworked a bit, hopefully making it
easier for people to report bugs, without intruding on them if the
information is irrelevant or providing it is too much effort.
Fixes#3031.