Commit Graph

6 Commits

Author SHA1 Message Date
Oliver Gould f1a89ef953
Add checksec to the release process (#476)
A recent [Twitter thread][mudge] suggested that tools like
[`checksec`][checksec] be used to validate release binaries. Checksec
reports whether modern security features like stack canaries are
employed. Proxy builds appear to do pretty well out-of-the-box.

This change introduces a checksec.sh wrapper that is used by the
Makefile during packaging. A new _package_ github action is introduced
to provide `checksec` and `jq` dependencies at runtime. (Note: the
version of checksec provided by debian does not include JSON output, so
it is instead fetched directly from GitHub).

During an automated release, the generated checksec is compared to an
expected set of values and, if a regression is detected, the release
will fail.

[mudge]: https://twitter.com/dotMudge/status/1249359519471341569
[checksec]: https://github.com/slimm609/checksec.sh
2020-04-15 09:54:06 -07:00
Oliver Gould d27b79cd7a
docker: Use buildkit for caching (#472)
Our docker builds do not permit caching of dependencies or intermediate
build artifacts. However, Docker's new (experimental) buildkit features
add this functionality. I've been using this configuration locally for
some time, and it seems generaly useful enough to promote (especially
since this Dockerfile is only intended for development).

This change also untroduces the `PROXY_FEATURES` build-arg so that the
Dockerfile can be used to support profiling builds.

Furthermore, the `update-rust-versions.sh` script has been updated to
check versions and be more permissive about how it replaces versions in
the Dockerfile.

The docker CI build has been disabled until GitHub Actions has support
for this Dockerfile format.
2020-04-13 14:57:58 -07:00
Oliver Gould 5678cb46ed
ci: Run tests inside rust container (#344)
The first version of the action didn't actually use the rust containers
to drive the build. This change pins the ubuntu and rust versions.

Even though the base OS includes rust-1.37, we want to control our rust
version independently.
2019-09-05 13:20:26 -07:00
Oliver Gould ca0393fbe6
Use GitHub Actions for Pull Requests (#343)
Disables Travis on Pull Requests, replacing it with GitHub Actions.
Travis remains enabled for master builds for the moment.

Some Dockerfile changes have been performed to fix the docker
build on newer docker versions.
2019-09-05 11:01:40 -07:00
Oliver Gould 4c4702de63
update-rust-version: Check usage (#298)
When running the update-rust-version script, it was easy to run it
without an argument, which breaks existing configuration.

This change improves the script to handle errors, with some other
shell lints addressed.
2019-08-06 15:19:32 -07:00
João Oliveira e330c2957b Add a rust-toolchain file (#212)
In order to enforce a minimum-required-Rust version for contributors,
this change introduces a rust-toolchain file and a script that updates
this file and the development Dockerfile.

Signed-off-by: João Oliveira <hello@jxs.pt>
2019-03-29 15:01:06 -07:00