forked from github-starred/komodo
deploy 2.0.0-dev-2
This commit is contained in:
2
action/build.ts
Normal file
2
action/build.ts
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
import { run } from "./run.ts";
|
||||||
|
await run("build-komodo");
|
||||||
5
action/deno.json
Normal file
5
action/deno.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"imports": {
|
||||||
|
"@std/toml": "jsr:@std/toml"
|
||||||
|
}
|
||||||
|
}
|
||||||
2
action/deploy.ts
Executable file
2
action/deploy.ts
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
import { run } from "./run.ts";
|
||||||
|
await run("deploy-komodo");
|
||||||
52
action/run.ts
Normal file
52
action/run.ts
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
import * as TOML from "@std/toml";
|
||||||
|
|
||||||
|
export const run = async (action: string) => {
|
||||||
|
const branch = await new Deno.Command("bash", {
|
||||||
|
args: ["-c", "git rev-parse --abbrev-ref HEAD"],
|
||||||
|
})
|
||||||
|
.output()
|
||||||
|
.then((r) => new TextDecoder("utf-8").decode(r.stdout).trim());
|
||||||
|
|
||||||
|
const cargo_toml_str = await Deno.readTextFile("Cargo.toml");
|
||||||
|
const prev_version = (
|
||||||
|
TOML.parse(cargo_toml_str) as {
|
||||||
|
workspace: { package: { version: string } };
|
||||||
|
}
|
||||||
|
).workspace.package.version;
|
||||||
|
|
||||||
|
const [version, tag, count] = prev_version.split("-");
|
||||||
|
const next_count = Number(count) + 1;
|
||||||
|
|
||||||
|
const next_version = `${version}-${tag}-${next_count}`;
|
||||||
|
|
||||||
|
await Deno.writeTextFile(
|
||||||
|
"Cargo.toml",
|
||||||
|
cargo_toml_str.replace(
|
||||||
|
`version = "${prev_version}"`,
|
||||||
|
`version = "${next_version}"`
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Cargo check first here to make sure lock file is updated before commit.
|
||||||
|
const cmd = `
|
||||||
|
cargo check
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
git add --all
|
||||||
|
git commit --all --message "deploy ${version}-${tag}-${next_count}"
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
git push
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
km run -y action ${action} "KOMODO_BRANCH=${branch}&KOMODO_VERSION=${version}&KOMODO_TAG=${tag}-${next_count}"
|
||||||
|
`
|
||||||
|
.split("\n")
|
||||||
|
.map((line) => line.trim())
|
||||||
|
.filter((line) => line.length > 0 && !line.startsWith("//"))
|
||||||
|
.join(" && ");
|
||||||
|
|
||||||
|
new Deno.Command("bash", {
|
||||||
|
args: ["-c", cmd],
|
||||||
|
}).spawn();
|
||||||
|
};
|
||||||
@@ -1 +0,0 @@
|
|||||||
{}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
import * as TOML from "jsr:@std/toml";
|
|
||||||
|
|
||||||
const branch = await new Deno.Command("bash", {
|
|
||||||
args: ["-c", "git rev-parse --abbrev-ref HEAD"],
|
|
||||||
})
|
|
||||||
.output()
|
|
||||||
.then((r) => new TextDecoder("utf-8").decode(r.stdout).trim());
|
|
||||||
|
|
||||||
const cargo_toml_str = await Deno.readTextFile("Cargo.toml");
|
|
||||||
const prev_version = (
|
|
||||||
TOML.parse(cargo_toml_str) as {
|
|
||||||
workspace: { package: { version: string } };
|
|
||||||
}
|
|
||||||
).workspace.package.version;
|
|
||||||
|
|
||||||
const [version, tag, count] = prev_version.split("-");
|
|
||||||
const next_count = Number(count) + 1;
|
|
||||||
|
|
||||||
const next_version = `${version}-${tag}-${next_count}`;
|
|
||||||
|
|
||||||
await Deno.writeTextFile(
|
|
||||||
"Cargo.toml",
|
|
||||||
cargo_toml_str.replace(
|
|
||||||
`version = "${prev_version}"`,
|
|
||||||
`version = "${next_version}"`
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Cargo check first here to make sure lock file is updated before commit.
|
|
||||||
const cmd = `
|
|
||||||
cargo check
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
git add --all
|
|
||||||
git commit --all --message "deploy ${version}-${tag}-${next_count}"
|
|
||||||
|
|
||||||
echo ""
|
|
||||||
git push
|
|
||||||
echo ""
|
|
||||||
|
|
||||||
km run -y action deploy-komodo "KOMODO_BRANCH=${branch}&KOMODO_VERSION=${version}&KOMODO_TAG=${tag}-${next_count}"
|
|
||||||
`
|
|
||||||
.split("\n")
|
|
||||||
.map((line) => line.trim())
|
|
||||||
.filter((line) => line.length > 0 && !line.startsWith("//"))
|
|
||||||
.join(" && ");
|
|
||||||
|
|
||||||
new Deno.Command("bash", {
|
|
||||||
args: ["-c", cmd],
|
|
||||||
}).spawn();
|
|
||||||
@@ -61,4 +61,8 @@ cmd = "cargo doc --no-deps -p komodo_client && http-server -p 8050 target/doc"
|
|||||||
|
|
||||||
[deploy-komodo]
|
[deploy-komodo]
|
||||||
alias = "dk"
|
alias = "dk"
|
||||||
cmd = "deno run --allow-all deploy/komodo.ts"
|
cmd = "deno run --allow-all action/deploy.ts"
|
||||||
|
|
||||||
|
[build-komodo]
|
||||||
|
alias = "bk"
|
||||||
|
cmd = "deno run --allow-all action/build.ts"
|
||||||
Reference in New Issue
Block a user