Compare commits
6 Commits
8246337ae4
...
minimal-ve
| Author | SHA1 | Date | |
|---|---|---|---|
| 3e557665c9 | |||
| faa5ce8549 | |||
| 136c051c82 | |||
| a0ba8e7ea8 | |||
| 88cafc096f | |||
| b200785e71 |
15
Cargo.toml
15
Cargo.toml
@@ -9,6 +9,21 @@ reqwest = { version = "0.11.13", features = ["json", "stream", "multipart"] }
|
||||
serde = { version = "1.0.152", features = ["derive"] }
|
||||
tokio = { version = "1.24.2", features = ["macros", "rt-multi-thread"] }
|
||||
|
||||
# Grand-dependency Pins ----
|
||||
# Fixes: Reqwest uses too-old version of crate `log`
|
||||
log = "0.4.6"
|
||||
|
||||
# Debian 12 uses OpenSSL 3.x and older libssl-sys crates are angry about that
|
||||
|
||||
# Fixes: native lib lookup.
|
||||
# Causes: missing item in crate `ffi`
|
||||
openssl-sys = "0.9.64"
|
||||
|
||||
# Fixes: missing item in crate `ffi` (from openssl-sys)
|
||||
openssl = "0.10.35"
|
||||
|
||||
# End Grand-dependency Pins ----
|
||||
|
||||
# Packages available in Debian (Sid)
|
||||
# clap = "4.5.23"
|
||||
# reqwest = "0.12.15"
|
||||
|
||||
11
README.md
11
README.md
@@ -51,14 +51,3 @@ One of these, defaults to `help`:
|
||||
| upload-release | Uploads one-or-more files to an existing release, identified by it's tag name. |
|
||||
| help | prints the help text (the usage summary above). |
|
||||
|
||||
## Unit Testing
|
||||
|
||||
The unit test~~s~~ require a Gitea server to execute against. This information is supplied by environment variables rather than on the command line, but it is otherwise exactly the same usage.
|
||||
|
||||
| Variable | Description |
|
||||
|-|-|
|
||||
| TEST_GITEA_SERVER | Server URL, match `-u`, `--url` |
|
||||
| TEST_GITEA_REPO | Owner + repo name, match `-u` `--repo` |
|
||||
| TEST_GITEA_KEY | API key, match `RELEASE_KEY_GITEA`. The use of a new variable for the API token is to help avoid accidentally touching a production environment during test execution. |
|
||||
| TEST_GITEA_RELEASE_TAG | Git tag used to identify the Release. Same as `upload-release`'s positional argument `<TAG_NAME>`. |
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
use crate::{
|
||||
ApiError, Result,
|
||||
Result,
|
||||
structs::{
|
||||
release::{CreateReleaseOption, Release},
|
||||
},
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use std::fs;
|
||||
use std::{fs, path};
|
||||
|
||||
use crate::structs::Attachment;
|
||||
|
||||
@@ -16,7 +16,8 @@ pub async fn create_release_attachment(
|
||||
) -> crate::Result<Attachment> {
|
||||
let request_url = format!("{gitea_url}/api/v1/repos/{repo}/releases/{release_id}/assets");
|
||||
|
||||
match fs::exists(&file) {
|
||||
let path = path::Path::new(&file);
|
||||
match path.try_exists() {
|
||||
Ok(true) => (),
|
||||
Ok(false) => return Err(crate::Error::NoSuchFile),
|
||||
Err(e) => {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
use std::fs;
|
||||
|
||||
use std::path;
|
||||
|
||||
use gt_tool::cli::Args;
|
||||
use gt_tool::structs::release::{CreateReleaseOption, Release};
|
||||
@@ -81,7 +82,8 @@ async fn main() -> Result<(), gt_tool::Error> {
|
||||
|
||||
if let Some(release) = match_release_by_tag(&tag_name, release_candidates) {
|
||||
for file in &files {
|
||||
match fs::exists(file) {
|
||||
let path = path::Path::new(&file);
|
||||
match path.try_exists() {
|
||||
Ok(true) => continue,
|
||||
Ok(false) => return Err(gt_tool::Error::NoSuchFile),
|
||||
Err(e) => {
|
||||
|
||||
@@ -9,7 +9,7 @@ pub struct Attachment {
|
||||
name: String,
|
||||
size: i64,
|
||||
download_count: i64,
|
||||
created: String, // TODO: Date-time struct
|
||||
created_at: String, // TODO: Date-time struct
|
||||
uuid: String,
|
||||
download_url: String,
|
||||
browser_download_url: String,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user