Martin Nordholts
cbd96237fd
CICD: Add 'cargo fmt' check
2021-08-19 07:18:05 +02:00
Martin Nordholts
25fa577cd0
Make 'build-assets' an optional capability for application
...
Also structure features a bit more clever to avoid duplication of
feature dependency declarations.
2021-08-17 10:58:21 +02:00
Martin Nordholts
cb4973987b
Cargo.toml: Introduce 'quick-build-application' feature
...
Use it like this:
cargo build --no-default-features --features quick-build-application
It reduces dependencies to build from 154 to 125, allowing quicker iteration
when developing the app.
2021-08-08 11:18:26 +02:00
Martin Nordholts
697d106bd4
CICD: Pass --locked to all cargo commands
...
To avoid that earlier cargo commands "fixes" Cargo.lock before cargo commands
with --locked has a chance to check if it is up to date.
2021-08-02 21:49:51 +02:00
David Peter
fddd11a205
CICD: sync with pastel, minor changes
2021-07-05 17:24:59 +02:00
Ville Skyttä
e05f5010da
Add bash completion
...
Closes https://github.com/sharkdp/bat/issues/1010
2021-06-28 11:58:03 +02:00
Marco Ieni
8321cc661c
CI: check docs ( #1612 )
2021-05-12 07:20:12 +02:00
Martin Nordholts
8f93844427
CICD: Remove explicit allow of clippy::match_bool since MSRV 1.45 bump
...
Now that we are on MSRV 1.45, there is no need to "backport" the change
that reclassified clippy::match_bool as "pedantic".
2021-03-08 07:08:55 +01:00
David Peter
52f84b063c
Update dependencies, MSRV: 1.45
2021-03-07 15:33:37 +01:00
Martin Nordholts
9db9a38565
CICD: Add workflow_dispatch to enable manual builds
...
Which is useful when you want to test a fix without creating a PR for
it.
2021-02-28 16:27:40 +01:00
Martin Nordholts
0371f55541
CICD: Don't run jobs twice in PRs
...
Without this change, creating a PR triggers all jobs to run twice. Once
due to a push event and once due to a pull_request event.
Change to only trigger jobs due to push when pushing a tag or to the
master branch, to avoid duplicate jobs for each PR.
2021-02-22 21:45:52 +01:00
David Peter
bc35592fd9
CICD: Build step naming
2021-02-21 19:11:42 +01:00
David Peter
f5d834407e
CICD: Improved job names
2021-02-21 11:16:30 +01:00
David Peter
557a748ac7
CICD: Remove code coverage computation
2021-02-21 10:24:27 +01:00
Martin Nordholts
3f10f71ad2
CICD: Build: Rename 'Check is release' step to 'Check for release'
...
To get a name that sounds like proper English.
2021-02-18 07:59:10 +01:00
Martin Nordholts
7b6388b19f
CICD: Build: Add separate 'Calculate test options' step
...
And move it down to right before it is needed, to reduce its scope.
For #1474
2021-02-18 07:59:10 +01:00
Martin Nordholts
b98ec4bbc5
CICD: Build: Check IS_RELEASE in separate step
...
And move it closer to where it is actually needed, to reduce its scope.
For #1474
2021-02-18 07:59:10 +01:00
Martin Nordholts
94fd481f36
CICD: Build: Remove unused ${{ matrix.job.cargo-options }} expansions
2021-02-18 07:59:10 +01:00
Martin Nordholts
0e5ea9c354
CICD: Build: Use package-specific staging dir
...
A common staging dir confuses more than it helps, so let each package
step take care of its own staging dir.
For #1474
2021-02-16 21:53:54 +01:00
Martin Nordholts
eac36dd3b5
CICD: Build: Introduce and use new 'Strip release bin' step
...
So that we don't have to duplicate that logic in both 'Debian package'
and 'Package' steps.
For #1474
2021-02-16 07:27:44 +01:00
Martin Nordholts
d36b091fd7
CICD: Build: Move PKG_* vars to 'Package' step
...
For improved modularization of CICD script.
For #1474
2021-01-11 22:18:49 +01:00
Martin Nordholts
3dcf02549e
CICD: Build: Move DPKG_* vars to 'Debian package' step
...
For cleaner CICD script. Note that we can't use outputs defined in our
own step, so also change to shell vars intead.
For #1474
2021-01-11 22:18:49 +01:00
Martin Nordholts
e402011a73
CICD: Build: Split out dir creation into the individual package steps
...
It's cleaner because we can reuse helper vars and create the dirs closer
in time to when they are needed.
For #1474
2021-01-11 22:18:49 +01:00
Martin Nordholts
221c9815a5
CICD: Build: Split up into separate 'Debian package' step
...
Make sure to ignore whitespace changes when diffing.
For #1474
2021-01-10 20:44:03 +01:00
Martin Nordholts
c5c683f67c
Explicitly allow clippy::match_bool until we bump MSRV
...
Since we run clippy on Rust 1.42.0 we still get warnings about the
presence of clippy::match_bool lints. That lint has been moved from
'Style' to 'Pedantic' in Rust 1.45.0 and onwards however, so let's
silent it in our clippy runs too.
2021-01-10 20:38:16 +01:00
sharkdp
faa27ed6e3
CICD: simply use 'sed' to extract crate information
2021-01-10 14:44:46 +01:00
sharkdp
f3227c259e
Use cache for faster install
2021-01-10 14:44:46 +01:00
sharkdp
2cfeebab90
CICD: Use 'cargo get' to extract crate metadata
2021-01-10 14:44:46 +01:00
Martin Nordholts
e3b1142364
CICD: Build: DEPLOY -> IS_RELEASE and inline it
...
This simplifies and clarifies the script.
For #1474
2021-01-10 10:56:15 +01:00
Martin Nordholts
8832ff3c6a
CICD: Build: Adapt release version regex to bat
...
All bat tags begin with a small 'v', so no need for a generic pattern in
the CI script. This will also help us ensure we keep the same format on
future tags.
2021-01-10 10:56:15 +01:00
Martin Nordholts
505ff10dc6
CICD: Build: Always build and upload Debian packages
...
Not only when a release tag is pushed. Also publish these Debian
packages as artifacts. This makes PR workflows more similar to release
work flows, and reduces risk of build system regressions that we don't
detect until we make a new release.
For #1474
2021-01-10 10:56:15 +01:00
Martin Nordholts
9a3a5545e7
CICD: Build: Use Cargo.toml version instead of tag
...
This enables us to later always build Debian packages. If you try to use
a git sha as Debian package version you will get an error:
dpkg-deb: error: parsing file '_staging/dpkg/DEBIAN/control' near line 2 package 'bat':
error in 'Version' field string 'd2963ce4': version number does not start with digit
so we need to use a version that is always available.
We duplicate the bat version in another place here which is a bit bad,
but it is already duplicated a lot, so we don't make things
significantly worse. It is still kind of nice to not have to figure out
a good and robust way to parse out the version from Cargo.toml in the CI
script.
For #1474
2021-01-10 10:56:15 +01:00
Martin Nordholts
43919066ad
CICD: Use fixed OS versions instead of 'latest' ones
...
This reduces the risk of the build suddenly breaking, and fixes this
current warning:
Ubuntu-latest workflows will use Ubuntu-20.04 soon.
For more details, see https://github.com/actions/virtual-environments/issues/1816
I've use the mapping found at
https://github.com/actions/virtual-environments , so there should be no
actual change in OS versions, only semantically so.
2021-01-10 10:46:45 +01:00
sharkdp
19b8c53c46
Enable clippy::style checks
2021-01-09 19:43:39 +01:00
mark chaitin
de6cb75f4b
Addressed PR feedback. Upped min version and used matches! macro
2021-01-09 15:21:26 +01:00
Martin Nordholts
7ffb04a17a
CICD: Build: Make 'Upload build artifacts' more like deploy
...
The end goal is to upload the same artifacts for a PR as we deploy
during a release, to make a regular PR pipeline as similar as possible
to a deploy.
The first step is to move 'Upload build artifacts' to after 'Package' so
we can upload the same files. Also change the name and artifacts to be
more similar to what we deploy for a release.
For #1474
2021-01-09 14:31:19 +01:00
Martin Nordholts
e22a9a69b1
CICD: Build: Stop building on Ubuntu 16.04
...
End-of-life is in three months, and we already do the same build on
Ubuntu 18.04.
2021-01-09 08:30:54 +01:00
Martin Nordholts
59f9adc706
CICD: Build: Add and use disable-deploy matrix var
...
This results in a nicer workflow file that is easier to follow.
Also remove the unneccesary doc row that repeats what is already in the
matrix and that is annoying to keep up to date.
For #1474
2021-01-09 08:30:54 +01:00
Martin Nordholts
411d68e839
CICD: Build: Remove unused JOB_DO_TESTING var and output
...
It is CARGO_TEST_OPTIONS that is used to control testing on
cross-compiled builds, so we can remove JOB_DO_TESTING.
For #1474
2021-01-08 19:54:25 +01:00
Martin Nordholts
77d42a17c6
CICD: Build: Remove unused PKG_suffix output var
...
Only the env var is used, so output variant is not needed.
For #1474
2021-01-08 19:54:25 +01:00
Martin Nordholts
e7c55bffe9
CICD: Build: Remove unused TARGET_* vars and outputs
...
For #1474
2021-01-08 19:54:25 +01:00
Martin Nordholts
b6b7262962
CICD: Build: Use matrix.job.use-cross directly
...
There is no need for a var and set-output detour.
2021-01-07 10:55:29 +01:00
Martin Nordholts
3ed83913b2
CICD: Build: Remove unused REF_* outputs
...
There is no usage of `steps.vars.outputs.REF_*` so no need to setup such
things. Also remove setting up REF_NAME and REF_BRANCH env vars, since
they are never read.
2021-01-07 10:54:00 +01:00
Martin Nordholts
63460f4bf9
CICD: Build: Remove conditional TOOLCHAIN logic
...
because we always use "stable". If we need to go back to using
matrix.job.toolchain, we should do it like in jobs.coverage, instead of
messing about with vars and outputs.
2021-01-06 23:11:24 +01:00
Martin Nordholts
c67b439752
CICD: Build: Enable x86_64-pc-windows-gnu again
...
All the referenced issues [1] have been Closed, so use "stable" for
everything. Now `i686-w64-mingw32-gcc` fails with this instead
error: linker `i686-w64-mingw32-gcc` not found
so keep it disabled. There is probably a simple solution for this that
is obvious to someone used to cross-compiling Rust programs on
Windows...
[1]
https://github.com/rust-lang/rust/issues/47048
https://github.com/rust-lang/rust/issues/53454
https://github.com/rust-lang/cargo/issues/6754
2021-01-06 23:11:24 +01:00
sharkdp
99a61580e1
Add --diagnostic run to CI
2021-01-06 22:53:51 +01:00
Martin Nordholts
5e1f9fadf4
CICD: Code Coverage: Explain why disabled
2021-01-06 22:34:03 +01:00
Martin Nordholts
fe08de846d
CICD: Code Coverage: Disable for now
2021-01-06 22:34:03 +01:00
Martin Nordholts
78aed2cb69
CICD: Remove use-cross when host == target
2021-01-06 20:05:53 +01:00
Martin Nordholts
939a6a5f4d
CICD: Remove duplicate set-output calls ( #1479 )
...
The ::set-output syntax is the correct one according to
https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-output-parameter ,
so remove duplicates without that syntax.
2021-01-06 12:30:34 +01:00