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
4 years ago
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
4 years ago
Martin Nordholts
d36b091fd7
CICD: Build: Move PKG_* vars to 'Package' step
...
For improved modularization of CICD script.
For #1474
4 years ago
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
4 years ago
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
4 years ago
Keith Hall
b25713938d
Fix typo in bug report template
4 years ago
Martin Nordholts
221c9815a5
CICD: Build: Split up into separate 'Debian package' step
...
Make sure to ignore whitespace changes when diffing.
For #1474
4 years ago
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.
4 years ago
sharkdp
faa27ed6e3
CICD: simply use 'sed' to extract crate information
4 years ago
sharkdp
f3227c259e
Use cache for faster install
4 years ago
sharkdp
2cfeebab90
CICD: Use 'cargo get' to extract crate metadata
4 years ago
Martin Nordholts
e3b1142364
CICD: Build: DEPLOY -> IS_RELEASE and inline it
...
This simplifies and clarifies the script.
For #1474
4 years ago
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.
4 years ago
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
4 years ago
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
4 years ago
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.
4 years ago
sharkdp
19b8c53c46
Enable clippy::style checks
4 years ago
mark chaitin
de6cb75f4b
Addressed PR feedback. Upped min version and used matches! macro
4 years ago
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
4 years ago
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.
4 years ago
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
4 years ago
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
4 years ago
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
4 years ago
Martin Nordholts
e7c55bffe9
CICD: Build: Remove unused TARGET_* vars and outputs
...
For #1474
4 years ago
Martin Nordholts
b6b7262962
CICD: Build: Use matrix.job.use-cross directly
...
There is no need for a var and set-output detour.
4 years ago
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.
4 years ago
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.
4 years ago
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
4 years ago
sharkdp
99a61580e1
Add --diagnostic run to CI
4 years ago
Martin Nordholts
5e1f9fadf4
CICD: Code Coverage: Explain why disabled
4 years ago
Martin Nordholts
fe08de846d
CICD: Code Coverage: Disable for now
4 years ago
Martin Nordholts
78aed2cb69
CICD: Remove use-cross when host == target
4 years ago
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.
4 years ago
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.
4 years ago
sharkdp
8381945cb5
Update formatting
4 years ago
David Peter
2046b47739
Move "diagnostics" part to the bottom of the bug report template
4 years ago
Janek
0c302f088a
Update bug_report.md
4 years ago
Janek
a41db63907
Update bug_report.md
4 years ago
Janek
3573c48e98
bug_report.md: improve wording
4 years ago
Janek
e94980bfd0
bug_report.md: move environment prompt back up
4 years ago
Janek
5422982207
Update bug_report.md
4 years ago
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.
4 years ago
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 .
4 years ago
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
4 years ago
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
4 years ago
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
4 years ago
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
4 years ago
chris48s
18d8389785
ensure copyright is mode 644
...
resolves non-standard-file-perm
https://lintian.debian.org/tags/non-standard-file-perm.html
4 years ago
chris48s
165d25d941
remove leading article from description
...
resolves description-synopsis-starts-with-article
https://lintian.debian.org/tags/description-synopsis-starts-with-article.html
4 years ago
chris48s
c4fb77b042
invoke gzip with -n
...
resolves package-contains-timestamped-gzip
https://lintian.debian.org/tags/package-contains-timestamped-gzip.html
4 years ago
chris48s
d124ebeced
only try to publish one set of archives/packages for linux x64
4 years ago
David Peter
277cc5fa21
Revert "invoke gzip with -n"
...
This reverts commit 21de52ebea
.
4 years ago
David Peter
0cbd7d583c
Revert "remove leading article from description"
...
This reverts commit 7c730d11c3
.
4 years ago
David Peter
3c3fc92863
Revert "ensure copyright is mode 644"
...
This reverts commit 4a6b4fb632
.
4 years ago
David Peter
e69d650598
Revert "include years in copyright notice"
...
This reverts commit 9f91a7d797
.
4 years ago
David Peter
9385c81882
Revert "include changelog in package"
...
This reverts commit 1d4cee11b7
.
4 years ago
David Peter
1b84f9f1ae
Revert "add Depends line"
...
This reverts commit 883cc964ae
.
4 years ago
David Peter
d879fbd8a1
Revert "change docs dir name to match package name"
...
This reverts commit e4370d8d3f
.
4 years ago
Janek
2b82203041
Update bug_report.md
4 years ago
sharkdp
9dd807344c
Ignore 'all_themes_are_present' unit test by default
4 years ago
谭九鼎
e31e35c46b
CI: use checkout v2
4 years ago
Kienyew
2d1a92b7cc
Fix zsh completion path
4 years ago
Kienyew
d9e8bbcb10
Handle zsh completion when packaging
4 years ago
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
4 years ago
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
4 years ago
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
4 years ago
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
4 years ago
chris48s
4a6b4fb632
ensure copyright is mode 644
...
resolves non-standard-file-perm
https://lintian.debian.org/tags/non-standard-file-perm.html
4 years ago
chris48s
7c730d11c3
remove leading article from description
...
resolves description-synopsis-starts-with-article
https://lintian.debian.org/tags/description-synopsis-starts-with-article.html
4 years ago
chris48s
21de52ebea
invoke gzip with -n
...
resolves package-contains-timestamped-gzip
https://lintian.debian.org/tags/package-contains-timestamped-gzip.html
4 years ago
sharkdp
9110b00e2e
Rebuild bat with new assets
4 years ago
sharkdp
49370e2175
Add CI job
4 years ago
sharkdp
9e0fab16ff
Fix here-doc indentation, part 2
4 years ago
sharkdp
a9af4f4ca1
Fix spelling of LICENSE
4 years ago
sharkdp
96d682ca49
Use ansi-dark theme in GA output
4 years ago
sharkdp
7056bea9e0
Add list of languages/themes
4 years ago
sharkdp
63e13d8e54
Colored output
4 years ago
sharkdp
81587b3578
Add checks for all feature combinations
4 years ago
sharkdp
663c7cf1d7
Add bat test run
4 years ago
sharkdp
8705d018fd
Fix here-doc indentation
4 years ago
sharkdp
8c33a32256
Add old copyright, control files; add man page and autocompletions
4 years ago
sharkdp
37a720be06
Use recursive checkout
4 years ago
sharkdp
aacbdcfc44
Add --path argument
4 years ago
sharkdp
794f3d08f4
Remove --release argument
4 years ago
sharkdp
3147f0536a
Add job to run tests with new syntaxes/themes
4 years ago
sharkdp
42de486e94
Adapt job step names
4 years ago
sharkdp
54c9d7cdb2
Remove unneeded i586-* jobs
4 years ago
sharkdp
4b65e6e443
Change MinSRV => Minimum supported Rust version
4 years ago
sharkdp
5a6c65c589
Disable code-coverage comments
4 years ago
Roy Ivy III
698a6b5acf
Maint/CICD ~ GHA - add additional linux builds and packaging support
4 years ago
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 >
4 years ago
Roy Ivy III
7c3e9f81cb
Maint/CI ~ add GitHub-Actions CI (aka GHA)
4 years ago
sharkdp
9a9902bf9b
Remove custom .github settings
5 years ago
sharkdp
3c1dd8558d
Update links
5 years ago
Ethan P
b63f31e15d
Fix broken link in issue template.
5 years ago
sharkdp
4ac3161c19
Rename label syntax-request
5 years ago
sharkdp
d479e07bcb
Rename label
5 years ago
sharkdp
369ba7bb0a
Remove title prefix (we already have labels for that)
5 years ago
sharkdp
9df85edc4c
Add 'question' template
5 years ago
David Peter
d007caf39c
Add simple "Feature request" template
5 years ago