-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
60 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,128 +12,121 @@ export RUST_LOG := log | |
|
||
# watch filesystem for changes and rerun tests | ||
watch +ARGS='test': | ||
cargo watch --clear --exec '{{ARGS}}' | ||
cargo watch --clear --exec '{{ARGS}}' | ||
|
||
# show stats about torrents at `PATH` | ||
stats PATH: | ||
cargo build --release | ||
time ./target/release/imdl --unstable torrent stats --input {{PATH}} | ||
cargo build --release | ||
time ./target/release/imdl --unstable torrent stats --input {{PATH}} | ||
|
||
push: | ||
! git branch | grep '* master' | ||
git push github | ||
! git branch | grep '* master' | ||
git push github | ||
|
||
# clean up feature branch BRANCH | ||
done BRANCH=`git rev-parse --abbrev-ref HEAD`: | ||
git push github {{BRANCH}}:master | ||
git rebase github/master master | ||
git branch -d {{BRANCH}} | ||
git push github {{BRANCH}}:master | ||
git rebase github/master master | ||
git branch -d {{BRANCH}} | ||
|
||
test: | ||
cargo test --all | ||
cargo test --all | ||
|
||
clippy: | ||
cargo clippy --all-targets --all-features | ||
cargo clippy --all-targets --all-features | ||
|
||
fmt: | ||
cargo +nightly fmt --all | ||
cargo +nightly fmt --all | ||
|
||
forbid: | ||
./bin/forbid | ||
./bin/forbid | ||
|
||
preview-readme: | ||
grip -b README.md | ||
grip -b README.md | ||
|
||
# build and serve the book | ||
book: | ||
mdbook serve book --open --dest-dir ../www/book | ||
mdbook serve book --open --dest-dir ../www/book | ||
|
||
dev-deps: | ||
brew install grip | ||
cargo install mdbook | ||
cargo install cargo-watch | ||
npm install --global asciicast2gif | ||
brew install imagemagick | ||
brew install gifsicle | ||
brew install grip | ||
cargo install mdbook | ||
cargo install cargo-watch | ||
npm install --global asciicast2gif | ||
brew install imagemagick | ||
brew install gifsicle | ||
|
||
# update generated documentation | ||
gen: | ||
cargo build | ||
cargo run --package gen -- --bin target/debug/imdl all | ||
cargo build | ||
cargo run --package gen -- --bin target/debug/imdl all | ||
|
||
check-minimal-versions: | ||
./bin/check-minimal-versions | ||
./bin/check-minimal-versions | ||
|
||
check: test clippy forbid check-minimal-versions gen | ||
git diff --no-ext-diff --quiet --exit-code | ||
cargo +nightly fmt --all -- --check | ||
git diff --no-ext-diff --quiet --exit-code | ||
cargo +nightly fmt --all -- --check | ||
|
||
draft: push | ||
hub pull-request -o --draft | ||
hub pull-request -o --draft | ||
|
||
pr: check push | ||
hub pull-request -o | ||
|
||
merge BRANCH=`git rev-parse --abbrev-ref HEAD`: | ||
#!/usr/bin/env bash | ||
set -euxo pipefail | ||
while ! hub ci-status --verbose {{BRANCH}}; do | ||
sleep 5 | ||
done | ||
just done {{BRANCH}} | ||
publish-check: check | ||
cargo outdated --exit-code 1 | ||
grep '^\[{{version}}\]' target/gen/CHANGELOG.md | ||
|
||
publish BRANCH=`git rev-parse --abbrev-ref HEAD`: publish-check (merge BRANCH) | ||
#!/usr/bin/env bash | ||
set -euxo pipefail | ||
git tag -a {{version}} -m 'Release {{version}}' | ||
git push github {{version}} | ||
while ! hub ci-status --verbose {{BRANCH}}; do | ||
sleep 5 | ||
done | ||
cargo publish | ||
hub pull-request -o | ||
|
||
publish: | ||
#!/usr/bin/env bash | ||
set -euxo pipefail | ||
rm -rf tmp/release | ||
git clone [email protected]:casey/intermodal.git tmp/release | ||
cd tmp/release | ||
cargo build | ||
cargo run --package gen -- --bin target/debug/imdl all | ||
VERSION=v`sed -En 's/version[[:space:]]*=[[:space:]]*"([^"]+)"/\1/p' Cargo.toml | head -1` | ||
git tag -a $VERSION -m "Release $VERSION" | ||
git push origin $VERSION | ||
cargo publish | ||
cd ../.. | ||
rm -rf tmp/release | ||
# record, upload, and render demo animation | ||
demo: demo-record demo-upload demo-render | ||
|
||
demo-record: | ||
#!/usr/bin/env bash | ||
set -euxo pipefail | ||
cargo build --release --all | ||
rm -f tmp/9front.torrent | ||
asciinema rec \ | ||
--title "Intermodal {{version}} Demo" \ | ||
--command ./target/release/demo \ | ||
--overwrite \ | ||
tmp/demo.json | ||
#!/usr/bin/env bash | ||
set -euxo pipefail | ||
cargo build --release --all | ||
rm -f tmp/9front.torrent | ||
asciinema rec \ | ||
--title "Intermodal {{version}} Demo" \ | ||
--command ./target/release/demo \ | ||
--overwrite \ | ||
tmp/demo.json | ||
demo-upload: | ||
asciinema upload tmp/demo.json | ||
asciinema upload tmp/demo.json | ||
|
||
demo-render: | ||
../asciicast2gif/asciicast2gif -S4 tmp/demo.json www/demo.gif | ||
../asciicast2gif/asciicast2gif -S4 tmp/demo.json www/demo.gif | ||
|
||
# print commit metadata types | ||
commit-types: | ||
cargo run --package gen -- --bin target/debug/imdl commit-types | ||
cargo run --package gen -- --bin target/debug/imdl commit-types | ||
|
||
# open site index | ||
www: | ||
open www/index.html | ||
open www/index.html | ||
|
||
# retrieve large collection of torrents from the Internet Archive | ||
get-torrents: | ||
aria2c \ | ||
-d dat \ | ||
-x 10 \ | ||
'https://ia802701.us.archive.org/21/items/2014_torrent_archive_organized/torrent_archive_organized.zip' | ||
aria2c \ | ||
-d dat \ | ||
-x 10 \ | ||
'https://ia802701.us.archive.org/21/items/2014_torrent_archive_organized/torrent_archive_organized.zip' | ||
|
||
# download bittorrent.org repository | ||
get-beps: | ||
git clone [email protected]:bittorrent/bittorrent.org.git tmp/bittorrent.org | ||
git clone [email protected]:bittorrent/bittorrent.org.git tmp/bittorrent.org | ||
|
||
build-image: | ||
podman build -t imdl . | ||
|