Compare commits

...

59 Commits
v1.2.3 ... main

Author SHA1 Message Date
0c8cc665c8
chore(README): archive 2023-08-28 23:29:40 +05:30
9586a22519
chore: update Garnix badges 2023-08-27 20:51:34 +05:30
GitHub Actions
96d5232e9b flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/ae12a8f93fb93d447f7b4ba3bb157c66568a5a05' (2023-08-19)
  → 'github:rustsec/advisory-db/d401af5af8e74d61872688d6228d067c553db2c9' (2023-08-25)
• Updated input 'crane':
    'github:ipetkov/crane/7809d369710abb17767b624f9e72b500373580bc' (2023-08-12)
  → 'github:ipetkov/crane/ef5d11e3c2e5b3924eb0309dba2e1fea2d9062ae' (2023-08-23)
• Updated input 'devshell':
    'github:numtide/devshell/f9238ec3d75cefbb2b42a44948c4e8fb1ae9a205' (2023-07-03)
  → 'github:numtide/devshell/2aa26972b951bc05c3632d4e5ae683cb6771a7c6' (2023-08-23)
• Updated input 'fenix':
    'github:nix-community/fenix/ce22ab2b2c8aec8593713d077bbce8f0e3fe8d3e' (2023-08-19)
  → 'github:nix-community/fenix/e66fa0e97106af71be1b26917fba281a27a653a3' (2023-08-26)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/c0f6ece3c47b6486731367153a66be0790d13dec' (2023-08-18)
  → 'github:rust-lang/rust-analyzer/f5b7c60ff7a79bfb3e10f3e98c81b7bb4cb53c68' (2023-08-23)
• Updated input 'flake-utils':
    'github:numtide/flake-utils/919d646de7be200f3bf08cb76ae1f09402b6f9b4' (2023-07-11)
  → 'github:numtide/flake-utils/f9e7cf818399d17d347f847525c5a5a8032e4e44' (2023-08-23)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ca3c9ac9f4cdd4bea19f592b32bb59b74ab7d783' (2023-08-19)
  → 'github:NixOS/nixpkgs/c66ccfa00c643751da2fd9290e096ceaa30493fc' (2023-08-26)
2023-08-27 06:01:48 +00:00
renovate[bot]
81de1dd24d
chore(deps): lock file maintenance 2023-08-27 00:58:31 +00:00
renovate[bot]
764098c5e1
fix(deps): update serde to 1.0.188 2023-08-26 05:34:27 +00:00
renovate[bot]
3c0e6490e2
chore(deps): lock file maintenance 2023-08-26 01:25:40 +00:00
renovate[bot]
d6c39197a8
fix(deps): update serde to 1.0.187 2023-08-25 18:23:24 +00:00
renovate[bot]
d8db87d367
chore(deps): lock file maintenance 2023-08-25 04:47:07 +00:00
renovate[bot]
ec203dca55
chore(deps): update dependency ubuntu to v22 2023-08-25 02:06:53 +00:00
renovate[bot]
6a7c8eef42
fix(deps): update rust crate clap to 4.4.0 2023-08-24 23:40:36 +00:00
b3aa3eda8c
chore(release): bump twt to version 1.2.5 2023-08-25 05:09:57 +05:30
e33da6ee89
feat(ci): upgrade to cargo-dist 0.2.0-prerelease.5 2023-08-25 05:09:47 +05:30
4d74ac1eac
flake.lock: Update
Flake lock file updates:

• Updated input 'custom-nixpkgs':
    'github:msfjarvis/custom-nixpkgs/7f5998077786b9280cc07c36f6d90d0e2618b5ea' (2023-08-18)
  → 'github:msfjarvis/custom-nixpkgs/3b29b3378dc3f5abb36d670ca16aa566ea17a47d' (2023-08-24)
• Updated input 'custom-nixpkgs/rust-manifest':
    'https://static.rust-lang.org/dist/2023-06-10/channel-rust-nightly.toml?narHash=sha256-9OMI8u%2B0LF0qAKlC3X0kr79BO6LqJEP4%2BOwhQff23D4%3D'
  → 'https://static.rust-lang.org/dist/2023-07-08/channel-rust-nightly.toml?narHash=sha256-emILH39kZmz9D2cquaobdM55EakoGkUxn1sY3r1iYNg%3D'
2023-08-25 05:08:49 +05:30
2e3fdf0e0d
chore: fix Clippy lints 2023-08-25 04:03:15 +05:30
a9a80dc1bc
chore(rust): upgrade to 1.72.0 stable 2023-08-25 03:54:42 +05:30
renovate[bot]
334aaed4a2
fix(deps): update serde to 1.0.186 2023-08-24 03:38:50 +00:00
renovate[bot]
5a969d4c6d
chore(deps): lock file maintenance 2023-08-24 01:54:11 +00:00
renovate[bot]
0a56d56cd3
fix(deps): update rust crate clap to 4.3.24 2023-08-23 14:53:55 +00:00
renovate[bot]
577756aa14
chore(deps): lock file maintenance 2023-08-23 00:11:05 +00:00
renovate[bot]
5a7a2c7f16
chore(deps): lock file maintenance 2023-08-22 01:50:43 +00:00
renovate[bot]
abb7f64f59
fix(deps): update serde to 1.0.185 2023-08-21 06:26:38 +00:00
renovate[bot]
d49f01ebf9
chore(deps): lock file maintenance 2023-08-21 03:44:08 +00:00
renovate[bot]
d30c85daab
chore(deps): lock file maintenance 2023-08-21 02:08:00 +00:00
GitHub Actions
cea87e0d88 flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/15e3b1b0712d465c6b5ef12fdc2a1716ec73d84d' (2023-08-07)
  → 'github:rustsec/advisory-db/ae12a8f93fb93d447f7b4ba3bb157c66568a5a05' (2023-08-19)
• Updated input 'custom-nixpkgs':
    'github:msfjarvis/custom-nixpkgs/1a87d30e79ff0e578201c44408848ccedfa0ce8f' (2023-08-06)
  → 'github:msfjarvis/custom-nixpkgs/7f5998077786b9280cc07c36f6d90d0e2618b5ea' (2023-08-18)
