Compare commits

...

98 Commits
v4.5.3 ... main

Author SHA1 Message Date
renovate[bot] 8736cb553b
chore(deps): lock file maintenance 2024-06-02 03:54:24 +00:00
GitHub Actions 490e7b6957 flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/21c622592e8334057d6b56ea7249020ae74affa5?narHash=sha256-b413fI9LPrum1RXnddiQyiNjlIkZ5/Q8jBscMIYeW0Y%3D' (2024-05-21)
  → 'github:rustsec/advisory-db/331c2947e70b94a35b53ab25ed64b1bf25080870?narHash=sha256-%2B9w8QXpiGvPjJUYxlbLCKqpr0bR6b96fF%2BTtjaA2nr4%3D' (2024-06-01)
• Updated input 'crane':
    'github:ipetkov/crane/701dbc191ca003a118ce885db38fae9598908294?narHash=sha256-THm0mm4aKHQhh3pXCj5ms5t0sVPP9xzVsIU9byMjbtI%3D' (2024-05-25)
  → 'github:ipetkov/crane/480dff0be03dac0e51a8dfc26e882b0d123a450e?narHash=sha256-dIubLa56W9sNNz0e8jGxrX3CAkPXsq7snuFA/Ie6dn8%3D' (2024-05-29)
• Updated input 'fenix':
    'github:nix-community/fenix/9a9fafd0c3f796b675acb2e16ae238d4fd2cbdb5?narHash=sha256-eZs7f4izo6t0AmOI1IAU6/ZbbXrxMPGdo%2Bkhe4hP3Rk%3D' (2024-05-25)
  → 'github:nix-community/fenix/9a025daf6799e3af80b677f0af57ef76432c3fcf?narHash=sha256-ih8NPk3Jn5EAILOGQZ%2BKS5NLmu6QmwohJX%2B36MaTAQE%3D' (2024-06-01)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/a55e8bf09cdfc25066b77823cc98976a51af8a8b?narHash=sha256-mVUbarr4PNjERDk%2BuaoitPq7eL7De0ythZehezAzug8%3D' (2024-05-24)
  → 'github:rust-lang/rust-analyzer/d6d735e6f20ef78b16a79886fe28bd69cf059504?narHash=sha256-qBruki5NHrSqIw5ulxtwFmVsb6W/aOKOMjsCJjfalA4%3D' (2024-05-31)
• Updated input 'nixpkgs':
    'github:msfjarvis/nixpkgs/7daa185d9199ca2f0a20820c7fb51f6dec5163cb?narHash=sha256-yneEKWawdgCRGWLp5vpahmpVjdO1vguiT38rv8j7GlQ%3D' (2024-05-25)
  → 'github:msfjarvis/nixpkgs/65c02d49e592e54e975b42257d26d44524c0b9c8?narHash=sha256-w3lJpTEbvyJsQPsp799eqnlcbTg0zrpeX2wo4DWBOnc%3D' (2024-05-31)
2024-06-02 00:20:08 +00:00
renovate[bot] 0a56ff7d66
fix(deps): update rust crate tokio to v1.38.0 2024-05-31 01:47:15 +00:00
Harsh Shandilya ed443d0371 nix: add rust-analyzer to packages 2024-05-29 12:14:20 +05:30
renovate[bot] 0d0094d410
chore(deps): lock file maintenance 2024-05-29 01:55:36 +00:00
Harsh Shandilya 85f4717f18 chore: fmt 2024-05-26 11:48:17 +05:30
renovate[bot] a0f986832d
chore(deps): lock file maintenance 2024-05-26 06:10:10 +00:00
Harsh Shandilya 4c90698dab chore: document how to run tests correctly 2024-05-26 11:38:49 +05:30
Harsh Shandilya 21e58c85de fix: update insta snaps and remove useless test 2024-05-26 11:37:00 +05:30
GitHub Actions e66fdd3422 flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/35e7459a331d3e0c585e56dabd03006b9b354088?narHash=sha256-1BVft7ggSN2XXFeXQjazU3jN9wVECd9qp2mZx/8GDMk%3D' (2024-04-27)
  → 'github:rustsec/advisory-db/21c622592e8334057d6b56ea7249020ae74affa5?narHash=sha256-b413fI9LPrum1RXnddiQyiNjlIkZ5/Q8jBscMIYeW0Y%3D' (2024-05-21)
• Updated input 'crane':
    'github:ipetkov/crane/5b0b062ff0357ee207bc47df34c64a0047b5d9ec?narHash=sha256-wLa2QVd9o8Kw58mDtoRn9RUgYgN8Zvl30wn%2BlSBMi64%3D' (2024-05-19)
  → 'github:ipetkov/crane/701dbc191ca003a118ce885db38fae9598908294?narHash=sha256-THm0mm4aKHQhh3pXCj5ms5t0sVPP9xzVsIU9byMjbtI%3D' (2024-05-25)
• Updated input 'fenix':
    'github:nix-community/fenix/a4b7a4acfb44ee78785b0b53667066a9b1e32245?narHash=sha256-FJJMYOmzST4gOiOo4g5XicKKALv8SWqqk2kntpIF3NM%3D' (2024-05-18)
  → 'github:nix-community/fenix/9a9fafd0c3f796b675acb2e16ae238d4fd2cbdb5?narHash=sha256-eZs7f4izo6t0AmOI1IAU6/ZbbXrxMPGdo%2Bkhe4hP3Rk%3D' (2024-05-25)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/83ba42043166948db91fcfcfe30e0b7eac10b3d5?narHash=sha256-EyjtjocGLtB7tqyqwBfadP4y5BBtT5EkoG3kq/zym5U%3D' (2024-05-16)
  → 'github:rust-lang/rust-analyzer/a55e8bf09cdfc25066b77823cc98976a51af8a8b?narHash=sha256-mVUbarr4PNjERDk%2BuaoitPq7eL7De0ythZehezAzug8%3D' (2024-05-24)
• Updated input 'nixpkgs':
    'github:msfjarvis/nixpkgs/742d640177b7a7ef64576b918a0ad215fcbd4c15?narHash=sha256-3ddSM67PJD6/Lv68RPnZUMM6Rp4J4ObjpTRiraMydDk%3D' (2024-05-18)
  → 'github:msfjarvis/nixpkgs/7daa185d9199ca2f0a20820c7fb51f6dec5163cb?narHash=sha256-yneEKWawdgCRGWLp5vpahmpVjdO1vguiT38rv8j7GlQ%3D' (2024-05-25)
