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
Martin Nordholts
caf0743811
CICD: Code Coverage: Use matrix.job.toolchain directly
...
No need for complicated var and set-output logic when we can simply use
matrix.job.toolchain directly.
2021-01-06 11:58:31 +01:00
Martin Nordholts
c0d945c0ac
Allow clippy::style lints
...
Turns out GitHub is clever enough to pick up clippy warnings from us
just running it, and showing them in PRs under a "Unchanged files with
check annotations (beta)" header.
The only warnings currently shown are style warnings, and we agreed we
don't want to risk putting off contributors over style issues. So
explicitly allow (don't warn in the logs for) this category of clippy
lints.
This means that the only clippy categories left that prints warnings
(Warn) are:
clippy::complexity
clippy::perf
And the only category of lints that fails the CI build (Deny) remains to
be:
clippy::correctness
See https://rust-lang.github.io/rust-clippy/master/index.html for a
catalog of all lints.
2020-12-30 11:46:56 +01:00
Martin Nordholts
2765c6ba3b
clippy: Only enforce 'correctness' lints, just print the rest
...
Only the 'correctness' category of lints are 'deny' by default. This is
the only clippy lints we want to enforce for now. The other ones we just
want to print in the logs. So remove any --deny and --allow arguments.
See discussion in #1410 .
2020-12-28 14:22:56 +01:00
Martin Nordholts
28f3f3c9c9
Add Clippy linter step to CICD
...
Run the linter on the minimum supported rust version; otherwise we will
get lint warnings for things that require a too high Rust toolchain
version to fix.
Allow the following checks, since we already violate them our code:
- clippy::new-without-default
- clippy::match-bool
- clippy::if_same_then_else
Eventually we should fix these lint issues and then disallow them to
prevent them from coming back in other places.
The clippy args used is recommended here:
https://github.com/rust-lang/rust-clippy#travis-ci
2020-12-28 14:22:56 +01:00
chris48s
c1e4746d50
change docs dir name to match package name
...
i.e: docs for bat-musl go in /usr/share/doc/bat-musl
not /usr/share/doc/bat
2020-12-21 09:23:56 +01:00
chris48s
8331eec7fc
include changelog in package
...
in line with debian changelog/release notes guidance
https://www.debian.org/doc/debian-policy/ch-docs.html#changelog-files-and-release-notes
resolves changelog-file-missing-in-native-package
https://lintian.debian.org/tags/changelog-file-missing-in-native-package.html
2020-12-21 09:23:56 +01:00
chris48s
0547068ed0
include years in copyright notice
...
This brings the copyright notice into line with the expected format
resolves copyright-without-copyright-notice
https://lintian.debian.org/tags/copyright-without-copyright-notice.html
2020-12-21 09:23:56 +01:00
chris48s
18d8389785
ensure copyright is mode 644
...
resolves non-standard-file-perm
https://lintian.debian.org/tags/non-standard-file-perm.html
2020-12-21 09:23:56 +01:00
chris48s
165d25d941
remove leading article from description
...
resolves description-synopsis-starts-with-article
https://lintian.debian.org/tags/description-synopsis-starts-with-article.html
2020-12-21 09:23:56 +01:00
chris48s
c4fb77b042
invoke gzip with -n
...
resolves package-contains-timestamped-gzip
https://lintian.debian.org/tags/package-contains-timestamped-gzip.html
2020-12-21 09:23:56 +01:00
chris48s
d124ebeced
only try to publish one set of archives/packages for linux x64
2020-11-29 11:10:37 +01:00
David Peter
277cc5fa21
Revert "invoke gzip with -n"
...
This reverts commit 21de52ebea
.
2020-11-23 14:32:30 +01:00
David Peter
0cbd7d583c
Revert "remove leading article from description"
...
This reverts commit 7c730d11c3
.
2020-11-23 14:32:30 +01:00
David Peter
3c3fc92863
Revert "ensure copyright is mode 644"
...
This reverts commit 4a6b4fb632
.
2020-11-23 14:32:30 +01:00
David Peter
e69d650598
Revert "include years in copyright notice"
...
This reverts commit 9f91a7d797
.
2020-11-23 14:32:30 +01:00
David Peter
9385c81882
Revert "include changelog in package"
...
This reverts commit 1d4cee11b7
.
2020-11-23 14:32:30 +01:00
David Peter
1b84f9f1ae
Revert "add Depends line"
...
This reverts commit 883cc964ae
.
2020-11-23 14:32:30 +01:00
David Peter
d879fbd8a1
Revert "change docs dir name to match package name"
...
This reverts commit e4370d8d3f
.
2020-11-23 14:32:30 +01:00
sharkdp
9dd807344c
Ignore 'all_themes_are_present' unit test by default
2020-10-25 08:18:55 +01:00
谭九鼎
e31e35c46b
CI: use checkout v2
2020-10-03 13:13:40 +02:00
Kienyew
2d1a92b7cc
Fix zsh completion path
2020-10-01 22:09:59 +02:00
Kienyew
d9e8bbcb10
Handle zsh completion when packaging
2020-09-14 11:28:09 +02:00
chris48s
e4370d8d3f
change docs dir name to match package name
...
i.e: docs for bat-musl go in /usr/share/doc/bat-musl
not /usr/share/doc/bat
2020-08-12 06:47:58 +02:00
chris48s
883cc964ae
add Depends line
...
Use dpkg-shlibdeps to work out shared library dependencies
and include them in a "Depends:" line
resolves missing-depends-line
https://lintian.debian.org/tags/missing-depends-line.html
2020-08-12 06:47:58 +02:00
chris48s
1d4cee11b7
include changelog in package
...
in line with debian changelog/release notes guidance
https://www.debian.org/doc/debian-policy/ch-docs.html#changelog-files-and-release-notes
resolves changelog-file-missing-in-native-package
https://lintian.debian.org/tags/changelog-file-missing-in-native-package.html
2020-08-12 06:47:58 +02:00
chris48s
9f91a7d797
include years in copyright notice
...
This brings the copyright notice into line with the expected format
resolves copyright-without-copyright-notice
https://lintian.debian.org/tags/copyright-without-copyright-notice.html
2020-08-12 06:47:58 +02:00
chris48s
4a6b4fb632
ensure copyright is mode 644
...
resolves non-standard-file-perm
https://lintian.debian.org/tags/non-standard-file-perm.html
2020-08-12 06:47:58 +02:00
chris48s
7c730d11c3
remove leading article from description
...
resolves description-synopsis-starts-with-article
https://lintian.debian.org/tags/description-synopsis-starts-with-article.html
2020-08-12 06:47:58 +02:00
chris48s
21de52ebea
invoke gzip with -n
...
resolves package-contains-timestamped-gzip
https://lintian.debian.org/tags/package-contains-timestamped-gzip.html
2020-08-12 06:47:58 +02:00
sharkdp
9110b00e2e
Rebuild bat with new assets
2020-08-03 15:59:53 +02:00
sharkdp
49370e2175
Add CI job
2020-08-03 15:59:53 +02:00
sharkdp
9e0fab16ff
Fix here-doc indentation, part 2
2020-08-02 21:51:23 +02:00
sharkdp
a9af4f4ca1
Fix spelling of LICENSE
2020-08-02 21:51:23 +02:00
sharkdp
96d682ca49
Use ansi-dark theme in GA output
2020-08-02 21:51:23 +02:00
sharkdp
7056bea9e0
Add list of languages/themes
2020-08-02 21:51:23 +02:00
sharkdp
63e13d8e54
Colored output
2020-08-02 21:51:23 +02:00
sharkdp
81587b3578
Add checks for all feature combinations
2020-08-02 21:51:23 +02:00
sharkdp
663c7cf1d7
Add bat test run
2020-08-02 21:51:23 +02:00
sharkdp
8705d018fd
Fix here-doc indentation
2020-08-02 21:51:23 +02:00
sharkdp
8c33a32256
Add old copyright, control files; add man page and autocompletions
2020-08-02 21:51:23 +02:00
sharkdp
37a720be06
Use recursive checkout
2020-08-02 21:51:23 +02:00
sharkdp
aacbdcfc44
Add --path argument
2020-08-02 21:51:23 +02:00
sharkdp
794f3d08f4
Remove --release argument
2020-08-02 21:51:23 +02:00
sharkdp
3147f0536a
Add job to run tests with new syntaxes/themes
2020-08-02 21:51:23 +02:00
sharkdp
42de486e94
Adapt job step names
2020-08-02 21:51:23 +02:00
sharkdp
54c9d7cdb2
Remove unneeded i586-* jobs
2020-08-02 21:51:23 +02:00
sharkdp
4b65e6e443
Change MinSRV => Minimum supported Rust version
2020-08-02 21:51:23 +02:00
Roy Ivy III
698a6b5acf
Maint/CICD ~ GHA - add additional linux builds and packaging support
2020-06-03 09:13:47 +02:00
Roy Ivy III
7a51c7fd30
Maint/CICD ~ GHA - disable windows-gnu builds with unresolvable linker errors
...
- `undefined reference to `_imp____acrt_iob_func'`
- ref: <https://github.com/rust-lang/rust/issues/68887#issuecomment-615877016 >
- ref: <https://users.rust-lang.org/t/linking-with-gcc-failed-exit-code-1/34124 >
- ref: <https://www.gitmemory.com/issue/rust-lang/rust/47048/530376978 >
- ref: <https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/?limit=250&page=7 >
2020-06-03 09:13:47 +02:00
Roy Ivy III
7c3e9f81cb
Maint/CI ~ add GitHub-Actions CI (aka GHA)
2020-06-03 09:13:47 +02:00