• Updated input 'fenix':
    'github:nix-community/fenix/f8800cb5a572fcdf25ea6fccf89d5ff25f6ad053' (2023-08-12)
  → 'github:nix-community/fenix/ce22ab2b2c8aec8593713d077bbce8f0e3fe8d3e' (2023-08-19)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/1fde334195f0a8ac43d242bc871e6723e963620d' (2023-08-11)
  → 'github:rust-lang/rust-analyzer/c0f6ece3c47b6486731367153a66be0790d13dec' (2023-08-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f0451844bbdf545f696f029d1448de4906c7f753' (2023-08-12)
  → 'github:NixOS/nixpkgs/ca3c9ac9f4cdd4bea19f592b32bb59b74ab7d783' (2023-08-19)
2023-08-20 06:01:39 +00:00
renovate[bot]
eca2a3c49b
chore(deps): lock file maintenance 2023-08-19 04:04:29 +00:00
renovate[bot]
dcb2f2b04d
fix(deps): update rust crate clap to 4.3.23 2023-08-19 00:50:07 +00:00
renovate[bot]
57c8fa3672
chore(deps): lock file maintenance 2023-08-18 01:19:12 +00:00
renovate[bot]
9608701836
fix(deps): update rust crate clap to 4.3.22 2023-08-17 17:24:20 +00:00
renovate[bot]
e78f7e28d1
chore(deps): lock file maintenance 2023-08-17 01:44:09 +00:00
renovate[bot]
d8ce3c6b3c
fix(deps): update rust crate tokio to 1.32.0 2023-08-16 21:22:49 +00:00
870076b3b8
chore: rebuild docs 2023-08-16 15:28:12 +05:30
5eead6d934
chore(release): bump twt to version 1.2.4 2023-08-16 15:15:37 +05:30
renovate[bot]
efc97d5038
chore(deps): lock file maintenance 2023-08-16 01:30:37 +00:00
renovate[bot]
9001c457e3
chore(deps): lock file maintenance 2023-08-15 00:47:54 +00:00
renovate[bot]
1458f36cdc
chore(deps): lock file maintenance 2023-08-14 02:00:04 +00:00
GitHub Actions
6256eda1b4 flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/98e8483ac17d42eeeeee51d4d02ad8a690bd12c7' (2023-07-29)
  → 'github:rustsec/advisory-db/15e3b1b0712d465c6b5ef12fdc2a1716ec73d84d' (2023-08-07)
• Updated input 'crane':
    'github:ipetkov/crane/1a551ae11bff91521cbeaebb8ca59a101c9f33f8' (2023-08-03)
  → 'github:ipetkov/crane/7809d369710abb17767b624f9e72b500373580bc' (2023-08-12)
• Updated input 'crane/rust-overlay':
    'github:oxalica/rust-overlay/99df4908445be37ddb2d332580365fce512a7dcf' (2023-08-03)
  → 'github:oxalica/rust-overlay/b520a3889b24aaf909e287d19d406862ced9ffc9' (2023-08-07)
• Updated input 'custom-nixpkgs':
    'github:msfjarvis/custom-nixpkgs/85ba6439eb957cf24ad29c0160d03fe18aeb42f9' (2023-08-02)
  → 'github:msfjarvis/custom-nixpkgs/1a87d30e79ff0e578201c44408848ccedfa0ce8f' (2023-08-06)
• Updated input 'fenix':
    'github:nix-community/fenix/accce4f7f29327614501543c79dd421a6ac6f0fc' (2023-08-05)
  → 'github:nix-community/fenix/f8800cb5a572fcdf25ea6fccf89d5ff25f6ad053' (2023-08-12)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/86b6b6f705eb0c29691c3b2f7f5ac71df0e8caae' (2023-08-04)
  → 'github:rust-lang/rust-analyzer/1fde334195f0a8ac43d242bc871e6723e963620d' (2023-08-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0d2fb29f5071a12d7983319c2c2576be6a130582' (2023-08-05)
  → 'github:NixOS/nixpkgs/f0451844bbdf545f696f029d1448de4906c7f753' (2023-08-12)
2023-08-13 06:01:50 +00:00
renovate[bot]
d1648c757f
chore(deps): lock file maintenance 2023-08-13 01:28:15 +00:00
renovate[bot]
121b11f579
fix(deps): update rust crate tokio to 1.31.0 2023-08-12 18:31:00 +00:00
renovate[bot]
cd93856847
chore(deps): lock file maintenance 2023-08-12 01:07:28 +00:00
renovate[bot]
671c31eee6
chore(deps): lock file maintenance 2023-08-11 01:43:46 +00:00
renovate[bot]
abfa233680
chore(deps): lock file maintenance 2023-08-10 03:31:28 +00:00
renovate[bot]
425e3ff6d5
chore(deps): lock file maintenance 2023-08-10 00:45:03 +00:00
renovate[bot]
b588dcd3fb
fix(deps): update rust crate tokio to 1.30.0 2023-08-09 18:08:40 +00:00
renovate[bot]
0a3161d486
fix(deps): update rust crate clap to 4.3.21 2023-08-08 03:14:10 +00:00
renovate[bot]
e4af62eaf7
chore(deps): lock file maintenance 2023-08-08 01:39:55 +00:00
renovate[bot]
7f51df92f0
fix(deps): update serde to 1.0.183 2023-08-07 04:41:15 +00:00
renovate[bot]
23ce871f65
fix(deps): update serde to 1.0.182 2023-08-06 07:30:22 +00:00
GitHub Actions
78abe6e4cb flake.lock: Update
Flake lock file updates:

• Updated input 'crane':
    'github:ipetkov/crane/8b08e96c9af8c6e3a2b69af5a7fa168750fcf88e' (2023-07-07)
  → 'github:ipetkov/crane/1a551ae11bff91521cbeaebb8ca59a101c9f33f8' (2023-08-03)
• Updated input 'crane/rust-overlay':
    'github:oxalica/rust-overlay/f9b92316727af9e6c7fee4a761242f7f46880329' (2023-07-03)
  → 'github:oxalica/rust-overlay/99df4908445be37ddb2d332580365fce512a7dcf' (2023-08-03)
• Updated input 'custom-nixpkgs':
    'github:msfjarvis/custom-nixpkgs/16f8050adaea5dd57c0fae38d845a916d4de1a30' (2023-07-28)
  → 'github:msfjarvis/custom-nixpkgs/85ba6439eb957cf24ad29c0160d03fe18aeb42f9' (2023-08-02)
• Updated input 'fenix':
    'github:nix-community/fenix/4253a8cb191d91dcf88d15966c3574f2460bad85' (2023-07-29)
  → 'github:nix-community/fenix/accce4f7f29327614501543c79dd421a6ac6f0fc' (2023-08-05)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/f442c4aad61668d622d8d8817dbd3dfaaa576068' (2023-07-28)
  → 'github:rust-lang/rust-analyzer/86b6b6f705eb0c29691c3b2f7f5ac71df0e8caae' (2023-08-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d2b52322f35597c62abf56de91b0236746b2a03d' (2023-07-29)
  → 'github:NixOS/nixpkgs/0d2fb29f5071a12d7983319c2c2576be6a130582' (2023-08-05)
2023-08-06 06:01:41 +00:00
renovate[bot]
4ca2bdee90
fix(deps): update serde to 1.0.181 2023-08-04 02:24:54 +00:00
renovate[bot]
fa8455b2b5
chore(deps): lock file maintenance 2023-08-03 01:35:08 +00:00
renovate[bot]
a5366e4440
chore(deps): lock file maintenance 2023-08-02 00:24:01 +00:00
renovate[bot]
be046836db
fix(deps): update serde to 1.0.180 2023-07-31 22:59:59 +00:00
renovate[bot]
f2e06b3a57
fix(deps): update serde to 1.0.179 2023-07-31 03:16:16 +00:00
renovate[bot]
ce18179944
chore(deps): lock file maintenance 2023-07-31 00:48:44 +00:00
GitHub Actions
b6300f8c58 flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/4aa517564d1d06f0e79784c8ad973a59d68aa9c8' (2023-07-18)
  → 'github:rustsec/advisory-db/98e8483ac17d42eeeeee51d4d02ad8a690bd12c7' (2023-07-29)
• Updated input 'custom-nixpkgs':
    'github:msfjarvis/custom-nixpkgs/a2d04156f31d510167d81769b40ca2d484d561e3' (2023-07-27)
  → 'github:msfjarvis/custom-nixpkgs/16f8050adaea5dd57c0fae38d845a916d4de1a30' (2023-07-28)
• Updated input 'fenix':
    'github:nix-community/fenix/90ce0d205450fceeea30b295810c8fd8b2325f18' (2023-07-22)
  → 'github:nix-community/fenix/4253a8cb191d91dcf88d15966c3574f2460bad85' (2023-07-29)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/899dd84b4dbc53bab02553f77f6d7c3187d33637' (2023-07-21)
  → 'github:rust-lang/rust-analyzer/f442c4aad61668d622d8d8817dbd3dfaaa576068' (2023-07-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f465da166263bc0d4b39dfd4ca28b777c92d4b73' (2023-07-22)
  → 'github:NixOS/nixpkgs/d2b52322f35597c62abf56de91b0236746b2a03d' (2023-07-29)
2023-07-30 06:01:30 +00:00
renovate[bot]
805efa15db
chore(deps): lock file maintenance 2023-07-30 00:01:54 +00:00
renovate[bot]
437dc5cf6d
fix(deps): update serde to 1.0.178 2023-07-29 01:12:10 +00:00
renovate[bot]
12b9dbba79
fix(deps): update serde to 1.0.177 2023-07-27 19:51:18 +00:00
4af3d21625
chore: rebuild docs for v1.2.3 2023-07-28 01:20:42 +05:30
14 changed files with 485 additions and 447 deletions

View File

@ -1,12 +1,15 @@
# Copyright 2022-2023, axodotdev
# SPDX-License-Identifier: MIT or Apache-2.0
#
# CI that:
#
# * checks for a Git Tag that looks like a release ("v1.2.0")
# * creates a Github Release™
# * builds binaries/packages with cargo-dist
# * uploads those packages to the Github Release™
# * checks for a Git Tag that looks like a release
# * creates a Github Release™ and fills in its text
# * builds artifacts with cargo-dist (executable-zips, installers)
# * uploads those artifacts to the Github Release™
#
# Note that the Github Release™ will be created before the packages,
# so there will be a few minutes where the release has no packages
# Note that the Github Release™ will be created before the artifacts,
# so there will be a few minutes where the release has no artifacts
# and then they will slowly trickle in, possibly failing. To make
# this more pleasant we mark the release as a "draft" until all
# artifacts have been successfully uploaded. This allows you to
@ -17,134 +20,192 @@ name: Release
permissions:
contents: write
# This task will run whenever you push a git tag that looks like
# a version number. We just look for `v` followed by at least one number
# and then whatever. so `v1`, `v1.0.0`, and `v1.0.0-prerelease` all work.
# This task will run whenever you push a git tag that looks like a version
# like "v1", "v1.2.0", "v0.1.0-prerelease01", "my-app-v1.0.0", etc.
# The version will be roughly parsed as ({PACKAGE_NAME}-)?v{VERSION}, where
# PACKAGE_NAME must be the name of a Cargo package in your workspace, and VERSION
# must be a Cargo-style SemVer Version.
#
# If there's a prerelease-style suffix to the version then the Github Release™
# will be marked as a prerelease (handled by taiki-e/create-gh-release-action).
# If PACKAGE_NAME is specified, then we will create a Github Release™ for that
# package (erroring out if it doesn't have the given version or isn't cargo-dist-able).
#
# Note that when generating links to uploaded artifacts, cargo-dist will currently
# assume that your git tag is always v{VERSION} where VERSION is the version in
# the published package's Cargo.toml (this is the default behaviour of cargo-release).
# In the future this may be made more robust/configurable.
# If PACKAGE_NAME isn't specified, then we will create a Github Release™ for all
# (cargo-dist-able) packages in the workspace with that version (this is mode is
# intended for workspaces with only one dist-able package, or with all dist-able
# packages versioned/released in lockstep).
#
# If you push multiple tags at once, separate instances of this workflow will
# spin up, creating an independent Github Release™ for each one.
#
# If there's a prerelease-style suffix to the version then the Github Release™
# will be marked as a prerelease.
on:
push:
tags:
- v[0-9]+.*
env:
ALL_CARGO_DIST_TARGET_ARGS: --target=x86_64-unknown-linux-gnu --target=x86_64-apple-darwin --target=x86_64-pc-windows-msvc
ALL_CARGO_DIST_INSTALLER_ARGS: --installer=github-shell --installer=github-powershell
- '*-?v[0-9]+*'
jobs:
# Create the Github Release™ so the packages have something to be uploaded to
# Create the Github Release™ so the packages have something to be uploaded to
create-release:
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.create-gh-release.outputs.computed-prefix }}${{ steps.create-gh-release.outputs.version }}
has-releases: ${{ steps.create-release.outputs.has-releases }}
releases: ${{ steps.create-release.outputs.releases }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- id: create-gh-release
uses: taiki-e/create-gh-release-action@v1
with:
draft: true
# (required) GitHub token for creating GitHub Releases.
token: ${{ secrets.GITHUB_TOKEN }}
submodules: recursive
- name: Install cargo-dist
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.2.0-prerelease.5/cargo-dist-installer.sh | sh"
- id: create-release
run: |
cargo dist plan --tag=${{ github.ref_name }} --output-format=json > dist-manifest.json
echo "dist plan ran successfully"
cat dist-manifest.json
# Create the Github Release™ based on what cargo-dist thinks it should be
ANNOUNCEMENT_TITLE=$(jq --raw-output ".announcement_title" dist-manifest.json)
IS_PRERELEASE=$(jq --raw-output ".announcement_is_prerelease" dist-manifest.json)
jq --raw-output ".announcement_github_body" dist-manifest.json > new_dist_announcement.md
gh release create ${{ github.ref_name }} --draft --prerelease="$IS_PRERELEASE" --title="$ANNOUNCEMENT_TITLE" --notes-file=new_dist_announcement.md
echo "created announcement!"
# Build and packages all the things
upload-artifacts:
# Upload the manifest to the Github Release™
gh release upload ${{ github.ref_name }} dist-manifest.json
echo "uploaded manifest!"
# Disable all the upload-artifacts tasks if we have no actual releases
HAS_RELEASES=$(jq --raw-output ".releases != null" dist-manifest.json)
echo "has-releases=$HAS_RELEASES" >> "$GITHUB_OUTPUT"
echo "releases=$(jq --compact-output ".releases" dist-manifest.json)" >> "$GITHUB_OUTPUT"
# Build and packages all the platform-specific things
upload-local-artifacts:
# Let the initial task tell us to not run (currently very blunt)
needs: create-release
if: ${{ needs.create-release.outputs.has-releases == 'true' }}
strategy:
fail-fast: false
matrix:
# For these target platforms
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-20.04
install-dist: curl --proto '=https' --tlsv1.2 -L -sSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.2/installer.sh | sh
- target: x86_64-apple-darwin
os: macos-11
install-dist: curl --proto '=https' --tlsv1.2 -L -sSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.2/installer.sh | sh
- target: x86_64-pc-windows-msvc
os: windows-2019
install-dist: irm 'https://github.com/axodotdev/cargo-dist/releases/download/v0.0.2/installer.ps1' | iex
- os: "macos-11"
dist-args: "--artifacts=local --target=aarch64-apple-darwin"
install-dist: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.2.0-prerelease.5/cargo-dist-installer.sh | sh"
- os: "macos-11"
dist-args: "--artifacts=local --target=x86_64-apple-darwin"
install-dist: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.2.0-prerelease.5/cargo-dist-installer.sh | sh"
- os: "windows-2019"
dist-args: "--artifacts=local --target=x86_64-pc-windows-msvc"
install-dist: "irm https://github.com/axodotdev/cargo-dist/releases/download/v0.2.0-prerelease.5/cargo-dist-installer.ps1 | iex"
- os: "ubuntu-20.04"
dist-args: "--artifacts=local --target=x86_64-unknown-linux-gnu"
install-dist: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.2.0-prerelease.5/cargo-dist-installer.sh | sh"
runs-on: ${{ matrix.os }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update stable && rustup default stable
with:
submodules: recursive
- name: Install cargo-dist
run: ${{ matrix.install-dist }}
- name: Run cargo-dist
# This logic is a bit janky because it's trying to be a polyglot between
# powershell and bash since this will run on windows, macos, and linux!
# The two platforms don't agree on how to talk about env vars but they
# do agree on 'cat' and '$()' so we use that to marshal values between commmands.
# do agree on 'cat' and '$()' so we use that to marshal values between commands.
run: |
# Actually do builds and make zips and whatnot
cargo dist --target=${{ matrix.target }} --output-format=json > dist-manifest.json
cargo dist build --tag=${{ github.ref_name }} --output-format=json ${{ matrix.dist-args }} > dist-manifest.json
echo "dist ran successfully"
cat dist-manifest.json
# Parse out what we just built and upload it to the Github Release™
cat dist-manifest.json | jq --raw-output ".releases[].artifacts[].path" > uploads.txt
# Parse out what we just built and upload it to the Github Release™
jq --raw-output ".artifacts[]?.path | select( . != null )" dist-manifest.json > uploads.txt
echo "uploading..."
cat uploads.txt
gh release upload ${{ needs.create-release.outputs.tag }} $(cat uploads.txt)
gh release upload ${{ github.ref_name }} $(cat uploads.txt)
echo "uploaded!"
# Compute and upload the manifest for everything
upload-manifest:
needs: create-release
runs-on: ubuntu-latest
# Build and packages all the platform-agnostic(ish) things
upload-global-artifacts:
needs: upload-local-artifacts
runs-on: "ubuntu-22.04"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
- name: Install Rust
run: rustup update stable && rustup default stable
with:
submodules: recursive
- name: Install cargo-dist
run: curl --proto '=https' --tlsv1.2 -L -sSf https://github.com/axodotdev/cargo-dist/releases/download/v0.0.2/installer.sh | sh
- name: Run cargo-dist manifest
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.2.0-prerelease.5/cargo-dist-installer.sh | sh"
# Get all the local artifacts for the global tasks to use (for e.g. checksums)
- name: Fetch local artifacts
run: |
# Generate a manifest describing everything
cargo dist manifest --no-local-paths --output-format=json $ALL_CARGO_DIST_TARGET_ARGS $ALL_CARGO_DIST_INSTALLER_ARGS > dist-manifest.json
echo "dist manifest ran successfully"
cat dist-manifest.json
# Upload the manifest to the Github Release™
gh release upload ${{ needs.create-release.outputs.tag }} dist-manifest.json
echo "uploaded manifest!"
# Edit the Github Release™ title/body to match what cargo-dist thinks it should be
CHANGELOG_TITLE=$(cat dist-manifest.json | jq --raw-output ".releases[].changelog_title")
cat dist-manifest.json | jq --raw-output ".releases[].changelog_body" > new_dist_changelog.md
gh release edit ${{ needs.create-release.outputs.tag }} --title="$CHANGELOG_TITLE" --notes-file=new_dist_changelog.md
echo "updated release notes!"
- name: Run cargo-dist --installer=...
gh release download ${{ github.ref_name }} --dir target/distrib/
- name: Run cargo-dist
# This logic is a bit janky because it's trying to be a polyglot between
# powershell and bash since this will run on windows, macos, and linux!
# The two platforms don't agree on how to talk about env vars but they
# do agree on 'cat' and '$()' so we use that to marshal values between commands.
run: |
# Run cargo dist with --no-builds to get agnostic artifacts like installers
cargo dist --output-format=json --no-builds $ALL_CARGO_DIST_INSTALLER_ARGS > dist-manifest.json
cargo dist build --tag=${{ github.ref_name }} --output-format=json "--artifacts=global" > dist-manifest.json
echo "dist ran successfully"
cat dist-manifest.json
# Grab the installers that were generated and upload them.
# This filter is working around the fact that --no-builds is kinds hacky
# and still makes/reports malformed zips that we don't want to upload.
cat dist-manifest.json | jq --raw-output '.releases[].artifacts[] | select(.kind == "installer") | .path' > uploads.txt
# Parse out what we just built and upload it to the Github Release™
jq --raw-output ".artifacts[]?.path | select( . != null )" dist-manifest.json > uploads.txt
echo "uploading..."
cat uploads.txt
gh release upload ${{ needs.create-release.outputs.tag }} $(cat uploads.txt)
echo "uploaded installers!"
gh release upload ${{ github.ref_name }} $(cat uploads.txt)
echo "uploaded!"
# Mark the Github Release™ as a non-draft now that everything has succeeded!
upload-homebrew-formula:
needs: [create-release, upload-global-artifacts]
runs-on: "ubuntu-22.04"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RELEASES: ${{ needs.create-release.outputs.releases }}
GITHUB_USER: "axo bot"
GITHUB_EMAIL: "admin+bot@axo.dev"
steps:
- uses: actions/checkout@v3
with:
repository: "msfjarvis/homebrew-tap"
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
# So we have access to the formula
- name: Fetch local artifacts
run: |
gh release download ${{ github.ref_name }} --dir Formula --repo ${GITHUB_REPOSITORY} --clobber
- name: Commit formula files
run: |
git config --global user.name "${GITHUB_USER}"
git config --global user.email "${GITHUB_EMAIL}"
for release in $(echo "$RELEASES" | jq --compact-output '.[]'); do
name=$(echo "$release" | jq .app_name --raw-output)
version=$(echo "$release" | jq .app_version --raw-output)
git add Formula/${name}.rb
git commit -m "${name} ${version}"
done
git push
# Mark the Github Release™ as a non-draft now that everything has succeeded!
publish-release:
needs: [create-release, upload-artifacts, upload-manifest]
# Only run after all the other tasks, but it's ok if upload-artifacts was skipped
needs: [create-release, upload-local-artifacts, upload-global-artifacts]
if: ${{ always() && needs.create-release.result == 'success' && (needs.upload-local-artifacts.result == 'skipped' || needs.upload-local-artifacts.result == 'success') && (needs.upload-global-artifacts.result == 'skipped' || needs.upload-global-artifacts.result == 'success') }}
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: mark release as non-draft
run: |
gh release edit ${{ needs.create-release.outputs.tag }} --draft=false
gh release edit ${{ github.ref_name }} --draft=false

250
Cargo.lock generated
View File

@ -4,9 +4,9 @@ version = 3
[[package]]
name = "addr2line"
version = "0.20.0"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f4fa78e18c64fce05e902adecd7a5eed15a5e0a3439f7b0e169f0252214865e3"
checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb"
dependencies = [
"gimli",
]
@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "aho-corasick"
version = "1.0.2"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
dependencies = [
"memchr",
]
@ -43,24 +43,23 @@ dependencies = [
[[package]]
name = "anstream"
version = "0.3.2"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163"
checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
dependencies = [
"anstyle",
"anstyle-parse",
"anstyle-query",
"anstyle-wincon",
"colorchoice",
"is-terminal",
"utf8parse",
]
[[package]]
name = "anstyle"
version = "1.0.1"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea"
[[package]]
name = "anstyle-parse"
@ -82,9 +81,9 @@ dependencies = [
[[package]]
name = "anstyle-wincon"
version = "1.0.1"
version = "2.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
dependencies = [
"anstyle",
"windows-sys",
@ -98,9 +97,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
[[package]]
name = "backtrace"
version = "0.3.68"
version = "0.3.69"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4319208da049c43661739c5fade2ba182f09d1dc2299b32298d3a31692b17e12"
checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
dependencies = [
"addr2line",
"cc",
@ -123,12 +122,6 @@ version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
[[package]]
name = "block-buffer"
version = "0.9.0"
@ -152,9 +145,12 @@ checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
[[package]]
name = "cc"
version = "1.0.79"
version = "1.0.83"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
dependencies = [
"libc",
]
[[package]]
name = "cfg-if"
@ -180,9 +176,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.3.19"
version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d"
checksum = "1d5f1946157a96594eb2d2c10eb7ad9a2b27518cb3000209dec700c35df9197d"
dependencies = [
"clap_builder",
"clap_derive",
@ -191,9 +187,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.3.19"
version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1"
checksum = "78116e32a042dd73c2901f0dc30790d20ff3447f3e3472fad359e8c3d282bcd6"
dependencies = [
"anstream",
"anstyle",
@ -203,21 +199,21 @@ dependencies = [
[[package]]
name = "clap_derive"
version = "4.3.12"
version = "4.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
checksum = "c9fd1a5729c4548118d7d70ff234a44868d00489a4b6597b0b020918a0e91a1a"
dependencies = [
"heck",
"proc-macro2",
"quote",
"syn 2.0.27",
"syn 2.0.29",
]
[[package]]
name = "clap_lex"
version = "0.5.0"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
[[package]]
name = "color-eyre"
@ -353,27 +349,6 @@ version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "errno"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
dependencies = [
"errno-dragonfly",
"libc",
"windows-sys",
]
[[package]]
name = "errno-dragonfly"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "eyre"
version = "0.6.8"
@ -455,7 +430,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.27",
"syn 2.0.29",
]
[[package]]
@ -511,15 +486,15 @@ dependencies = [
[[package]]
name = "gimli"
version = "0.27.3"
version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e"
checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
[[package]]
name = "h2"
version = "0.3.20"
version = "0.3.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049"
checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833"
dependencies = [
"bytes",
"fnv",
@ -598,9 +573,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
[[package]]
name = "httpdate"
version = "1.0.2"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hyper"
@ -619,7 +594,7 @@ dependencies = [
"httpdate",
"itoa",
"pin-project-lite",
"socket2",
"socket2 0.4.9",
"tokio",
"tower-service",
"tracing",
@ -702,17 +677,6 @@ dependencies = [
"hashbrown 0.14.0",
]
[[package]]
name = "is-terminal"
version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi",
"rustix",
"windows-sys",
]
[[package]]
name = "itoa"
version = "1.0.9"
@ -740,17 +704,11 @@ version = "0.2.147"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
[[package]]
name = "linux-raw-sys"
version = "0.4.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
[[package]]
name = "log"
version = "0.4.19"
version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
[[package]]
name = "memchr"
@ -815,9 +773,9 @@ dependencies = [
[[package]]
name = "object"
version = "0.31.1"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bda667d9f2b5051b8833f59f3bf748b28ef54f850f4fcb389a252aa383866d1"
checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe"
dependencies = [
"memchr",
]
@ -854,9 +812,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
[[package]]
name = "pin-project-lite"
version = "0.2.10"
version = "0.2.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58"
[[package]]
name = "pin-utils"
@ -881,9 +839,9 @@ dependencies = [
[[package]]
name = "quote"
version = "1.0.32"
version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@ -924,7 +882,7 @@ version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
"bitflags 1.3.2",
"bitflags",
]
[[package]]
@ -940,9 +898,9 @@ dependencies = [
[[package]]
name = "regex"
version = "1.9.1"
version = "1.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29"
dependencies = [
"aho-corasick",
"memchr",
@ -952,9 +910,9 @@ dependencies = [
[[package]]
name = "regex-automata"
version = "0.3.3"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629"
dependencies = [
"aho-corasick",
"memchr",
@ -963,9 +921,9 @@ dependencies = [
[[package]]
name = "regex-syntax"
version = "0.7.4"
version = "0.7.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da"
[[package]]
name = "ring"
@ -997,19 +955,6 @@ dependencies = [
"semver",
]
[[package]]
name = "rustix"
version = "0.38.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
dependencies = [
"bitflags 2.3.3",
"errno",
"libc",
"linux-raw-sys",
"windows-sys",
]
[[package]]
name = "rustls"
version = "0.19.1"
@ -1047,29 +992,29 @@ checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
[[package]]
name = "serde"
version = "1.0.176"
version = "1.0.188"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76dc28c9523c5d70816e393136b86d48909cfb27cecaa902d338c19ed47164dc"
checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.176"
version = "1.0.188"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4e7b8c5dc823e3b90651ff1d3808419cd14e5ad76de04feaf37da114e7a306f"
checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.27",
"syn 2.0.29",
]
[[package]]
name = "serde_json"
version = "1.0.104"
version = "1.0.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
dependencies = [
"itoa",
"ryu",
@ -1100,9 +1045,9 @@ dependencies = [
[[package]]
name = "slab"
version = "0.4.8"
version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
dependencies = [
"autocfg",
]
@ -1117,6 +1062,16 @@ dependencies = [
"winapi",
]
[[package]]
name = "socket2"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
dependencies = [
"libc",
"windows-sys",
]
[[package]]
name = "spin"
version = "0.5.2"
@ -1148,9 +1103,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.27"
version = "2.0.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
dependencies = [
"proc-macro2",
"quote",
@ -1159,22 +1114,22 @@ dependencies = [
[[package]]
name = "thiserror"
version = "1.0.44"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.44"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.27",
"syn 2.0.29",
]
[[package]]
@ -1205,18 +1160,17 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
version = "1.29.1"
version = "1.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
dependencies = [
"autocfg",
"backtrace",
"bytes",
"libc",
"mio",
"num_cpus",
"pin-project-lite",
"socket2",
"socket2 0.5.3",
"tokio-macros",
"windows-sys",
]
@ -1229,7 +1183,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.27",
"syn 2.0.29",
]
[[package]]
@ -1325,7 +1279,7 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
[[package]]
name = "twt"
version = "1.2.3"
version = "1.2.5"
dependencies = [
"clap",
"color-eyre",
@ -1348,9 +1302,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
[[package]]
name = "unicase"
version = "2.6.0"
version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
checksum = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89"
dependencies = [
"version_check",
]
@ -1447,7 +1401,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.27",
"syn 2.0.29",
"wasm-bindgen-shared",
]
@ -1469,7 +1423,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.27",
"syn 2.0.29",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@ -1551,9 +1505,9 @@ dependencies = [
[[package]]
name = "windows-targets"
version = "0.48.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm",
"windows_aarch64_msvc",
@ -1566,51 +1520,51 @@ dependencies = [
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "winnow"
version = "0.5.1"
version = "0.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25b5872fa2e10bd067ae946f927e726d7d603eaeb6e02fa6a350e0722d2b8c11"
checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc"
dependencies = [
"memchr",
]

View File

@ -1,6 +1,6 @@
[package]
name = "twt"
version = "1.2.3"
version = "1.2.5"
edition = "2021"
authors = ["Harsh Shandilya <me@msfjarvis.dev>"]
license = "MIT/Apache-2.0"
@ -13,7 +13,7 @@ publish = false
include = ["src/main.rs", "LICENSE-*", "README.md"]
[dependencies]
clap = { version = "4.3.19", features = [
clap = { version = "4.4.0", features = [
"color",
"deprecated",
"derive",
@ -26,9 +26,9 @@ egg-mode = { version = "0.16.1", features = [
], default-features = false }
mime = "0.3"
mime_guess = "2.0.4"
serde = "1.0.176"
serde_derive = "1.0.176"
tokio = { version = "1.29.1", features = ["rt-multi-thread", "macros"] }
serde = "1.0.188"
serde_derive = "1.0.188"
tokio = { version = "1.32.0", features = ["rt-multi-thread", "macros"] }
toml = "0.7.6"
url = "2.4.0"
@ -40,3 +40,20 @@ videos = []
inherits = "release"
debug = true
split-debuginfo = "packed"
# Config for 'cargo dist'
[workspace.metadata.dist]
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.2.0-prerelease.5"
# CI backends to support (see 'cargo dist generate-ci')
ci = ["github"]
# The installers to generate for each app
installers = ["shell", "powershell", "homebrew"]
# A GitHub repo to push Homebrew formulas to
tap = "msfjarvis/homebrew-tap"
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["x86_64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-pc-windows-msvc", "aarch64-apple-darwin"]
# Publish jobs to run in CI
publish-jobs = ["homebrew"]
# Whether to consider the binaries in a package for distribution (defaults true)
dist = true

View File

@ -1,4 +1,7 @@
# twt [![No Maintenance Intended](http://unmaintained.tech/badge.svg)](http://unmaintained.tech/) [![Built with Garnix](https://img.shields.io/static/v1?label=Built%20with&message=Garnix&color=blue&style=flat&logo=nixos&link=https://garnix.io&labelColor=111212)](https://garnix.io)
> [!WARNING]
> Due to Twitter's complete decimation of its API, `twt` no longer works for most use cases and is thus not going to be maintained going forward.
# twt [![Built with Garnix](https://img.shields.io/endpoint?url=https%3A%2F%2Fgarnix.io%2Fapi%2Fbadges%2Fmsfjarvis%2Ftwt%3Fbranch%3Dmain)](https://garnix.io)
CLI tool to extract metadata from tweets

View File

@ -18,7 +18,7 @@
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
<link rel="stylesheet" href="/twt/oranda-v0.3.0-prerelease.3.css" />
<link rel="stylesheet" href="/twt/oranda-v0.3.0-prerelease.4.css" />
</head>
@ -86,9 +86,9 @@
<h3>powershell</h3>
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">irm https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.ps1 </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">iex</span></pre>
<span style="color:#82aaff;">irm https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.ps1 </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">iex</span></pre>
<button class="button copy-clipboard-button primary" data-copy="irm https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.ps1 | iex">
<button class="button copy-clipboard-button primary" data-copy="irm https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.ps1 | iex">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
@ -109,9 +109,9 @@
<h3>shell</h3>
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">curl</span><span style="color:#89ddff;"> --</span><span style="color:#f78c6c;">proto </span><span style="color:#89ddff;">&#39;</span><span style="color:#c3e88d;">=https</span><span style="color:#89ddff;">&#39; --</span><span style="color:#f78c6c;">tlsv1</span><span style="color:#82aaff;">.2</span><span style="color:#89ddff;"> -</span><span style="color:#f78c6c;">LsSf</span><span style="color:#82aaff;"> https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.sh </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">sh</span></pre>
<span style="color:#82aaff;">curl</span><span style="color:#89ddff;"> --</span><span style="color:#f78c6c;">proto </span><span style="color:#89ddff;">&#39;</span><span style="color:#c3e88d;">=https</span><span style="color:#89ddff;">&#39; --</span><span style="color:#f78c6c;">tlsv1</span><span style="color:#82aaff;">.2</span><span style="color:#89ddff;"> -</span><span style="color:#f78c6c;">LsSf</span><span style="color:#82aaff;"> https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.sh </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">sh</span></pre>
<button class="button copy-clipboard-button primary" data-copy="curl --proto '=https' --tlsv1.2 -LsSf https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.sh | sh">
<button class="button copy-clipboard-button primary" data-copy="curl --proto '=https' --tlsv1.2 -LsSf https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.sh | sh">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
@ -146,7 +146,7 @@
<tr>
<td><a href="https://github.com/msfjarvis/twt/releases/download/v1.2.2/twt-v1.2.2-x86_64-apple-darwin.tar.xz">twt-v1.2.2-x86_64-apple-darwin.tar.xz</a></td>
<td><a href="https://github.com/msfjarvis/twt/releases/download/v1.2.4/twt-v1.2.4-x86_64-apple-darwin.tar.xz">twt-v1.2.4-x86_64-apple-darwin.tar.xz</a></td>
<td>
@ -160,7 +160,7 @@
<tr>
<td><a href="https://github.com/msfjarvis/twt/releases/download/v1.2.2/twt-v1.2.2-x86_64-pc-windows-msvc.zip">twt-v1.2.2-x86_64-pc-windows-msvc.zip</a></td>
<td><a href="https://github.com/msfjarvis/twt/releases/download/v1.2.4/twt-v1.2.4-x86_64-pc-windows-msvc.zip">twt-v1.2.4-x86_64-pc-windows-msvc.zip</a></td>
<td>
@ -174,7 +174,7 @@
<tr>
<td><a href="https://github.com/msfjarvis/twt/releases/download/v1.2.2/twt-v1.2.2-x86_64-unknown-linux-gnu.tar.xz">twt-v1.2.2-x86_64-unknown-linux-gnu.tar.xz</a></td>
<td><a href="https://github.com/msfjarvis/twt/releases/download/v1.2.4/twt-v1.2.4-x86_64-unknown-linux-gnu.tar.xz">twt-v1.2.4-x86_64-unknown-linux-gnu.tar.xz</a></td>
<td>

View File

@ -18,7 +18,7 @@
<meta http-equiv="Permissions-Policy" content="interest-cohort=()" />
<link rel="stylesheet" href="/twt/oranda-v0.3.0-prerelease.3.css" />
<link rel="stylesheet" href="/twt/oranda-v0.3.0-prerelease.4.css" />
</head>
@ -65,106 +65,15 @@
<div class="artifacts" data-tag="v1.2.2">
<div class="artifacts" data-tag="v1.2.4">
<div class="artifact-header target">
<h4>Install v1.2.2</h4>
<h4>Install v1.2.4</h4>
<div><small class="published-date">Published on Jun 14 2023 at 19:01 UTC</small></div>
<div><small class="published-date">Published on Aug 16 2023 at 09:55 UTC</small></div>
<ul class="arches">
<li class="arch hidden" data-arch="x86_64-apple-darwin">
<ul class="tabs">
<li class="install-tab" data-id="2" data-triple="x86_64-apple-darwin">
shell
</li>
<li class="install-tab" data-id="0" data-triple="x86_64-apple-darwin">
nix flakes
</li>
<li class="install-tab" data-id="3" data-triple="x86_64-apple-darwin">
tarball
</li>
</ul>
<ul class="contents">
<li data-id="2" data-triple="x86_64-apple-darwin" class="install-content">
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">curl</span><span style="color:#89ddff;"> --</span><span style="color:#f78c6c;">proto </span><span style="color:#89ddff;">&#39;</span><span style="color:#c3e88d;">=https</span><span style="color:#89ddff;">&#39; --</span><span style="color:#f78c6c;">tlsv1</span><span style="color:#82aaff;">.2</span><span style="color:#89ddff;"> -</span><span style="color:#f78c6c;">LsSf</span><span style="color:#82aaff;"> https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.sh </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">sh</span></pre>
<button class="button copy-clipboard-button primary" data-copy="curl --proto '=https' --tlsv1.2 -LsSf https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.sh | sh">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
<a class="button primary" href="/twt/installer.sh.txt">Source</a>
</div>
</li>
<li data-id="0" data-triple="x86_64-apple-darwin" class="install-content hidden">
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">nix profile install github:msfjarvis/twt</span></pre>
<button class="button copy-clipboard-button primary" data-copy="nix profile install github:msfjarvis/twt">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
</div>
</li>
<li data-id="3" data-triple="x86_64-apple-darwin" class="install-content hidden">
<div class="download-wrapper">
<a href="https://github.com/msfjarvis/twt/releases/download/v1.2.2/twt-v1.2.2-x86_64-apple-darwin.tar.xz">
<button class="button primary">
<span>Download</span>
<span class="button-subtitle">twt-v1.2.2-x86_64-apple-darwin.tar.xz</span>
</button>
</a>
</div>
</li>
</ul>
</li>
<li class="arch hidden" data-arch="x86_64-unknown-linux-gnu">
<ul class="tabs">
@ -198,9 +107,9 @@
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">curl</span><span style="color:#89ddff;"> --</span><span style="color:#f78c6c;">proto </span><span style="color:#89ddff;">&#39;</span><span style="color:#c3e88d;">=https</span><span style="color:#89ddff;">&#39; --</span><span style="color:#f78c6c;">tlsv1</span><span style="color:#82aaff;">.2</span><span style="color:#89ddff;"> -</span><span style="color:#f78c6c;">LsSf</span><span style="color:#82aaff;"> https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.sh </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">sh</span></pre>
<span style="color:#82aaff;">curl</span><span style="color:#89ddff;"> --</span><span style="color:#f78c6c;">proto </span><span style="color:#89ddff;">&#39;</span><span style="color:#c3e88d;">=https</span><span style="color:#89ddff;">&#39; --</span><span style="color:#f78c6c;">tlsv1</span><span style="color:#82aaff;">.2</span><span style="color:#89ddff;"> -</span><span style="color:#f78c6c;">LsSf</span><span style="color:#82aaff;"> https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.sh </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">sh</span></pre>
<button class="button copy-clipboard-button primary" data-copy="curl --proto '=https' --tlsv1.2 -LsSf https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.sh | sh">
<button class="button copy-clipboard-button primary" data-copy="curl --proto '=https' --tlsv1.2 -LsSf https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.sh | sh">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
@ -243,10 +152,10 @@
<div class="download-wrapper">
<a href="https://github.com/msfjarvis/twt/releases/download/v1.2.2/twt-v1.2.2-x86_64-unknown-linux-gnu.tar.xz">
<a href="https://github.com/msfjarvis/twt/releases/download/v1.2.4/twt-v1.2.4-x86_64-unknown-linux-gnu.tar.xz">
<button class="button primary">
<span>Download</span>
<span class="button-subtitle">twt-v1.2.2-x86_64-unknown-linux-gnu.tar.xz</span>
<span class="button-subtitle">twt-v1.2.4-x86_64-unknown-linux-gnu.tar.xz</span>
</button>
</a>
</div>
@ -256,6 +165,165 @@
</ul>
</li>
<li class="arch hidden" data-arch="x86_64-apple-darwin">
<ul class="tabs">
<li class="install-tab" data-id="2" data-triple="x86_64-apple-darwin">
shell
</li>
<li class="install-tab" data-id="0" data-triple="x86_64-apple-darwin">
nix flakes
</li>
<li class="install-tab" data-id="3" data-triple="x86_64-apple-darwin">
tarball
</li>
</ul>
<ul class="contents">
<li data-id="2" data-triple="x86_64-apple-darwin" class="install-content">
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">curl</span><span style="color:#89ddff;"> --</span><span style="color:#f78c6c;">proto </span><span style="color:#89ddff;">&#39;</span><span style="color:#c3e88d;">=https</span><span style="color:#89ddff;">&#39; --</span><span style="color:#f78c6c;">tlsv1</span><span style="color:#82aaff;">.2</span><span style="color:#89ddff;"> -</span><span style="color:#f78c6c;">LsSf</span><span style="color:#82aaff;"> https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.sh </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">sh</span></pre>
<button class="button copy-clipboard-button primary" data-copy="curl --proto '=https' --tlsv1.2 -LsSf https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.sh | sh">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
<a class="button primary" href="/twt/installer.sh.txt">Source</a>
</div>
</li>
<li data-id="0" data-triple="x86_64-apple-darwin" class="install-content hidden">
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">nix profile install github:msfjarvis/twt</span></pre>
<button class="button copy-clipboard-button primary" data-copy="nix profile install github:msfjarvis/twt">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
</div>
</li>
<li data-id="3" data-triple="x86_64-apple-darwin" class="install-content hidden">
<div class="download-wrapper">
<a href="https://github.com/msfjarvis/twt/releases/download/v1.2.4/twt-v1.2.4-x86_64-apple-darwin.tar.xz">
<button class="button primary">
<span>Download</span>
<span class="button-subtitle">twt-v1.2.4-x86_64-apple-darwin.tar.xz</span>
</button>
</a>
</div>
</li>
</ul>
</li>
<li class="arch hidden" data-arch="aarch64-apple-darwin">
<ul class="tabs">
<li class="install-tab" data-id="2" data-triple="aarch64-apple-darwin">
shell
</li>
<li class="install-tab" data-id="0" data-triple="aarch64-apple-darwin">
nix flakes
</li>
</ul>
<ul class="contents">
<li data-id="2" data-triple="aarch64-apple-darwin" class="install-content">
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">curl</span><span style="color:#89ddff;"> --</span><span style="color:#f78c6c;">proto </span><span style="color:#89ddff;">&#39;</span><span style="color:#c3e88d;">=https</span><span style="color:#89ddff;">&#39; --</span><span style="color:#f78c6c;">tlsv1</span><span style="color:#82aaff;">.2</span><span style="color:#89ddff;"> -</span><span style="color:#f78c6c;">LsSf</span><span style="color:#82aaff;"> https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.sh </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">sh</span></pre>
<button class="button copy-clipboard-button primary" data-copy="curl --proto '=https' --tlsv1.2 -LsSf https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.sh | sh">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
<a class="button primary" href="/twt/installer.sh.txt">Source</a>
</div>
</li>
<li data-id="0" data-triple="aarch64-apple-darwin" class="install-content hidden">
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">nix profile install github:msfjarvis/twt</span></pre>
<button class="button copy-clipboard-button primary" data-copy="nix profile install github:msfjarvis/twt">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
</div>
</li>
</ul>
</li>
<li class="arch hidden" data-arch="x86_64-pc-windows-msvc">
<ul class="tabs">
@ -289,9 +357,9 @@
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">irm https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.ps1 </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">iex</span></pre>
<span style="color:#82aaff;">irm https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.ps1 </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">iex</span></pre>
<button class="button copy-clipboard-button primary" data-copy="irm https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.ps1 | iex">
<button class="button copy-clipboard-button primary" data-copy="irm https://github.com/msfjarvis/twt/releases/download/v1.2.4/installer.ps1 | iex">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
@ -334,10 +402,10 @@
<div class="download-wrapper">
<a href="https://github.com/msfjarvis/twt/releases/download/v1.2.2/twt-v1.2.2-x86_64-pc-windows-msvc.zip">
<a href="https://github.com/msfjarvis/twt/releases/download/v1.2.4/twt-v1.2.4-x86_64-pc-windows-msvc.zip">
<button class="button primary">
<span>Download</span>
<span class="button-subtitle">twt-v1.2.2-x86_64-pc-windows-msvc.zip</span>
<span class="button-subtitle">twt-v1.2.4-x86_64-pc-windows-msvc.zip</span>
</button>
</a>
</div>
@ -347,74 +415,6 @@
</ul>
</li>
<li class="arch hidden" data-arch="aarch64-apple-darwin">
<ul class="tabs">
<li class="install-tab" data-id="2" data-triple="aarch64-apple-darwin">
shell
</li>
<li class="install-tab" data-id="0" data-triple="aarch64-apple-darwin">
nix flakes
</li>
</ul>
<ul class="contents">
<li data-id="2" data-triple="aarch64-apple-darwin" class="install-content">
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">curl</span><span style="color:#89ddff;"> --</span><span style="color:#f78c6c;">proto </span><span style="color:#89ddff;">&#39;</span><span style="color:#c3e88d;">=https</span><span style="color:#89ddff;">&#39; --</span><span style="color:#f78c6c;">tlsv1</span><span style="color:#82aaff;">.2</span><span style="color:#89ddff;"> -</span><span style="color:#f78c6c;">LsSf</span><span style="color:#82aaff;"> https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.sh </span><span style="color:#89ddff;">| </span><span style="color:#82aaff;">sh</span></pre>
<button class="button copy-clipboard-button primary" data-copy="curl --proto '=https' --tlsv1.2 -LsSf https://github.com/msfjarvis/twt/releases/download/v1.2.2/installer.sh | sh">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
<a class="button primary" href="/twt/installer.sh.txt">Source</a>
</div>
</li>
<li data-id="0" data-triple="aarch64-apple-darwin" class="install-content hidden">
<div class="install-code-wrapper">
<pre style="background-color:#263238;">
<span style="color:#82aaff;">nix profile install github:msfjarvis/twt</span></pre>
<button class="button copy-clipboard-button primary" data-copy="nix profile install github:msfjarvis/twt">
<svg stroke='currentColor' fill='currentColor' stroke-width='0' viewBox='0 0 20 20' height='1em' width='1em' xmlns='http://www.w3.org/2000/svg'><path d='M8 2a1 1 0 000 2h2a1 1 0 100-2H8z'></path><path d='M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z'></path></svg>
</button>
</div>
</li>
</ul>
</li>
</ul>
</div>

View File

@ -10,7 +10,7 @@
$repo = 'https://github.com/msfjarvis/twt'
$app_name = 'twt'
$package_version = 'v1.2.2'
$package_version = 'v1.2.4'
function Install-Binary($install_args) {
$old_erroractionpreference = $ErrorActionPreference

View File

@ -15,7 +15,7 @@ set -u
REPO="https://github.com/msfjarvis/twt"
APP_NAME="twt"
BINARY_DOWNLOAD_PREFIX="$REPO/releases/download"
PACKAGE_VERSION="v1.2.2"
PACKAGE_VERSION="v1.2.4"
download_binary_and_run_installer() {
downloader --check

View File

@ -3,11 +3,11 @@
"advisory-db": {
"flake": false,
"locked": {
"lastModified": 1689698236,
"narHash": "sha256-Qz9JxGKeA3jwuj1CdK9ejMJ7VsJRdiZniF8lx4mft9s=",
"lastModified": 1692985935,
"narHash": "sha256-hD7PPA9yBJntT5l4H+DGakOGzHaHLyxQhPztoFWbO1E=",
"owner": "rustsec",
"repo": "advisory-db",
"rev": "4aa517564d1d06f0e79784c8ad973a59d68aa9c8",
"rev": "d401af5af8e74d61872688d6228d067c553db2c9",
"type": "github"
},
"original": {
@ -30,11 +30,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1688772518,
"narHash": "sha256-ol7gZxwvgLnxNSZwFTDJJ49xVY5teaSvF7lzlo3YQfM=",
"lastModified": 1692750383,
"narHash": "sha256-n5P5HOXuu23UB1h9PuayldnRRVQuXJLpoO+xqtMO3ws=",
"owner": "ipetkov",
"repo": "crane",
"rev": "8b08e96c9af8c6e3a2b69af5a7fa168750fcf88e",
"rev": "ef5d11e3c2e5b3924eb0309dba2e1fea2d9062ae",
"type": "github"
},
"original": {
@ -57,11 +57,11 @@
]
},
"locked": {
"lastModified": 1690418784,
"narHash": "sha256-J0zu+VPJJepc11PQf0zhN+eOnBuyBV1qlU3CILjCD9E=",
"lastModified": 1692917810,
"narHash": "sha256-yphwiZk+F221jYQHPNUGAoy/MJI3usdgtzdVG+7oKFY=",
"owner": "msfjarvis",
"repo": "custom-nixpkgs",
"rev": "a2d04156f31d510167d81769b40ca2d484d561e3",
"rev": "3b29b3378dc3f5abb36d670ca16aa566ea17a47d",
"type": "github"
},
"original": {
@ -80,11 +80,11 @@
]
},
"locked": {
"lastModified": 1688380630,
"narHash": "sha256-8ilApWVb1mAi4439zS3iFeIT0ODlbrifm/fegWwgHjA=",
"lastModified": 1692793255,
"narHash": "sha256-yVyj0AE280JkccDHuG1XO9oGxN6bW8ksr/xttXcXzK0=",
"owner": "numtide",
"repo": "devshell",
"rev": "f9238ec3d75cefbb2b42a44948c4e8fb1ae9a205",
"rev": "2aa26972b951bc05c3632d4e5ae683cb6771a7c6",
"type": "github"
},
"original": {
@ -101,11 +101,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1690006794,
"narHash": "sha256-8yCkGGykFry+mH596ouLSWSqNcrwHBD7UE0uufIahq8=",
"lastModified": 1693030765,
"narHash": "sha256-o+eX70uYVU9/Jr79CWDrbmRiClKKNuD395/iBZdzcNM=",
"owner": "nix-community",
"repo": "fenix",
"rev": "90ce0d205450fceeea30b295810c8fd8b2325f18",
"rev": "e66fa0e97106af71be1b26917fba281a27a653a3",
"type": "github"
},
"original": {
@ -137,11 +137,11 @@
]
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"lastModified": 1692799911,
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
"type": "github"
},
"original": {
@ -152,11 +152,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1690026219,
"narHash": "sha256-oOduRk/kzQxOBknZXTLSEYd7tk+GoKvr8wV6Ab+t4AU=",
"lastModified": 1693060755,
"narHash": "sha256-KNsbfqewEziFJEpPR0qvVz4rx0x6QXxw1CcunRhlFdk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "f465da166263bc0d4b39dfd4ca28b777c92d4b73",
"rev": "c66ccfa00c643751da2fd9290e096ceaa30493fc",
"type": "github"
},
"original": {
@ -182,11 +182,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1689936585,
"narHash": "sha256-tpEKMKIkzq3MoDviXdqE/AjDMLj3H4zlIZmeQicyPsA=",
"lastModified": 1692775770,
"narHash": "sha256-LwoR5N1JHykSte2Ak+Pj/HjJ9fKy9zMJNEftfBJQkLs=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "899dd84b4dbc53bab02553f77f6d7c3187d33637",
"rev": "f5b7c60ff7a79bfb3e10f3e98c81b7bb4cb53c68",
"type": "github"
},
"original": {
@ -199,13 +199,13 @@
"rust-manifest": {
"flake": false,
"locked": {
"narHash": "sha256-9OMI8u+0LF0qAKlC3X0kr79BO6LqJEP4+OwhQff23D4=",
"narHash": "sha256-emILH39kZmz9D2cquaobdM55EakoGkUxn1sY3r1iYNg=",
"type": "file",
"url": "https://static.rust-lang.org/dist/2023-06-10/channel-rust-nightly.toml"
"url": "https://static.rust-lang.org/dist/2023-07-08/channel-rust-nightly.toml"
},
"original": {
"type": "file",
"url": "https://static.rust-lang.org/dist/2023-06-10/channel-rust-nightly.toml"
"url": "https://static.rust-lang.org/dist/2023-07-08/channel-rust-nightly.toml"
}
},
"rust-overlay": {
@ -220,11 +220,11 @@
]
},
"locked": {
"lastModified": 1688351637,
"narHash": "sha256-CLTufJ29VxNOIZ8UTg0lepsn3X03AmopmaLTTeHDCL4=",
"lastModified": 1691374719,
"narHash": "sha256-HCodqnx1Mi2vN4f3hjRPc7+lSQy18vRn8xWW68GeQOg=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "f9b92316727af9e6c7fee4a761242f7f46880329",
"rev": "b520a3889b24aaf909e287d19d406862ced9ffc9",
"type": "github"
},
"original": {

View File

@ -50,7 +50,7 @@
rustStable = (import fenix {inherit pkgs;}).fromToolchainFile {
file = ./rust-toolchain.toml;
sha256 = "sha256-gdYqng0y9iHYzYPAdkC/ka3DRny3La/S5G8ASj0Ayyc=";
sha256 = "sha256-Q9UgzzvxLi4x9aWUJTn+/5EXekC98ODRU1TwhUs9RnY=";
};
craneLib = (crane.mkLib pkgs).overrideToolchain rustStable;
@ -95,10 +95,11 @@
];
packages = with pkgs; [
cargo-dist-unstable
cargo-nextest
cargo-release
rustStable
oranda
rustStable
];
};
});

View File

@ -1,5 +1,5 @@
[toolchain]
channel = "1.70.0"
channel = "1.72.0"
components = ["clippy", "rustfmt", "rust-src"]
targets = ["x86_64-unknown-linux-gnu"]
profile = "minimal"

View File

@ -105,6 +105,6 @@ mod test {
#[test]
fn cli_assert() {
<Opts as clap::CommandFactory>::command().debug_assert()
<Opts as clap::CommandFactory>::command().debug_assert();
}
}

View File

@ -6,6 +6,8 @@ use url::Url;
const ACCEPTED_MIME_TYPES: [Mime; 2] = [mime::IMAGE_JPEG, mime::IMAGE_PNG];
// `feed` is passed over into two separate methods which consume the value fully.
#[allow(clippy::needless_pass_by_value)]
pub fn invoke(feed: Iter<Tweet>) {
let filter = |url: &Url| {
return if let Some(segment) = url.path().split('/').last() {