2024-05-26 00:20:11 +00:00
renovate[bot] 431d0958ad
chore(deps): lock file maintenance 2024-05-24 20:30:31 +00:00
Harsh Shandilya 8a0b349a3e chore(release): bump adx to version 5.0.0 2024-05-25 01:59:24 +05:30
Harsh Shandilya 82a4a5fad1 feat: rework search logic to also check artifact IDs 2024-05-25 01:59:12 +05:30
Harsh Shandilya 34bccda710 feat(rust): upgrade to Rust 1.78.0 2024-05-25 01:06:01 +05:30
renovate[bot] 81a4f49818
fix(deps): update rust crate roxmltree to 0.20.0 (#113)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-25 00:48:52 +05:30
renovate[bot] 1756e6f5ce
chore(deps): lock file maintenance 2024-05-23 01:32:39 +00:00
GitHub Actions b593c42fcb flake.lock: Update
Flake lock file updates:

• Updated input 'crane':
    'github:ipetkov/crane/27025ab71bdca30e7ed0a16c88fd74c5970fc7f5?narHash=sha256-3Iv1PGHJn9sV3HO4FlOVaaztOxa9uGLfOmUWrH7v7%2BA%3D' (2024-05-09)
  → 'github:ipetkov/crane/5b0b062ff0357ee207bc47df34c64a0047b5d9ec?narHash=sha256-wLa2QVd9o8Kw58mDtoRn9RUgYgN8Zvl30wn%2BlSBMi64%3D' (2024-05-19)
• Updated input 'fenix':
    'github:nix-community/fenix/297c756ba6249d483c1dafe42378560458842173?narHash=sha256-ezoe/FwfJpA7sskLoLP2iwfwkYnscEFCP6Vk5kPwh9k%3D' (2024-05-10)
  → 'github:nix-community/fenix/a4b7a4acfb44ee78785b0b53667066a9b1e32245?narHash=sha256-FJJMYOmzST4gOiOo4g5XicKKALv8SWqqk2kntpIF3NM%3D' (2024-05-18)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/5bf2f85c8054d80424899fa581db1b192230efb5?narHash=sha256-vLLgYpdtKBaGYTamNLg1rbRo1bPXp4Jgded/gnprPVw%3D' (2024-05-09)
  → 'github:rust-lang/rust-analyzer/83ba42043166948db91fcfcfe30e0b7eac10b3d5?narHash=sha256-EyjtjocGLtB7tqyqwBfadP4y5BBtT5EkoG3kq/zym5U%3D' (2024-05-16)
• Updated input 'nixpkgs':
    'github:msfjarvis/nixpkgs/4afe10593a7771e1bb07fd2e1caf3607b15328d6?narHash=sha256-OP4fcISjwvzvWkxcS6DPuYLm2AnG4/xkDm3SKlHe0xI%3D' (2024-05-11)
  → 'github:msfjarvis/nixpkgs/742d640177b7a7ef64576b918a0ad215fcbd4c15?narHash=sha256-3ddSM67PJD6/Lv68RPnZUMM6Rp4J4ObjpTRiraMydDk%3D' (2024-05-18)
2024-05-19 00:20:05 +00:00
renovate[bot] 198b2b5494
chore(deps): lock file maintenance 2024-05-18 00:42:54 +00:00
renovate[bot] bb4ac9e4c0
fix(deps): update rust crate thiserror to v1.0.61 2024-05-17 20:22:10 +00:00
renovate[bot] 880d7afb72
chore(deps): lock file maintenance 2024-05-17 01:09:29 +00:00
renovate[bot] a9843aac18
chore(deps): lock file maintenance 2024-05-16 03:25:13 +00:00
renovate[bot] d7b843d00d
chore(deps): lock file maintenance 2024-05-12 02:26:26 +00:00
GitHub Actions 9af3a110f1 flake.lock: Update
Flake lock file updates:

• Updated input 'crane':
    'github:ipetkov/crane/442a7a6152f49b907e73206dc8e1f46a61e8e873?narHash=sha256-uXNW6bapWFfkYIkK1EagydSrFMqycOYEDSq75GmUpjk%3D' (2024-05-04)
  → 'github:ipetkov/crane/27025ab71bdca30e7ed0a16c88fd74c5970fc7f5?narHash=sha256-3Iv1PGHJn9sV3HO4FlOVaaztOxa9uGLfOmUWrH7v7%2BA%3D' (2024-05-09)
• Updated input 'fenix':
    'github:nix-community/fenix/0371cb3179c16f4f932557f855082bf57d371166?narHash=sha256-WXSXGpOsFpIWmo92adRpKrC2PecFc12rkba6RBNXtfA%3D' (2024-05-04)
  → 'github:nix-community/fenix/297c756ba6249d483c1dafe42378560458842173?narHash=sha256-ezoe/FwfJpA7sskLoLP2iwfwkYnscEFCP6Vk5kPwh9k%3D' (2024-05-10)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/1a5bb27c018c947dab01ab70ffe1d267b0481a17?narHash=sha256-5PuPbEIUfXrW3u3wZqct22hcoc3K6XOhV3iEIp/wZTg%3D' (2024-05-03)
  → 'github:rust-lang/rust-analyzer/5bf2f85c8054d80424899fa581db1b192230efb5?narHash=sha256-vLLgYpdtKBaGYTamNLg1rbRo1bPXp4Jgded/gnprPVw%3D' (2024-05-09)
• Updated input 'nixpkgs':
    'github:msfjarvis/nixpkgs/f9fc5a7c627674ed391e94b5e1dc347075fe6e08?narHash=sha256-Ssd959C%2BUrmIplPf/VhgIzBaUKm0Q0Y4EgVVDEy2Qgo%3D' (2024-05-11)
  → 'github:msfjarvis/nixpkgs/4afe10593a7771e1bb07fd2e1caf3607b15328d6?narHash=sha256-OP4fcISjwvzvWkxcS6DPuYLm2AnG4/xkDm3SKlHe0xI%3D' (2024-05-11)
2024-05-12 00:20:10 +00:00
Harsh Shandilya db3bc0a3e0 nix: use my nixpkgs fork 2024-05-11 11:56:45 +05:30
renovate[bot] cdac2f11b7
chore(deps): lock file maintenance 2024-05-08 01:56:30 +00:00
renovate[bot] 3b4828c7d9
chore(deps): lock file maintenance 2024-05-07 02:20:07 +00:00
GitHub Actions 38aac2b6b2 flake.lock: Update
Flake lock file updates:

• Updated input 'crane':
    'github:ipetkov/crane/a5eca68a2cf11adb32787fc141cddd29ac8eb79c?narHash=sha256-apdecPuh8SOQnkEET/kW/UcfjCRb8JbV5BKjoH%2BDcP4%3D' (2024-04-24)
  → 'github:ipetkov/crane/442a7a6152f49b907e73206dc8e1f46a61e8e873?narHash=sha256-uXNW6bapWFfkYIkK1EagydSrFMqycOYEDSq75GmUpjk%3D' (2024-05-04)
• Updated input 'fenix':
    'github:nix-community/fenix/055f6db376eaf544d84aa55bd5a7c70634af41ba?narHash=sha256-QO3Yv3UfJRfhZE1wsHOartg%2Bk8/Kf1BiDyfl8eEpqcE%3D' (2024-04-27)
  → 'github:nix-community/fenix/0371cb3179c16f4f932557f855082bf57d371166?narHash=sha256-WXSXGpOsFpIWmo92adRpKrC2PecFc12rkba6RBNXtfA%3D' (2024-05-04)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/1ed7e2de05ee76f6ae83cc9c72eb0b33ad6903f2?narHash=sha256-S8AsTyJvT6Q3pRFeo8QepWF/husnJh61cOhRt18Xmyc%3D' (2024-04-26)
  → 'github:rust-lang/rust-analyzer/1a5bb27c018c947dab01ab70ffe1d267b0481a17?narHash=sha256-5PuPbEIUfXrW3u3wZqct22hcoc3K6XOhV3iEIp/wZTg%3D' (2024-05-03)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d6f6eb2a984f2ba9a366c31e4d36d65465683450?narHash=sha256-Yg5D5LhyAZvd3DZrQQfJAVK8K3TkUYKooFtH1ulM0mw%3D' (2024-04-27)
  → 'github:NixOS/nixpkgs/5fd8536a9a5932d4ae8de52b7dc08d92041237fc?narHash=sha256-oOUdvPrO8CbupgDSaPou%2BJv6GL%2BuQA2QlE33D7OLzkM%3D' (2024-05-03)
2024-05-05 00:19:23 +00:00
renovate[bot] 59d62eb0f1
chore(deps): lock file maintenance 2024-05-04 00:17:04 +00:00
renovate[bot] 6232bb9895
chore(deps): lock file maintenance 2024-05-03 00:47:25 +00:00
renovate[bot] 3b5bafaf74
chore(deps): lock file maintenance 2024-05-02 03:22:48 +00:00
renovate[bot] 070c1f6256
chore(deps): lock file maintenance 2024-05-01 01:34:50 +00:00
renovate[bot] adf13b5957
chore(deps): lock file maintenance 2024-04-30 02:12:14 +00:00
renovate[bot] 4b247471f6
chore(deps): lock file maintenance 2024-04-28 01:56:57 +00:00
GitHub Actions 5263682202 flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/6ab370c779c140c9cb2e7ff1367dd1b66c415409?narHash=sha256-JXiXi2Egq7gHfIvigBXFSdzNsxIjk1s9fcq1ibfoD/U%3D' (2024-04-20)
  → 'github:rustsec/advisory-db/35e7459a331d3e0c585e56dabd03006b9b354088?narHash=sha256-1BVft7ggSN2XXFeXQjazU3jN9wVECd9qp2mZx/8GDMk%3D' (2024-04-27)
• Updated input 'crane':
    'github:ipetkov/crane/45ea0059fb325132fdc3c39faffb0941d25d08d3?narHash=sha256-LjQ11ASxnv/FXfb8QnrIyMkyqSqcBPX%2BlFK8gu0jSQE%3D' (2024-04-18)
  → 'github:ipetkov/crane/a5eca68a2cf11adb32787fc141cddd29ac8eb79c?narHash=sha256-apdecPuh8SOQnkEET/kW/UcfjCRb8JbV5BKjoH%2BDcP4%3D' (2024-04-24)
• Updated input 'fenix':
    'github:nix-community/fenix/3247290e1bba55878a2c62d43894d0309d29c918?narHash=sha256-lYWehi0cqBdsL1W4xeUnUcXw4U4aBKKCmmQrR01yqE0%3D' (2024-04-20)
  → 'github:nix-community/fenix/055f6db376eaf544d84aa55bd5a7c70634af41ba?narHash=sha256-QO3Yv3UfJRfhZE1wsHOartg%2Bk8/Kf1BiDyfl8eEpqcE%3D' (2024-04-27)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/c83d8cf5844fff3d6e243ab408669222059af1c6?narHash=sha256-HsVa%2BQM2vMra80OjnjH7JhdvLeJuMdR4sxBNHJveMe4%3D' (2024-04-19)
  → 'github:rust-lang/rust-analyzer/1ed7e2de05ee76f6ae83cc9c72eb0b33ad6903f2?narHash=sha256-S8AsTyJvT6Q3pRFeo8QepWF/husnJh61cOhRt18Xmyc%3D' (2024-04-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fd16bb6d3bcca96039b11aa52038fafeb6e4f4be?narHash=sha256-LJbHQQ5aX1LVth2ST%2BKkse/DRzgxlVhTL1rxthvyhZc%3D' (2024-04-20)
  → 'github:NixOS/nixpkgs/d6f6eb2a984f2ba9a366c31e4d36d65465683450?narHash=sha256-Yg5D5LhyAZvd3DZrQQfJAVK8K3TkUYKooFtH1ulM0mw%3D' (2024-04-27)
2024-04-28 00:20:06 +00:00
renovate[bot] ac50d89854
chore(deps): lock file maintenance 2024-04-26 00:59:59 +00:00
renovate[bot] 0d0c35722a
chore(deps): lock file maintenance 2024-04-25 05:05:22 +00:00
renovate[bot] 6291bcd7b0
chore(deps): lock file maintenance 2024-04-23 00:26:16 +00:00
Harsh Shandilya ff8c8f8490 nix: re-enable cargo-audit 2024-04-21 17:51:47 +05:30
renovate[bot] fa01239211
chore(deps): lock file maintenance 2024-04-21 01:22:10 +00:00
GitHub Actions 27fb2b8a4d flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/0631800c0a23c1e543842a70ccb698d0690f8cc3?narHash=sha256-%2BeWE3wGpGTBy90vdqYhHM4uGScHHn5Y8MugnMXWy3g8%3D' (2024-04-13)
  → 'github:rustsec/advisory-db/6ab370c779c140c9cb2e7ff1367dd1b66c415409?narHash=sha256-JXiXi2Egq7gHfIvigBXFSdzNsxIjk1s9fcq1ibfoD/U%3D' (2024-04-20)
• Updated input 'crane':
    'github:ipetkov/crane/220387ac8e99cbee0ca4c95b621c4bc782b6a235?narHash=sha256-bMDXn4AkTXLCpoZbII6pDGoSeSe9gI87jxPsHRXgu/E%3D' (2024-04-09)
  → 'github:ipetkov/crane/45ea0059fb325132fdc3c39faffb0941d25d08d3?narHash=sha256-LjQ11ASxnv/FXfb8QnrIyMkyqSqcBPX%2BlFK8gu0jSQE%3D' (2024-04-18)
• Updated input 'devshell':
    'github:numtide/devshell/2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8?narHash=sha256-HzpgM/wc3aqpnHJJ2oDqPBkNsqWbW0WfWUO8lKu8nGk%3D' (2024-03-22)
  → 'github:numtide/devshell/12e914740a25ea1891ec619bb53cf5e6ca922e40?narHash=sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc%3D' (2024-04-19)
• Updated input 'fenix':
    'github:nix-community/fenix/c739f83545e625227f4d0af7fe2a71e69931fa4c?narHash=sha256-KcvsEm0h1mIwBHFAzWFBjGihnbf2fxpAaXOdVbUfAI4%3D' (2024-04-12)
  → 'github:nix-community/fenix/3247290e1bba55878a2c62d43894d0309d29c918?narHash=sha256-lYWehi0cqBdsL1W4xeUnUcXw4U4aBKKCmmQrR01yqE0%3D' (2024-04-20)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/657b33b0cb9bd49085202e91ad5b4676532c9140?narHash=sha256-VDxsvgj/bNypHq48tQWtc3VRbWvzlFjzKf9ZZIVO10Y%3D' (2024-04-11)
  → 'github:rust-lang/rust-analyzer/c83d8cf5844fff3d6e243ab408669222059af1c6?narHash=sha256-HsVa%2BQM2vMra80OjnjH7JhdvLeJuMdR4sxBNHJveMe4%3D' (2024-04-19)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9?narHash=sha256-icE1IJE9fHcbDfJ0%2BqWoDdcBXUoZCcIJxME4lMHwvSM%3D' (2024-04-12)
  → 'github:NixOS/nixpkgs/fd16bb6d3bcca96039b11aa52038fafeb6e4f4be?narHash=sha256-LJbHQQ5aX1LVth2ST%2BKkse/DRzgxlVhTL1rxthvyhZc%3D' (2024-04-20)
2024-04-21 00:19:19 +00:00
renovate[bot] 9928146745
fix(deps): update rust crate thiserror to 1.0.59 2024-04-20 19:39:33 +00:00
renovate[bot] 1c110c0651
chore(deps): lock file maintenance 2024-04-20 00:49:49 +00:00
renovate[bot] df1841f562
fix(deps): update rust crate reqwest to 0.12.4 2024-04-19 18:08:12 +00:00
renovate[bot] 36c5b272a5
chore(deps): lock file maintenance 2024-04-18 01:47:43 +00:00
renovate[bot] 394ea3a2f7
chore(deps): lock file maintenance 2024-04-17 00:42:03 +00:00
Harsh Shandilya 829fc7b6ee oranda: set correct project name 2024-04-16 22:52:31 +05:30
Harsh Shandilya 8835a2bdf9 fix(renovate): avoid touching Oranda/cargo-dist workflows 2024-04-16 22:50:29 +05:30
Harsh Shandilya 2398431622 chore(release): bump adx to version 4.5.4 2024-04-16 22:43:11 +05:30
Harsh Shandilya dfd39279e2 feat(release): set up oranda 2024-04-16 22:42:28 +05:30
Harsh Shandilya 6c442ccba3 feat(release): set up cargo-dist 2024-04-16 22:38:34 +05:30
Harsh Shandilya f35ce955a6 chore(nix): add cargo-dist and oranda to devshell 2024-04-16 22:36:50 +05:30
renovate[bot] 3df6e38bf6
chore(deps): lock file maintenance 2024-04-16 02:07:55 +00:00
renovate[bot] 50fbef8667
chore(deps): lock file maintenance 2024-04-15 01:06:13 +00:00
renovate[bot] 36ffb73fda
chore(deps): lock file maintenance 2024-04-14 00:33:36 +00:00
GitHub Actions 93eb6ada6a flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/0bc9a77248be5cb5f2b51fe6aba8ba451d74c6bb' (2024-04-03)
  → 'github:rustsec/advisory-db/0631800c0a23c1e543842a70ccb698d0690f8cc3' (2024-04-13)
• Updated input 'crane':
    'github:ipetkov/crane/1e44708c0b34380085ba0cbabc230b8adbde1b3a' (2024-04-05)
  → 'github:ipetkov/crane/220387ac8e99cbee0ca4c95b621c4bc782b6a235' (2024-04-09)
• Updated input 'fenix':
    'github:nix-community/fenix/99c6241db5ca5363c05c8f4acbdf3a4e8fc42844' (2024-04-06)
  → 'github:nix-community/fenix/c739f83545e625227f4d0af7fe2a71e69931fa4c' (2024-04-12)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/8e581ac348e223488622f4d3003cb2bd412bf27e' (2024-04-03)
  → 'github:rust-lang/rust-analyzer/657b33b0cb9bd49085202e91ad5b4676532c9140' (2024-04-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9e7f26f82acb057498335362905fde6fea4ca50a' (2024-04-06)
  → 'github:NixOS/nixpkgs/a0c9e3aee1000ac2bfb0e5b98c94c946a5d180a9' (2024-04-12)
2024-04-14 00:20:53 +00:00
renovate[bot] 255f843e8e
chore(deps): lock file maintenance 2024-04-13 02:22:19 +00:00
renovate[bot] b3b40e1e31
chore(deps): update rust crate insta-cmd to 0.6.0 2024-04-11 10:41:46 +00:00
renovate[bot] 6a0419b9ff
chore(deps): lock file maintenance 2024-04-11 02:06:44 +00:00
Harsh Shandilya c000a0ff6c fix: upgrade to Rust 1.77.2 2024-04-10 22:02:55 +05:30
renovate[bot] a4fa9277bf
chore(deps): lock file maintenance 2024-04-09 00:06:56 +00:00
renovate[bot] f88a6cb5e2
chore(deps): lock file maintenance 2024-04-08 01:07:42 +00:00
renovate[bot] 5c6ff5edde
chore(deps): lock file maintenance 2024-04-07 00:39:40 +00:00
GitHub Actions 4e15ce77ac flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/aa8e65c812517eae85190715fa63f312aa875773' (2024-03-25)
  → 'github:rustsec/advisory-db/0bc9a77248be5cb5f2b51fe6aba8ba451d74c6bb' (2024-04-03)
• Updated input 'crane':
    'github:ipetkov/crane/ada0fb4dcce4561acb1eb17c59b7306d9d4a95f3' (2024-03-29)
  → 'github:ipetkov/crane/1e44708c0b34380085ba0cbabc230b8adbde1b3a' (2024-04-05)
• Updated input 'fenix':
    'github:nix-community/fenix/aaeaf4574767a0f5ed1787e990139aefcf4db103' (2024-03-30)
  → 'github:nix-community/fenix/99c6241db5ca5363c05c8f4acbdf3a4e8fc42844' (2024-04-06)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/f5a9250147f6569d8d89334dc9cca79c0322729f' (2024-03-29)
  → 'github:rust-lang/rust-analyzer/8e581ac348e223488622f4d3003cb2bd412bf27e' (2024-04-03)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)
  → 'github:NixOS/nixpkgs/9e7f26f82acb057498335362905fde6fea4ca50a' (2024-04-06)
2024-04-07 00:19:50 +00:00
renovate[bot] d36d5a9e74
chore(deps): lock file maintenance 2024-04-06 02:05:54 +00:00
renovate[bot] af9ab53833
fix(deps): update rust crate reqwest to 0.12.3 2024-04-05 14:49:48 +00:00
renovate[bot] ca3d203c57
chore(deps): lock file maintenance 2024-04-04 00:48:28 +00:00
GitHub Actions 224cda27ca flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/369d98c1b95b7b56d0859605916d7b81a7d1f1c4' (2024-03-15)
  → 'github:rustsec/advisory-db/aa8e65c812517eae85190715fa63f312aa875773' (2024-03-25)
• Updated input 'crane':
    'github:ipetkov/crane/270c7d60d37b769a31bb04d61bc73cc2da1b3f6f' (2024-03-22)
  → 'github:ipetkov/crane/ada0fb4dcce4561acb1eb17c59b7306d9d4a95f3' (2024-03-29)
• Updated input 'fenix':
    'github:nix-community/fenix/85f4139f3c092cf4afd9f9906d7ed218ef262c97' (2024-03-22)
  → 'github:nix-community/fenix/aaeaf4574767a0f5ed1787e990139aefcf4db103' (2024-03-30)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/7ef7f442fc34b5eadb1c6ad6433bd6d0c51b056b' (2024-03-21)
  → 'github:rust-lang/rust-analyzer/f5a9250147f6569d8d89334dc9cca79c0322729f' (2024-03-29)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/20bc93ca7b2158ebc99b8cef987a2173a81cde35' (2024-03-23)
  → 'github:NixOS/nixpkgs/807c549feabce7eddbf259dbdcec9e0600a0660d' (2024-03-29)
2024-03-31 00:19:37 +00:00
renovate[bot] 2246e75cf5
chore(deps): lock file maintenance 2024-03-30 03:34:09 +00:00
renovate[bot] f1d2292a92
chore(deps): lock file maintenance 2024-03-30 01:52:00 +00:00
Harsh Shandilya c68d1e5213 fix: upgrade to Rust 1.77.0 2024-03-29 12:17:52 +05:30
renovate[bot] 6319ab415c
chore(deps): lock file maintenance 2024-03-29 02:01:21 +00:00
renovate[bot] 5efc7ab9cd
fix(deps): update rust crate tokio to 1.37.0 2024-03-28 20:26:09 +00:00
renovate[bot] 79ed89ffde
chore(deps): lock file maintenance 2024-03-28 00:27:58 +00:00
renovate[bot] 128f9304a8
chore(deps): lock file maintenance 2024-03-27 00:23:37 +00:00
renovate[bot] 86ae403718
chore(deps): lock file maintenance 2024-03-26 01:07:49 +00:00
renovate[bot] 7665a153a3
fix(deps): update rust crate clap to 4.5.4 2024-03-25 22:42:58 +00:00
renovate[bot] 703d7c708f
fix(deps): update rust crate reqwest to 0.12.2 2024-03-25 17:22:02 +00:00
renovate[bot] 9f9ddb2084
chore(deps): lock file maintenance 2024-03-25 00:43:22 +00:00
GitHub Actions 0939a22bca flake.lock: Update
Flake lock file updates:

• Updated input 'crane':
    'github:ipetkov/crane/10484f86201bb94bd61ecc5335b1496794fedb78' (2024-03-09)
  → 'github:ipetkov/crane/270c7d60d37b769a31bb04d61bc73cc2da1b3f6f' (2024-03-22)
• Updated input 'devshell':
    'github:numtide/devshell/bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d' (2024-03-11)
  → 'github:numtide/devshell/2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8' (2024-03-22)
• Updated input 'fenix':
    'github:nix-community/fenix/b06c3b4110bfb731d8b84b35cc5f7e00e63b37ed' (2024-03-16)
  → 'github:nix-community/fenix/85f4139f3c092cf4afd9f9906d7ed218ef262c97' (2024-03-22)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/d7ec7a5441190b4fde399b2ac3a8d9daaf062e1c' (2024-03-15)
  → 'github:rust-lang/rust-analyzer/7ef7f442fc34b5eadb1c6ad6433bd6d0c51b056b' (2024-03-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15)
  → 'github:NixOS/nixpkgs/20bc93ca7b2158ebc99b8cef987a2173a81cde35' (2024-03-23)
2024-03-24 00:19:18 +00:00
renovate[bot] 67815caf4b
chore(deps): lock file maintenance 2024-03-23 01:09:57 +00:00
renovate[bot] 45c8c50b8b
fix(deps): update rust crate reqwest to 0.12.1 2024-03-22 16:41:36 +00:00
renovate[bot] a2661731df
chore(deps): lock file maintenance 2024-03-22 01:22:19 +00:00
renovate[bot] 8b1766559c
chore(deps): lock file maintenance 2024-03-21 02:01:58 +00:00
renovate[bot] d98dde3b3c
fix(deps): update rust crate reqwest to 0.12.0 2024-03-20 16:33:06 +00:00
renovate[bot] 0bb1217c61
fix(deps): update rust crate reqwest to 0.11.27 2024-03-19 18:52:09 +00:00
renovate[bot] 1e4d600437
chore(deps): lock file maintenance 2024-03-17 00:48:51 +00:00
GitHub Actions f043802f1e flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/120db258e97454f900dff7cb8eb1b61a134f3eb0' (2024-03-06)
  → 'github:rustsec/advisory-db/369d98c1b95b7b56d0859605916d7b81a7d1f1c4' (2024-03-15)
• Updated input 'devshell':
    'github:numtide/devshell/5ddecd67edbd568ebe0a55905273e56cc82aabe3' (2024-02-26)
  → 'github:numtide/devshell/bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d' (2024-03-11)
• Updated input 'fenix':
    'github:nix-community/fenix/24002092be13b2efe87700229d143b0d1eaa5d12' (2024-03-09)
  → 'github:nix-community/fenix/b06c3b4110bfb731d8b84b35cc5f7e00e63b37ed' (2024-03-16)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/2397e7a887252aa995d3790164b34b6c76ed94b4' (2024-03-08)
  → 'github:rust-lang/rust-analyzer/d7ec7a5441190b4fde399b2ac3a8d9daaf062e1c' (2024-03-15)
• Updated input 'flake-utils':
    'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28)
  → 'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0e7f98a5f30166cbed344569426850b21e4091d4' (2024-03-09)
  → 'github:NixOS/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15)
2024-03-17 00:18:49 +00:00
renovate[bot] 610f58b972
chore(deps): lock file maintenance 2024-03-15 16:53:39 +00:00
renovate[bot] 02eed6ddcb
fix(deps): update rust crate clap to 4.5.3 2024-03-15 14:49:27 +00:00
renovate[bot] d8779fcf8d
fix(deps): update rust crate color-eyre to 0.6.3 2024-03-15 02:11:53 +00:00
renovate[bot] e21de3cdb5
chore(deps): lock file maintenance 2024-03-13 00:11:23 +00:00
renovate[bot] e8a07c862f
fix(deps): update rust crate reqwest to 0.11.26 2024-03-12 16:51:42 +00:00
renovate[bot] 68a3508db3
fix(deps): update rust crate thiserror to 1.0.58 2024-03-12 04:52:01 +00:00
GitHub Actions f022b5b23a flake.lock: Update
Flake lock file updates:

• Updated input 'advisory-db':
    'github:rustsec/advisory-db/9ec5743512edfa8aa6a057daf66371b0aff66008' (2024-03-02)
  → 'github:rustsec/advisory-db/120db258e97454f900dff7cb8eb1b61a134f3eb0' (2024-03-06)
• Updated input 'crane':
    'github:ipetkov/crane/766e70fd475cd4d73bd65613d06bbb3dcbb75871' (2024-03-02)
  → 'github:ipetkov/crane/10484f86201bb94bd61ecc5335b1496794fedb78' (2024-03-09)
• Updated input 'fenix':
    'github:nix-community/fenix/f70eee0e38bc2287687c853df9b4ed6f6a028eb0' (2024-03-02)
  → 'github:nix-community/fenix/24002092be13b2efe87700229d143b0d1eaa5d12' (2024-03-09)
• Updated input 'fenix/rust-analyzer-src':
    'github:rust-lang/rust-analyzer/79e0fee6a30a5f563e9b709cc5959694709e19c4' (2024-03-01)
  → 'github:rust-lang/rust-analyzer/2397e7a887252aa995d3790164b34b6c76ed94b4' (2024-03-08)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/458b097d81f90275b3fdf03796f0563844926708' (2024-03-02)
  → 'github:NixOS/nixpkgs/0e7f98a5f30166cbed344569426850b21e4091d4' (2024-03-09)
2024-03-10 00:18:56 +00:00
renovate[bot] e35c769e22
fix(deps): update rust crate reqwest to 0.11.25 2024-03-08 21:55:05 +00:00
renovate[bot] c04e23efd9
chore(deps): lock file maintenance 2024-03-08 02:10:38 +00:00
renovate[bot] 0bc42fe18c
chore(deps): lock file maintenance 2024-03-07 00:36:11 +00:00
renovate[bot] a8955da09e
fix(deps): update rust crate clap to 4.5.2 2024-03-06 17:42:42 +00:00
15 changed files with 727 additions and 450 deletions

View File

@ -4,5 +4,6 @@
"config:base",
"github>msfjarvis/shared-workflows//renovate/rust",
"github>msfjarvis/shared-workflows//renovate/automerge"
]
],
"ignorePaths": [".github/workflows/release.yml", ".github/workflows/web.yml"]
}

