Skip to content

Commit 830824d

Browse files
authored
feat: automatically generate a Docker source (#35)
1 parent cb5197c commit 830824d

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

.github/workflows/verify-template.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,12 @@ jobs:
2525
--define project-description="An example blueprint"
2626
--define project-homepage="https://tangle.tools"
2727
--define flakes=true
28-
--define docker=true
28+
--define container=true
2929
--define base-image="rustlang/rust:nightly"
30+
--define container-registry="docker.io"
3031
--define ci=true
3132
--define rust-ci=true
32-
--define release-ci=true
33+
--define release-ci=false
3334
- uses: dtolnay/rust-toolchain@stable
3435
with:
3536
toolchain: stable
File renamed without changes.

hooks/pre.rhai

+13-4
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,21 @@ if !check_bool("flakes") {
3333
file::delete("./.envrc");
3434
}
3535

36-
if !variable::is_set("docker") {
37-
let docker = variable::prompt("Do you want to generate a Dockerfile for your gadget?", true);
38-
variable::set("docker", docker);
36+
if !variable::is_set("container") {
37+
let container = variable::prompt("Do you want to deploy your blueprint as a container?", true);
38+
variable::set("container", container);
3939
}
4040

41-
if check_bool("docker") {
41+
if check_bool("container") {
4242
if !variable::is_set("base-image") {
4343
let base_image = variable::prompt("What base image should be used?", "rustlang/rust:nightly");
4444
variable::set("base-image", base_image);
4545
}
46+
47+
if !variable::is_set("container-registry") {
48+
let registry = variable::prompt("What registry will you be deploying to?", "docker.io");
49+
variable::set("container-registry", registry);
50+
}
4651
} else {
4752
file::delete("./Dockerfile");
4853
}
@@ -72,4 +77,8 @@ if !check_bool("release-ci") {
7277
file::delete("./.github/workflows/release.yml");
7378
}
7479

80+
if variable::is_set("container-registry") || check_bool("release-ci") {
81+
print("\x1b[1m(\x1b[31m!!!\x1b[39m) A native and/or container source has been configured. Be sure to check Cargo.toml to ensure they are correct.")
82+
}
83+
7584
file::delete("./hooks");

{{project-name}}-bin/Cargo.toml.liquid

+3
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,7 @@ sources = [
3232
{ arch = "Arm64", os = "Linux", name = "arm64-linux-{{project-name}}-gadget" }
3333
] },
3434
{%- endif %}
35+
{% if container -%}
36+
{ type = "Container", registry = "{{container-registry}}", image = "{{gh-username}}/{{project-name}}", tag = "0.1.0" },
37+
{%- endif %}
3538
]

0 commit comments

Comments
 (0)