summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Restore rust-toolchain file.Owen Jacobson2020-06-17
| | | | | | | | | | | | | | | | | | | Removing this file broke Heroku deployments. The emk/rust buildpack relies on this file to detect the Rust version, and as this code _requires_ a nightly, the default stable version fails to deploy. Unfortunately, this effectively leaves the project pinned to a specific nightly version until and unless one of a few things happens: * We remove the test step that verifies formatting, * Travis adds a non-minimal Rust profile, * We migrate CI to a service that supports a more complete Rust profile, or * Nightly has rustfmt again. See <https://github.com/emk/heroku-buildpack-rust#specifying-which-version-of-rust-to-use>. This reverts commit f43bcb502435ccd99e163671204371dd8b62024f.
* Merge pull request #6 from ojacobson/travis-githooksOwen Jacobson2020-06-17
|\ | | | | Provide a git hook to automate tests.
| * Provide a git hook to automate tests.Owen Jacobson2020-06-17
| | | | | | | | | | | | | | | | | | | | | | When enabled, these hooks run the same tests as Travis, every commit. There's nothing inherently wrong with a failing test run (it's a useful signal), but the turnaround time for responding to Travis is a lot longer than the turnaround time for responding to a local test failure. The tradeoff here is that `git commit`, which is a _very_ common operation, takes considerably longer when the hooks are enabled, and runs a higher risk of giving users doorway effect issues.
* | Merge pull request #7 from ojacobson/port-test-numeric-stringsOwen Jacobson2020-06-17
|\ \ | |/ |/| Disregard test strings that can be converted to numbers when testing …
| * Disregard test strings that can be converted to numbers when testing ↵Owen Jacobson2020-06-17
|/ | | | | | | | non-numeric strings. This is a straight oversight in the property. We asserted the proposition "the string contains no NULs implies the string will be rejected," but the test suite found a counterexample: `"0"` contains no NULs and is not rejected. This is correct behaviour - the string "0" should be converted to the port number 0! So, now the proposition is more complex: "the string contains no NULs and cannot be converted to a number implies the string will be rejected." This closely mirrors the implementation, which isn't fantastic, but I can't see a more succinct and accurate way to frame the property.
* Merge pull request #5 from ojacobson/missing-rustfmt-depsOwen Jacobson2020-06-17
|\ | | | | Add missing dependencies for rustfmt Travis pass.
| * Move from rust-toolchain to rustup overrides for rust version selection.Owen Jacobson2020-06-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a complicated one. There are a few factors in action here: * For background, the `maud` library requires nightly. The macro shenanigans it pulls are not supported on stable. <https://maud.lambda.xyz/getting-started.html> * Travis installs Rust "cold," with no prior Rust installation, using `rustup`, for each entry in the build matrix. Travis _always_ uses the "minimal" profile. <https://docs.travis-ci.com/user/languages/rust/#choosing-a-rust-version> * Since 2020-06-10, the "nightly" release of the Rust language has not included the `rustfmt` component. <http://rust-lang.github.io/rustup-components-history/> Note that the information on that page is likely to be different by the time you look at it. * The Travis test suite requires `rustfmt` to validate commits. See `.travis.yml` for that one. * Rustup will prefer `rust-toolchain` files over command-line options when selecting a Rust version to install. Because of this wide range of factors, since the eleventh, it has not been possible to run `rustfmt` via `cargo fmt` on Travis. Tests have been broken since we added `rustfmt` as a mandatory step. This change causes Travis to use both a known-good nightly (June 10th's), and also to try the build with current nightly. Current nightly is permitted to fail; once this starts passing, we can make that build mandatory and reinstate `rust-toolchain`. Note that this doesn't affect most developers, as they use `rustup`'s default profile, which always includes `rustfmt`. `rustup` accomplishes this by walking back in time until it finds a nightly build that includes all the components in the profile, but it only does this when installing a fresh toolchain, not when trying to add a component to an installed toolchain. I would vastly prefer to keep `rust-toolchain`, but it interferes with `rustup`'s installation logic, so it has to go for now. Score one for never using `nightly`...
| * Switch Travis to a dated Nightly.Owen Jacobson2020-06-17
| | | | | | | | | | | | | | | | | | As of 2020-06-17, rustup nightlies are missing rustfmt, rls, and a few other components we care about. Pin the rust version, for now, as we need those components for testing. Check <https://rust-lang.github.io/rustup-components-history/> to monitor the contents of nightly releases.
| * Add missing dependencies for rustfmt Travis pass.Owen Jacobson2020-06-17
| |
* | Stop releasing semver versions.Owen Jacobson2020-06-17
|/ | | | That was an experiment that didn't really go anywhere. There are no meaningful "versions" of this software - it runs on a single host, and there are no compatibility promises.
* Apply (and enforce) cargo fmt.Owen Jacobson2020-06-16
|
* (cargo-release) start next development iteration 0.4.2-alpha.0Owen Jacobson2020-06-16
|
* (cargo-release) version 0.4.1Owen Jacobson2020-06-16
|
* Set up travis for continuous testingOwen Jacobson2020-06-16
|
* Fix broken doctests.Owen Jacobson2020-06-16
| | | | Rust nightly un-broke doctests!
* Add a README and project metadata.Owen Jacobson2020-06-16
|
* Remove spurious import (thanks, clippy!)Owen Jacobson2020-06-15
|
* An ops suggestion (hat tip @illegalhex!)Owen Jacobson2020-06-08
|
* (cargo-release) start next development iteration 0.4.1-alpha.0Owen Jacobson2020-06-05
|
* (cargo-release) version 0.4.0Owen Jacobson2020-06-05
|
* Some more troubleshooting suggestions from personal experienceOwen Jacobson2020-06-05
|
* Add CApocalypse-related itemsOwen Jacobson2020-06-05
|
* Reduce spurious copies.Owen Jacobson2020-06-04
|
* Slack integration.Owen Jacobson2020-06-04
|
* Remove some visual clutter in template rendering.Owen Jacobson2020-06-04
|
* fmtOwen Jacobson2020-06-04
|
* Complete the partialization changes.Owen Jacobson2020-06-04
| | | | This pulls the top-level framework for HTML out into its own partial.
* App.json for Heroku Pipelines.Owen Jacobson2020-06-04
|
* Split the template out into partials.Owen Jacobson2020-06-04
| | | | | This is a style experiment; the utility of using partials in an app with one view is limited, to say the least.
* Fix a line wrapping gaffeOwen Jacobson2020-06-04
|
* Remove stray debugging code.Owen Jacobson2020-06-04
|
* (cargo-release) start next development iteration 0.3.1-alpha.0Owen Jacobson2020-06-04
|
* (cargo-release) version 0.3.0Owen Jacobson2020-06-04
|
* Fix mislabelled content type in t-t-c.ymlOwen Jacobson2020-06-04
|
* Renamed primary binary to `web`.Owen Jacobson2020-06-04
| | | | This closely matches Procfile entries, making the structure of the project a little easier to follow.
* Be more explicit about cachingOwen Jacobson2020-06-04
|
* (cargo-release) start next development iteration 0.2.1-alpha.0Owen Jacobson2020-06-04
|
* (cargo-release) version 0.2.0Owen Jacobson2020-06-04
|
* Markdown support.Owen Jacobson2020-06-04
| | | | | | | | This accomplishes two things: 1. The og cards and page title no longer contain half-baked markup. Instead, they show the markdown equivalent, which is generally pretty friendly. In other words, the page title is "Have you checked `resolv.conf`?" and not "Have you checked <code>resolve.conf</code>?" 2. Phrases can now start with terms other than "Have you checked".
* Replace Python (apistar) version with Rust (actix-web) version.Owen Jacobson2020-06-03
|\
| * Port things-to-check to Rust as a learning exercise.Owen Jacobson2020-06-03
| | | | This is somewhat overengineered in places, but does the job and exposes broadly the same interfaces as the Python version. Builds with emk/rust.
* Upgrade vulnerable packages.Owen Jacobson2020-05-20
| | | | | | | | | | | | | | | | | | | | * Jinja2: CVE-2019-10906 In Pallets Jinja before 2.10.1, str.format_map allows a sandbox escape. * urllib3: CVE-2019-11324 The urllib3 library before 1.24.2 for Python mishandles certain cases where the desired set of CA certificates is different from the OS store of CA certificates, which results in SSL connections succeeding in situations where a verification failure is the correct outcome. This is related to use of the ssl_context, ca_certs, or ca_certs_dir argument. * requests: upgraded as it depends on urllib and restricts versions. * werkzeug: CVE-2019-14806 Pallets Werkzeug before 0.15.3, when used with Docker, has insufficient debugger PIN randomness because Docker containers share the same machine id. * gunicorn: No CVE, just good hygiene.
* Update requirements to address security vulnsOwen Jacobson2019-01-06
|
* Fix errors in LICENSE.mdOwen Jacobson2019-01-06
|
* Merge pull request #2 from d33rforce/patch-2Owen Jacobson2017-11-23
|\ | | | | Update things-to-check.yml
| * Update things-to-check.ymlAdam Field2017-11-23
|/ | | RTFM.
* Merge pull request #1 from d33rforce/patch-1Owen Jacobson2017-11-14
|\ | | | | fucking binlogs
| * Cadence fix ("Have you checked fucking binlogs")Owen Jacobson2017-11-14
| |
| * fucking binlogsAdam Field2017-11-14
|/ | | system.disk.in_use over device:/dev/xvdf1,host:shared-db was >= 0.85 on average during the last 10m.
* OpenGraph metadata for Slack unfurlingOwen Jacobson2017-10-18
|