View File

@ -1,150 +1,307 @@
# 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
# * builds artifacts with cargo-dist (archives, installers, hashes)
# * uploads those artifacts to temporary workflow zip
# * on success, uploads the artifacts to a 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
# 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
# choose what to do with partial successes and avoids spamming
# anyone with notifications before the release is actually ready.
# Note that the Github Release will be created with a generated
# title/body based on your changelogs.
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 "1.0.0", "v0.1.0-prerelease.1", "my-app/0.1.0", "releases/v1.0.0", etc.
# Various formats will be parsed into a VERSION and an optional PACKAGE_NAME, where
# PACKAGE_NAME must be the name of a Cargo package in your workspace, and VERSION
# must be a Cargo-style SemVer Version (must have at least major.minor.patch).
#
# 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 the announcement will be 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 the announcement will be for all
# (cargo-dist-able) packages in the workspace with that version (this 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 announcement for each one. However Github
# will hard limit this to 3 tags per commit, as it will assume more tags is a
# mistake.
#
# If there's a prerelease-style suffix to the version, then the release(s)
# 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-powershell
- '**[0-9]+.[0-9]+.[0-9]+*'
pull_request:
jobs:
# Create the Github Release™ so the packages have something to be uploaded to
create-release:
# Run 'cargo dist plan' (or host) to determine what tasks we need to do
plan:
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.create-gh-release.outputs.computed-prefix }}${{ steps.create-gh-release.outputs.version }}
steps:
- uses: actions/checkout@v4
- 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 }}
# Build and packages all the things
upload-artifacts:
needs: create-release
strategy:
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
runs-on: ${{ matrix.os }}
val: ${{ steps.plan.outputs.manifest }}
tag: ${{ !github.event.pull_request && github.ref_name || '' }}
tag-flag: ${{ !github.event.pull_request && format('--tag={0}', github.ref_name) || '' }}
publishing: ${{ !github.event.pull_request }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- 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.
# we specify bash to get pipefail; it guards against the `curl` command
# failing. otherwise `sh` won't catch that `curl` returned non-0
shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.11.1/cargo-dist-installer.sh | sh"
# sure would be cool if github gave us proper conditionals...
# so here's a doubly-nested ternary-via-truthiness to try to provide the best possible
# functionality based on whether this is a pull_request, and whether it's from a fork.
# (PRs run on the *source* but secrets are usually on the *target* -- that's *good*
# but also really annoying to build CI around when it needs secrets to work right.)
- id: plan
run: |
cargo dist ${{ (!github.event.pull_request && format('host --steps=create --tag={0}', github.ref_name)) || 'plan' }} --output-format=json > plan-dist-manifest.json
echo "cargo dist ran successfully"
cat plan-dist-manifest.json
echo "manifest=$(jq -c "." plan-dist-manifest.json)" >> "$GITHUB_OUTPUT"
- name: "Upload dist-manifest.json"
uses: actions/upload-artifact@v4
with:
name: artifacts-plan-dist-manifest
path: plan-dist-manifest.json
# Build and packages all the platform-specific things
build-local-artifacts:
name: build-local-artifacts (${{ join(matrix.targets, ', ') }})
# Let the initial task tell us to not run (currently very blunt)
needs:
- plan
if: ${{ fromJson(needs.plan.outputs.val).ci.github.artifacts_matrix.include != null && (needs.plan.outputs.publishing == 'true' || fromJson(needs.plan.outputs.val).ci.github.pr_run_mode == 'upload') }}
strategy:
fail-fast: false
# Target platforms/runners are computed by cargo-dist in create-release.
# Each member of the matrix has the following arguments:
#
# - runner: the github runner
# - dist-args: cli flags to pass to cargo dist
# - install-dist: expression to run to install cargo-dist on the runner
#
# Typically there will be:
# - 1 "global" task that builds universal installers
# - N "local" tasks that build each platform's binaries and platform-specific installers
matrix: ${{ fromJson(needs.plan.outputs.val).ci.github.artifacts_matrix }}
runs-on: ${{ matrix.runner }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUILD_MANIFEST_NAME: target/distrib/${{ join(matrix.targets, '-') }}-dist-manifest.json
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- uses: swatinem/rust-cache@v2
- name: Install cargo-dist
run: ${{ matrix.install_dist }}
# Get the dist-manifest
- name: Fetch local artifacts
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: target/distrib/
merge-multiple: true
- name: Install dependencies
run: |
${{ matrix.packages_install }}
- name: Build artifacts
run: |
# Actually do builds and make zips and whatnot
cargo dist --target=${{ matrix.target }} --output-format=json > 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
echo "uploading..."
cat uploads.txt
gh release upload ${{ needs.create-release.outputs.tag }} $(cat uploads.txt)
echo "uploaded!"
cargo dist build ${{ needs.plan.outputs.tag-flag }} --print=linkage --output-format=json ${{ matrix.dist_args }} > dist-manifest.json
echo "cargo dist ran successfully"
- id: cargo-dist
name: Post-build
# We force bash here just because github makes it really hard to get values up
# to "real" actions without writing to env-vars, and writing to env-vars has
# inconsistent syntax between shell and powershell.
shell: bash
run: |
# Parse out what we just built and upload it to scratch storage
echo "paths<<EOF" >> "$GITHUB_OUTPUT"
jq --raw-output ".artifacts[]?.path | select( . != null )" dist-manifest.json >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
# Compute and upload the manifest for everything
upload-manifest:
needs: create-release
runs-on: ubuntu-latest
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
- name: "Upload artifacts"
uses: actions/upload-artifact@v4
with:
name: artifacts-build-local-${{ join(matrix.targets, '_') }}
path: |
${{ steps.cargo-dist.outputs.paths }}
${{ env.BUILD_MANIFEST_NAME }}
# Build and package all the platform-agnostic(ish) things
build-global-artifacts:
needs:
- plan
- build-local-artifacts
runs-on: "ubuntu-20.04"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BUILD_MANIFEST_NAME: target/distrib/global-dist-manifest.json
steps:
- uses: actions/checkout@v4
- 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
shell: bash
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.11.1/cargo-dist-installer.sh | sh"
# Get all the local artifacts for the global tasks to use (for e.g. checksums)
- name: Fetch local artifacts
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: target/distrib/
merge-multiple: true
- id: cargo-dist
shell: bash
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=...
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
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
echo "uploading..."
cat uploads.txt
gh release upload ${{ needs.create-release.outputs.tag }} $(cat uploads.txt)
echo "uploaded installers!"
cargo dist build ${{ needs.plan.outputs.tag-flag }} --output-format=json "--artifacts=global" > dist-manifest.json
echo "cargo dist ran successfully"
# Mark the Github Release™ as a non-draft now that everything has succeeded!
publish-release:
needs: [create-release, upload-artifacts, upload-manifest]
runs-on: ubuntu-latest
# Parse out what we just built and upload it to scratch storage
echo "paths<<EOF" >> "$GITHUB_OUTPUT"
jq --raw-output ".artifacts[]?.path | select( . != null )" dist-manifest.json >> "$GITHUB_OUTPUT"
echo "EOF" >> "$GITHUB_OUTPUT"
cp dist-manifest.json "$BUILD_MANIFEST_NAME"
- name: "Upload artifacts"
uses: actions/upload-artifact@v4
with:
name: artifacts-build-global
path: |
${{ steps.cargo-dist.outputs.paths }}
${{ env.BUILD_MANIFEST_NAME }}
# Determines if we should publish/announce
host:
needs:
- plan
- build-local-artifacts
- build-global-artifacts
# Only run if we're "publishing", and only if local and global didn't fail (skipped is fine)
if: ${{ always() && needs.plan.outputs.publishing == 'true' && (needs.build-global-artifacts.result == 'skipped' || needs.build-global-artifacts.result == 'success') && (needs.build-local-artifacts.result == 'skipped' || needs.build-local-artifacts.result == 'success') }}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
runs-on: "ubuntu-20.04"
outputs:
val: ${{ steps.host.outputs.manifest }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install cargo-dist
run: "curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/cargo-dist/releases/download/v0.11.1/cargo-dist-installer.sh | sh"
# Fetch artifacts from scratch-storage
- name: Fetch artifacts
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: target/distrib/
merge-multiple: true
# This is a harmless no-op for Github Releases, hosting for that happens in "announce"
- id: host
shell: bash
run: |
cargo dist host ${{ needs.plan.outputs.tag-flag }} --steps=upload --steps=release --output-format=json > dist-manifest.json
echo "artifacts uploaded and released successfully"
cat dist-manifest.json
echo "manifest=$(jq -c "." dist-manifest.json)" >> "$GITHUB_OUTPUT"
- name: "Upload dist-manifest.json"
uses: actions/upload-artifact@v4
with:
# Overwrite the previous copy
name: artifacts-dist-manifest
path: dist-manifest.json
publish-homebrew-formula:
needs:
- plan
- host
runs-on: "ubuntu-20.04"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PLAN: ${{ needs.plan.outputs.val }}
GITHUB_USER: "axo bot"
GITHUB_EMAIL: "admin+bot@axo.dev"
if: ${{ !fromJson(needs.plan.outputs.val).announcement_is_prerelease || fromJson(needs.plan.outputs.val).publish_prereleases }}
steps:
- uses: actions/checkout@v4
with:
repository: "msfjarvis/homebrew-tap"
token: ${{ secrets.HOMEBREW_TAP_TOKEN }}
# So we have access to the formula
- name: Fetch local artifacts
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: Formula/
merge-multiple: true
# This is extra complex because you can make your Formula name not match your app name
# so we need to find releases with a *.rb file, and publish with that filename.
- name: Commit formula files
run: |
git config --global user.name "${GITHUB_USER}"
git config --global user.email "${GITHUB_EMAIL}"
for release in $(echo "$PLAN" | jq --compact-output '.releases[] | select([.artifacts[] | endswith(".rb")] | any)'); do
filename=$(echo "$release" | jq '.artifacts[] | select(endswith(".rb"))' --raw-output)
name=$(echo "$filename" | sed "s/\.rb$//")
version=$(echo "$release" | jq .app_version --raw-output)
git add "Formula/${filename}"
git commit -m "${name} ${version}"
done
git push
# Create a Github Release while uploading all files to it
announce:
needs:
- plan
- host
- publish-homebrew-formula
# use "always() && ..." to allow us to wait for all publish jobs while
# still allowing individual publish jobs to skip themselves (for prereleases).
# "host" however must run to completion, no skipping allowed!
if: ${{ always() && needs.host.result == 'success' && (needs.publish-homebrew-formula.result == 'skipped' || needs.publish-homebrew-formula.result == 'success') }}
runs-on: "ubuntu-20.04"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- uses: actions/checkout@v4
- name: mark release as non-draft
with:
submodules: recursive
- name: "Download Github Artifacts"
uses: actions/download-artifact@v4
with:
pattern: artifacts-*
path: artifacts
merge-multiple: true
- name: Cleanup
run: |
gh release edit ${{ needs.create-release.outputs.tag }} --draft=false
# Remove the granular manifests
rm -f artifacts/*-dist-manifest.json
- name: Create Github Release
uses: ncipollo/release-action@v1
with:
tag: ${{ needs.plan.outputs.tag }}
name: ${{ fromJson(needs.host.outputs.val).announcement_title }}
body: ${{ fromJson(needs.host.outputs.val).announcement_github_body }}
prerelease: ${{ fromJson(needs.host.outputs.val).announcement_is_prerelease }}
artifacts: "artifacts/*"

88
.github/workflows/web.yml vendored Normal file
View File

@ -0,0 +1,88 @@
# Workflow to build your docs with oranda (and mdbook)
# and deploy them to Github Pages
name: Web
# We're going to push to the gh-pages branch, so we need that permission
permissions:
contents: write
# What situations do we want to build docs in?
# All of these work independently and can be removed / commented out
# if you don't want oranda/mdbook running in that situation
on:
# Check that a PR didn't break docs!
#
# Note that the "Deploy to Github Pages" step won't run in this mode,
# so this won't have any side-effects. But it will tell you if a PR
# completely broke oranda/mdbook. Sadly we don't provide previews (yet)!
pull_request:
# Whenever something gets pushed to main, update the docs!
# This is great for getting docs changes live without cutting a full release.
#
# Note that if you're using cargo-dist, this will "race" the Release workflow
# that actually builds the Github Release that oranda tries to read (and
# this will almost certainly complete first). As a result you will publish
# docs for the latest commit but the oranda landing page won't know about
# the latest release. The workflow_run trigger below will properly wait for
# cargo-dist, and so this half-published state will only last for ~10 minutes.
#
# If you only want docs to update with releases, disable this, or change it to
# a "release" branch. You can, of course, also manually trigger a workflow run
# when you want the docs to update.
push:
branches:
- main
# Whenever a workflow called "Release" completes, update the docs!
#
# If you're using cargo-dist, this is recommended, as it will ensure that
# oranda always sees the latest release right when it's available. Note
# however that Github's UI is wonky when you use workflow_run, and won't
# show this workflow as part of any commit. You have to go to the "actions"
# tab for your repo to see this one running (the gh-pages deploy will also
# only show up there).
workflow_run:
workflows: [ "Release" ]
types:
- completed
# Alright, let's do it!
jobs:
web:
name: Build and deploy site and docs
runs-on: ubuntu-latest
steps:
# Setup
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: dtolnay/rust-toolchain@stable
- uses: swatinem/rust-cache@v2
# If you use any mdbook plugins, here's the place to install them!
# Install and run oranda (and mdbook)
# This will write all output to ./public/ (including copying mdbook's output to there)
- name: Install and run oranda
run: |
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/axodotdev/oranda/releases/download/v0.6.1/oranda-installer.sh | sh
oranda build
# Deploy to our gh-pages branch (creating it if it doesn't exist)
# the "public" dir that oranda made above will become the root dir
# of this branch.
#
# Note that once the gh-pages branch exists, you must
# go into repo's settings > pages and set "deploy from branch: gh-pages"
# the other defaults work fine.
- name: Deploy to Github Pages
uses: JamesIves/github-pages-deploy-action@v4.4.1
# ONLY if we're on main (so no PRs or feature branches allowed!)
if: ${{ github.ref == 'refs/heads/main' }}
with:
branch: gh-pages
# Gotta tell the action where to find oranda's output
folder: public
token: ${{ secrets.GITHUB_TOKEN }}
single-commit: true

3
.gitignore vendored
View File

@ -114,3 +114,6 @@ fabric.properties
.history
# End of https://www.gitignore.io/api/clion,rust,visualstudiocode
# Generated by `oranda generate ci`
public/

518
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -2,6 +2,23 @@
members = ["adx"]
resolver = "2"
# Config for 'cargo dist'
[workspace.metadata.dist]
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.11.1"
# CI backends to support
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 = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-pc-windows-msvc"]
# Publish jobs to run in CI
publish-jobs = ["homebrew"]
# Publish jobs to run in CI
pr-run-mode = "plan"
[profile.release]
codegen-units = 1
lto = "thin"

8
HACKING.md Normal file
View File

@ -0,0 +1,8 @@
# Running tests
To avoid network requests during testing the project uses a somewhat rudimentary hack around conditional compilation to load up a dump of `maven.google.com` from the repository itself. To ensure that all tests are passing, make sure to run them as following:
```bash
RUSTFLAGS='--cfg nix_check' cargo build
RUSTFLAGS='--cfg nix_check' cargo nextest run
```

View File

@ -1,6 +1,6 @@
[package]
name = "adx"
version = "4.5.3"
version = "5.0.0"
authors = ["Harsh Shandilya <me@msfjarvis.dev>"]
edition = "2021"
license = "MIT/Apache-2.0"
@ -13,16 +13,16 @@ readme = "../README.md"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
clap = { version = "4.5.1", features = ["color", "deprecated", "derive"] }
color-eyre = { version = "0.6.2", default-features = false }
clap = { version = "4.5.4", features = ["color", "deprecated", "derive"] }
color-eyre = { version = "0.6.3", default-features = false }
futures = "0.3.30"
reqwest = { version = "0.11.24", default-features = false, features = [
reqwest = { version = "0.12.4", default-features = false, features = [
"rustls-tls",
] }
roxmltree = { version = "0.19.0", features = ["std"] }
roxmltree = { version = "0.20.0", features = ["std"] }
semver = "1.0.22"
thiserror = "1.0.57"
tokio = { version = "1.36.0", features = ["macros", "rt-multi-thread"] }
thiserror = "1.0.59"
tokio = { version = "1.37.0", features = ["macros", "rt-multi-thread"] }
[badges]
maintenance = { status = "actively-developed" }
@ -31,4 +31,4 @@ maintenance = { status = "actively-developed" }
measure-alloc = []
[dev-dependencies]
insta-cmd = "0.5.0"
insta-cmd = "0.6.0"

View File

@ -52,25 +52,19 @@ async fn get_group_index(group: &str) -> Result<String> {
/// Parses a given master-index.xml and filters the found packages based on
// `search_term`.
fn filter_groups(doc: &Document<'_>, search_term: &str) -> Vec<String> {
let mut groups = vec![];
for node in doc
.descendants()
fn parse_groups<'a>(doc: &'a Document<'_>) -> Vec<&'a str> {
doc.descendants()
// Only keep elements
.filter(|node| node.node_type() == NodeType::Element)
// Skip the first one since it is junk
.skip(1)
{
let tag = node.tag_name().name();
if tag.contains(search_term) {
groups.push(tag.to_string());
}
}
groups
.map(|node| node.tag_name())
.map(|node| node.name())
.collect()
}
/// Given a list of groups, returns a `Vec<MavenPackage>` of all artifacts.
async fn parse_packages(groups: Vec<String>, channel: Channel) -> Result<Vec<MavenPackage>> {
async fn parse_packages(groups: Vec<&str>, channel: Channel) -> Result<Vec<MavenPackage>> {
// Create a Vec<Future<_>>, this will allow us to run all tasks together
// without requiring us to spawn a new thread
let group_futures = groups
@ -149,31 +143,26 @@ async fn parse_group(group_name: &str, channel: Channel) -> Result<Vec<MavenPack
pub(crate) async fn parse(search_term: &str, channel: Channel) -> Result<Vec<MavenPackage>> {
let maven_index = get_maven_index().await?;
let doc = Document::parse(&maven_index)?;
let groups = filter_groups(&doc, search_term);
parse_packages(groups, channel).await
let groups = parse_groups(&doc);
let packages = parse_packages(groups, channel).await;
packages.map(|packages| {
if search_term.is_empty() {
packages
} else {
packages
.into_iter()
.filter(|pkg| {
pkg.group_id.contains(search_term) || pkg.artifact_id.contains(search_term)
})
.collect()
}
})
}
#[cfg(test)]
mod test {
use color_eyre::eyre::eyre;
use futures::executor::block_on;
use super::{parse, Channel};
#[test]
fn check_filter_works() {
let res = block_on(parse("appcompat", Channel::Alpha))
.map_err(|e| eyre!(e))
.unwrap();
assert_eq!(res.len(), 2);
for pkg in &res {
assert_eq!(pkg.group_id, "androidx.appcompat");
}
assert!(res.iter().any(|pkg| pkg.artifact_id == "appcompat"));
assert!(res
.iter()
.any(|pkg| pkg.artifact_id == "appcompat-resources"));
}
use futures::executor::block_on;
#[test]
fn check_all_packages_are_parsed() {

View File

@ -10,5 +10,8 @@ exit_code: 0
----- stdout -----
androidx.appcompat:appcompat:1.4.0-alpha03
androidx.appcompat:appcompat-resources:1.4.0-alpha03
androidx.emoji:emoji-appcompat:1.2.0-alpha03
com.android.support:appcompat-v7:28.0.0
com.android.support:support-emoji-appcompat:28.0.0
----- stderr -----

View File

@ -12,5 +12,8 @@ exit_code: 0
----- stdout -----
androidx.appcompat:appcompat:1.3.1
androidx.appcompat:appcompat-resources:1.3.1
androidx.emoji:emoji-appcompat:1.1.0
com.android.support:appcompat-v7:28.0.0
com.android.support:support-emoji-appcompat:28.0.0
----- stderr -----

View File

@ -3,11 +3,11 @@
"advisory-db": {
"flake": false,
"locked": {
"lastModified": 1709400162,
"narHash": "sha256-kAdP0YEvYb2bEfF92+1UkjsEEcqmmJAsBzplaz4x7Zc=",
"lastModified": 1717238897,
"narHash": "sha256-+9w8QXpiGvPjJUYxlbLCKqpr0bR6b96fF+TtjaA2nr4=",
"owner": "rustsec",
"repo": "advisory-db",
"rev": "9ec5743512edfa8aa6a057daf66371b0aff66008",
"rev": "331c2947e70b94a35b53ab25ed64b1bf25080870",
"type": "github"
},
"original": {
@ -23,11 +23,11 @@
]
},
"locked": {
"lastModified": 1709400089,
"narHash": "sha256-4A6X9xNWJ0EQhBPjM4JTdxQFDTkSqQchkNfuDWOP068=",
"lastModified": 1717025063,
"narHash": "sha256-dIubLa56W9sNNz0e8jGxrX3CAkPXsq7snuFA/Ie6dn8=",
"owner": "ipetkov",
"repo": "crane",
"rev": "766e70fd475cd4d73bd65613d06bbb3dcbb75871",
"rev": "480dff0be03dac0e51a8dfc26e882b0d123a450e",
"type": "github"
},
"original": {
@ -46,11 +46,11 @@
]
},
"locked": {
"lastModified": 1708939976,
"narHash": "sha256-O5+nFozxz2Vubpdl1YZtPrilcIXPcRAjqNdNE8oCRoA=",
"lastModified": 1713532798,
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
"owner": "numtide",
"repo": "devshell",
"rev": "5ddecd67edbd568ebe0a55905273e56cc82aabe3",
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
"type": "github"
},
"original": {
@ -67,11 +67,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1709360582,
"narHash": "sha256-fdHoIO3N/NsvyJtRMYDgydduezk0aGBT1/cQSHxy69E=",
"lastModified": 1717223092,
"narHash": "sha256-ih8NPk3Jn5EAILOGQZ+KS5NLmu6QmwohJX+36MaTAQE=",
"owner": "nix-community",
"repo": "fenix",
"rev": "f70eee0e38bc2287687c853df9b4ed6f6a028eb0",
"rev": "9a025daf6799e3af80b677f0af57ef76432c3fcf",
"type": "github"
},
"original": {
@ -103,11 +103,11 @@
]
},
"locked": {
"lastModified": 1709126324,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
@ -118,15 +118,15 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1709356872,
"narHash": "sha256-mvxCirJbtkP0cZ6ABdwcgTk0u3bgLoIoEFIoYBvD6+4=",
"owner": "NixOS",
"lastModified": 1717157146,
"narHash": "sha256-w3lJpTEbvyJsQPsp799eqnlcbTg0zrpeX2wo4DWBOnc=",
"owner": "msfjarvis",
"repo": "nixpkgs",
"rev": "458b097d81f90275b3fdf03796f0563844926708",
"rev": "65c02d49e592e54e975b42257d26d44524c0b9c8",
"type": "github"
},
"original": {
"owner": "NixOS",
"owner": "msfjarvis",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
@ -147,11 +147,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1709318088,
"narHash": "sha256-guGsgYj2p2Bzj7GrqdYm5XMrVYVtJ8SUfZZF5OSpXZ0=",
"lastModified": 1717169693,
"narHash": "sha256-qBruki5NHrSqIw5ulxtwFmVsb6W/aOKOMjsCJjfalA4=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "79e0fee6a30a5f563e9b709cc5959694709e19c4",
"rev": "d6d735e6f20ef78b16a79886fe28bd69cf059504",
"type": "github"
},
"original": {

View File

@ -1,7 +1,7 @@
{
description = "adx";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
inputs.nixpkgs.url = "github:msfjarvis/nixpkgs/nixpkgs-unstable";
inputs.systems.url = "github:msfjarvis/flake-systems";
@ -42,7 +42,7 @@
rustStable = (import fenix {inherit pkgs;}).fromToolchainFile {
file = ./rust-toolchain.toml;
sha256 = "sha256-e4mlaJehWBymYxJGgnbuCObVlqMlQSilZ8FljG9zPHY=";
sha256 = "sha256-opUgs6ckUQCyDxcB9Wy51pqhd0MPGHUVbwRKKPGiwZU=";
};
craneLib = (crane.mkLib pkgs).overrideToolchain rustStable;
@ -90,9 +90,7 @@
});
in {
checks = {
inherit adx adx-clippy adx-fmt adx-nextest;
# TODO: Re-enable once https://github.com/NixOS/nixpkgs/issues/288064 is fixed
# inherit adx-audit;
inherit adx adx-audit adx-clippy adx-fmt adx-nextest;
};
packages.default = adx;
@ -110,9 +108,12 @@
];
packages = with pkgs; [
cargo-dist
cargo-insta
cargo-nextest
cargo-release
fenix.packages.${system}.rust-analyzer
oranda
rustStable
stdenv.cc
];

23
oranda.json Normal file
View File

@ -0,0 +1,23 @@
{
"project": {
"name": "adx"
},
"build": {
"path_prefix": "adx"
},
"components": {
"changelog": false,
"artifacts": {
"auto": true,
"package_managers": {
"preferred": {
"nix flake": "nix profile install github:msfjarvis/adx",
"cargo": "cargo install adx --locked --profile=dist"
},
"additional": {
"binstall": "cargo binstall adx"
}
}
}
}
}

View File

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