zoomcli 0.2.2__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {zoomcli-0.2.2 → zoomcli-0.2.4}/.github/workflows/ci.yml +15 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/.github/workflows/release.yml +80 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/CHANGELOG.md +10 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/Cargo.lock +1 -1
- {zoomcli-0.2.2 → zoomcli-0.2.4}/Cargo.toml +1 -1
- {zoomcli-0.2.2 → zoomcli-0.2.4}/PKG-INFO +2 -1
- {zoomcli-0.2.2 → zoomcli-0.2.4}/README.md +1 -0
- zoomcli-0.2.4/prek.toml +36 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/commands/init.rs +31 -7
- {zoomcli-0.2.2 → zoomcli-0.2.4}/.gitignore +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/Formula/zoom-cli.rb +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/Makefile +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/pyproject.toml +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/api/client.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/api/mod.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/api/types.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/commands/config.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/commands/meetings.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/commands/mod.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/commands/recordings.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/commands/reports.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/commands/users.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/commands/webinars.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/config.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/lib.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/main.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/output.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/src/test_support.rs +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/zoom_cli/__init__.py +0 -0
- {zoomcli-0.2.2 → zoomcli-0.2.4}/zoom_cli/__main__.py +0 -0
|
@@ -39,6 +39,21 @@ jobs:
|
|
|
39
39
|
- name: Run tests
|
|
40
40
|
run: make test
|
|
41
41
|
|
|
42
|
+
coverage:
|
|
43
|
+
name: Coverage
|
|
44
|
+
runs-on: ubuntu-latest
|
|
45
|
+
steps:
|
|
46
|
+
- uses: actions/checkout@v4
|
|
47
|
+
- uses: dtolnay/rust-toolchain@stable
|
|
48
|
+
- uses: taiki-e/install-action@cargo-tarpaulin
|
|
49
|
+
- name: Generate coverage
|
|
50
|
+
run: cargo tarpaulin --out xml
|
|
51
|
+
- name: Upload to Codecov
|
|
52
|
+
uses: codecov/codecov-action@v5
|
|
53
|
+
with:
|
|
54
|
+
files: cobertura.xml
|
|
55
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
56
|
+
|
|
42
57
|
all-checks-passed:
|
|
43
58
|
name: All checks passed
|
|
44
59
|
runs-on: ubuntu-latest
|
|
@@ -236,3 +236,83 @@ jobs:
|
|
|
236
236
|
echo "Dry run complete. Artifacts built but nothing published."
|
|
237
237
|
echo "Archives:"
|
|
238
238
|
find artifacts/release-* -type f | sort
|
|
239
|
+
|
|
240
|
+
update-homebrew:
|
|
241
|
+
needs: release
|
|
242
|
+
if: ${{ !inputs.dry_run }}
|
|
243
|
+
runs-on: ubuntu-latest
|
|
244
|
+
steps:
|
|
245
|
+
- uses: actions/download-artifact@v4
|
|
246
|
+
with:
|
|
247
|
+
path: /tmp/artifacts
|
|
248
|
+
|
|
249
|
+
- name: Compute SHA256 hashes
|
|
250
|
+
id: hashes
|
|
251
|
+
run: |
|
|
252
|
+
for target in x86_64-apple-darwin aarch64-apple-darwin x86_64-unknown-linux-gnu aarch64-unknown-linux-gnu; do
|
|
253
|
+
sha=$(cat /tmp/artifacts/release-${target}/zoom-cli-${{ github.ref_name }}-${target}.tar.gz.sha256 | awk '{print $1}')
|
|
254
|
+
key=$(echo "${target}" | tr '-' '_')
|
|
255
|
+
echo "${key}=${sha}" >> "$GITHUB_OUTPUT"
|
|
256
|
+
done
|
|
257
|
+
|
|
258
|
+
- name: Update Homebrew formula
|
|
259
|
+
env:
|
|
260
|
+
GH_TOKEN: ${{ secrets.HOMEBREW_TAP_TOKEN }}
|
|
261
|
+
run: |
|
|
262
|
+
VERSION="${{ github.ref_name }}"
|
|
263
|
+
VERSION_NUM="${VERSION#v}"
|
|
264
|
+
|
|
265
|
+
cat > /tmp/zoom-cli.rb << 'FORMULA'
|
|
266
|
+
class ZoomCli < Formula
|
|
267
|
+
desc "CLI for Zoom"
|
|
268
|
+
homepage "https://github.com/rvben/zoom-cli"
|
|
269
|
+
version "VERSION_NUM"
|
|
270
|
+
license "MIT"
|
|
271
|
+
|
|
272
|
+
on_macos do
|
|
273
|
+
if Hardware::CPU.arm?
|
|
274
|
+
url "https://github.com/rvben/zoom-cli/releases/download/VERSION/zoom-cli-VERSION-aarch64-apple-darwin.tar.gz"
|
|
275
|
+
sha256 "SHA_AARCH64_APPLE_DARWIN"
|
|
276
|
+
else
|
|
277
|
+
url "https://github.com/rvben/zoom-cli/releases/download/VERSION/zoom-cli-VERSION-x86_64-apple-darwin.tar.gz"
|
|
278
|
+
sha256 "SHA_X86_64_APPLE_DARWIN"
|
|
279
|
+
end
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
on_linux do
|
|
283
|
+
if Hardware::CPU.arm?
|
|
284
|
+
url "https://github.com/rvben/zoom-cli/releases/download/VERSION/zoom-cli-VERSION-aarch64-unknown-linux-gnu.tar.gz"
|
|
285
|
+
sha256 "SHA_AARCH64_UNKNOWN_LINUX_GNU"
|
|
286
|
+
else
|
|
287
|
+
url "https://github.com/rvben/zoom-cli/releases/download/VERSION/zoom-cli-VERSION-x86_64-unknown-linux-gnu.tar.gz"
|
|
288
|
+
sha256 "SHA_X86_64_UNKNOWN_LINUX_GNU"
|
|
289
|
+
end
|
|
290
|
+
end
|
|
291
|
+
|
|
292
|
+
def install
|
|
293
|
+
bin.install "zoom"
|
|
294
|
+
end
|
|
295
|
+
|
|
296
|
+
test do
|
|
297
|
+
system "#{bin}/zoom", "--version"
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
FORMULA
|
|
301
|
+
|
|
302
|
+
sed -i "s/VERSION_NUM/${VERSION_NUM}/g" /tmp/zoom-cli.rb
|
|
303
|
+
sed -i "s/VERSION/${VERSION}/g" /tmp/zoom-cli.rb
|
|
304
|
+
sed -i "s/SHA_AARCH64_APPLE_DARWIN/${{ steps.hashes.outputs.aarch64_apple_darwin }}/g" /tmp/zoom-cli.rb
|
|
305
|
+
sed -i "s/SHA_X86_64_APPLE_DARWIN/${{ steps.hashes.outputs.x86_64_apple_darwin }}/g" /tmp/zoom-cli.rb
|
|
306
|
+
sed -i "s/SHA_AARCH64_UNKNOWN_LINUX_GNU/${{ steps.hashes.outputs.aarch64_unknown_linux_gnu }}/g" /tmp/zoom-cli.rb
|
|
307
|
+
sed -i "s/SHA_X86_64_UNKNOWN_LINUX_GNU/${{ steps.hashes.outputs.x86_64_unknown_linux_gnu }}/g" /tmp/zoom-cli.rb
|
|
308
|
+
|
|
309
|
+
# Clone tap repo, update formula, push
|
|
310
|
+
git clone https://x-access-token:${GH_TOKEN}@github.com/rvben/homebrew-tap.git /tmp/tap
|
|
311
|
+
mkdir -p /tmp/tap/Formula
|
|
312
|
+
cp /tmp/zoom-cli.rb /tmp/tap/Formula/zoom-cli.rb
|
|
313
|
+
cd /tmp/tap
|
|
314
|
+
git config user.name "github-actions[bot]"
|
|
315
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
316
|
+
git add Formula/zoom-cli.rb
|
|
317
|
+
git diff --cached --quiet || git commit -m "Update zoom-cli to ${VERSION}"
|
|
318
|
+
git push
|
|
@@ -6,6 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## [0.2.4](https://github.com/rvben/zoom-cli/compare/v0.2.3...v0.2.4) - 2026-04-03
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **init**: improve OAuth URL hint and add next steps block ([cd7777d](https://github.com/rvben/zoom-cli/commit/cd7777d42bc8ed582404884438a2ce8d53dbc71c))
|
|
16
|
+
|
|
17
|
+
## [0.2.3](https://github.com/rvben/zoom-cli/compare/v0.2.2...v0.2.3) - 2026-04-03
|
|
18
|
+
|
|
9
19
|
## [0.2.2](https://github.com/rvben/zoom-cli/compare/v0.2.1...v0.2.2) - 2026-04-03
|
|
10
20
|
|
|
11
21
|
## [0.2.1](https://github.com/rvben/zoom-cli/compare/v0.2.0...v0.2.1) - 2026-04-02
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: zoomcli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Environment :: Console
|
|
6
6
|
Classifier: Intended Audience :: Developers
|
|
@@ -23,6 +23,7 @@ Project-URL: Repository, https://github.com/rvben/zoom-cli.git
|
|
|
23
23
|
[](https://crates.io/crates/zoom-cli)
|
|
24
24
|
[](https://pypi.org/project/zoom-cli/)
|
|
25
25
|
[](LICENSE)
|
|
26
|
+
[](https://codecov.io/gh/rvben/zoom-cli)
|
|
26
27
|
|
|
27
28
|
# zoom-cli
|
|
28
29
|
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
[](https://crates.io/crates/zoom-cli)
|
|
3
3
|
[](https://pypi.org/project/zoom-cli/)
|
|
4
4
|
[](LICENSE)
|
|
5
|
+
[](https://codecov.io/gh/rvben/zoom-cli)
|
|
5
6
|
|
|
6
7
|
# zoom-cli
|
|
7
8
|
|
zoomcli-0.2.4/prek.toml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#:schema: https://www.schemastore.org/prek.json
|
|
2
|
+
|
|
3
|
+
[[repos]]
|
|
4
|
+
repo = "builtin"
|
|
5
|
+
hooks = [
|
|
6
|
+
{ id = "trailing-whitespace" },
|
|
7
|
+
{ id = "end-of-file-fixer" },
|
|
8
|
+
{ id = "check-added-large-files" },
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
[[repos]]
|
|
12
|
+
repo = "local"
|
|
13
|
+
[[repos.hooks]]
|
|
14
|
+
id = "cargo-fmt"
|
|
15
|
+
name = "cargo fmt"
|
|
16
|
+
entry = "cargo fmt -- --check"
|
|
17
|
+
language = "system"
|
|
18
|
+
types = ["rust"]
|
|
19
|
+
pass_filenames = false
|
|
20
|
+
|
|
21
|
+
[[repos.hooks]]
|
|
22
|
+
id = "cargo-clippy"
|
|
23
|
+
name = "cargo clippy"
|
|
24
|
+
entry = "cargo clippy -- -D warnings"
|
|
25
|
+
language = "system"
|
|
26
|
+
types = ["rust"]
|
|
27
|
+
pass_filenames = false
|
|
28
|
+
|
|
29
|
+
[[repos.hooks]]
|
|
30
|
+
id = "cargo-test"
|
|
31
|
+
name = "cargo test"
|
|
32
|
+
entry = "cargo test"
|
|
33
|
+
language = "system"
|
|
34
|
+
types = ["rust"]
|
|
35
|
+
pass_filenames = false
|
|
36
|
+
stages = ["pre-push"]
|
|
@@ -271,7 +271,12 @@ where
|
|
|
271
271
|
" {}",
|
|
272
272
|
sym_dim("Create a Server-to-Server OAuth app at:")
|
|
273
273
|
);
|
|
274
|
-
let _ = writeln!(
|
|
274
|
+
let _ = writeln!(
|
|
275
|
+
writer,
|
|
276
|
+
" {}",
|
|
277
|
+
sym_dim(&format!("{OAUTH_URL} → Server-to-Server OAuth"))
|
|
278
|
+
);
|
|
279
|
+
let _ = writeln!(writer);
|
|
275
280
|
}
|
|
276
281
|
|
|
277
282
|
// Prompt for credentials.
|
|
@@ -347,20 +352,39 @@ where
|
|
|
347
352
|
&client_secret,
|
|
348
353
|
)?;
|
|
349
354
|
|
|
350
|
-
let
|
|
351
|
-
"zoom
|
|
355
|
+
let pfx = if profile_name == "default" {
|
|
356
|
+
"zoom".to_owned()
|
|
352
357
|
} else {
|
|
353
|
-
format!("zoom --profile {}
|
|
358
|
+
format!("zoom --profile {}", profile_name)
|
|
354
359
|
};
|
|
355
360
|
|
|
356
|
-
let _ = writeln!(writer
|
|
361
|
+
let _ = writeln!(writer);
|
|
357
362
|
let _ = writeln!(
|
|
358
363
|
writer,
|
|
359
|
-
" {}
|
|
364
|
+
" {} Configuration saved to {}",
|
|
360
365
|
sym_ok(),
|
|
361
366
|
sym_dim(&config_path.display().to_string()),
|
|
362
367
|
);
|
|
363
|
-
let _ = writeln!(writer
|
|
368
|
+
let _ = writeln!(writer);
|
|
369
|
+
let _ = writeln!(writer, " {}:", "Next steps".bold());
|
|
370
|
+
let _ = writeln!(
|
|
371
|
+
writer,
|
|
372
|
+
" {}",
|
|
373
|
+
sym_dim(&format!(
|
|
374
|
+
"{pfx} meetings list # list upcoming meetings"
|
|
375
|
+
))
|
|
376
|
+
);
|
|
377
|
+
let _ = writeln!(
|
|
378
|
+
writer,
|
|
379
|
+
" {}",
|
|
380
|
+
sym_dim(&format!("{pfx} users list # list users"))
|
|
381
|
+
);
|
|
382
|
+
let _ = writeln!(
|
|
383
|
+
writer,
|
|
384
|
+
" {}",
|
|
385
|
+
sym_dim(&format!("{pfx} completions zsh # shell completions"))
|
|
386
|
+
);
|
|
387
|
+
let _ = writeln!(writer);
|
|
364
388
|
let _ = writer.flush();
|
|
365
389
|
|
|
366
390
|
Ok(())
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|