Skip to content

Commit 943a623

Browse files
authored
docs: remove -latest references and require versioned recipe types (#22)
Follow-up to #21. Update recipe READMEs, Makefile, and `CONTRIBUTING.md` to reflect that `-latest` tags are no longer used and recipe types must include an explicit `@<version>`.
1 parent e7062c5 commit 943a623

7 files changed

Lines changed: 26 additions & 46 deletions

File tree

.github/CONTRIBUTING.md

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,6 @@ To create a new release for a recipe:
9999

100100
2. **The workflow automatically**:
101101
- Creates a GitHub release for `rust-v4.0.0` with changelog and release artifacts
102-
- Updates the `rust-latest` tag to point to the same commit as `rust-v4.0.0`
103-
- Creates/updates the `rust-latest` release with:
104-
- The same changelog as `rust-v4.0.0`
105-
- The same release artifacts (but named with "latest")
106-
- A fresh timestamp showing when it was updated
107102

108103
### Release Naming Convention
109104

@@ -120,23 +115,6 @@ Release notes are automatically generated and include:
120115
- A link to the full changelog comparing the two versions
121116
- Release artifacts (tar.gz, zip files, checksums)
122117

123-
### What is the `-latest` Release?
124-
125-
Each recipe has two types of releases:
126-
127-
1. **Versioned releases** (e.g., `rust-v4.0.0`):
128-
- Permanent, immutable releases
129-
- Pin to specific versions for stability
130-
- Example: `rust-v4.0.0`, `rust-v3.0.0`, etc.
131-
132-
2. **Latest release** (e.g., `rust-latest`):
133-
- Always points to the most recent version
134-
- Updated automatically when a new version is released
135-
- Same content as the newest versioned release, but with:
136-
- Updated timestamp
137-
- "latest" naming for artifacts
138-
- Use this to always get the newest recipe version
139-
140118
### Viewing Releases
141119

142120
Each recipe has its own release history:

Makefile

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,10 @@ release-recipes:
2020
@for recipe in $$(ls recipes/); do \
2121
echo "Creating tag for $$recipe: $$recipe-$(VERSION_TAG)"; \
2222
git tag -a "$$recipe-$(VERSION_TAG)" -m "Release $$recipe recipe $(VERSION_TAG)"; \
23-
echo "Creating/updating latest tag for $$recipe: $$recipe-latest"; \
24-
git tag -a "$$recipe-latest" -m "Latest $$recipe recipe ($(VERSION_TAG))" -f; \
2523
done
2624
@echo "Pushing all recipe tags..."
2725
@for recipe in $$(ls recipes/); do \
2826
git push origin "$$recipe-$(VERSION_TAG)"; \
29-
git push origin "$$recipe-latest" -f; \
3027
done
3128
@echo "All recipe release tags created! GitHub Actions will build and publish the releases."
3229

@@ -48,8 +45,5 @@ release-recipe:
4845
fi
4946
@echo "Creating $(RECIPE) recipe release tag: $(RECIPE)-$(VERSION_TAG)"
5047
git tag -a $(RECIPE)-$(VERSION_TAG) -m "Release $(RECIPE) recipe $(VERSION_TAG)"
51-
@echo "Creating/updating latest tag: $(RECIPE)-latest"
52-
git tag -a $(RECIPE)-latest -m "Latest $(RECIPE) recipe ($(VERSION_TAG))" -f
5348
git push origin $(RECIPE)-$(VERSION_TAG)
54-
git push origin $(RECIPE)-latest -f
55-
@echo "Release tags created! GitHub Actions will build and publish the releases."
49+
@echo "Release tag created! GitHub Actions will build and publish the release."

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ canisters:
3232
### Recipe Naming Convention
3333
3434
Recipes follow the `@dfinity/<recipe-name>@<version>` naming pattern:
35-
- `@dfinity/rust` - Rust canister recipe
36-
- `@dfinity/motoko` - Motoko canister recipe
37-
- `@dfinity/pre-built` - Pre-built WASM recipe
38-
- `@dfinity/asset-canister` - Asset canister recipe
35+
- `@dfinity/rust@<version>` - Rust canister recipe
36+
- `@dfinity/motoko@<version>` - Motoko canister recipe
37+
- `@dfinity/pre-built@<version>` - Pre-built WASM recipe
38+
- `@dfinity/asset-canister@<version>` - Asset canister recipe
3939

4040
### Using Specific Versions
4141

recipes/asset-canister/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,19 @@ Example of how to reference this recipe in an `icp.yaml` file:
1010
canisters:
1111
- name: frontend
1212
recipe:
13-
type: "@dfinity/asset-canister"
13+
type: "@dfinity/asset-canister@<version>"
1414
configuration:
1515
version: 0.30.2
1616
dir: dist
1717
```
1818
19+
> Replace `<version>` with a release version (e.g. `v2.1.0`). See [available versions](https://github.com/dfinity/icp-cli-recipes/releases?q=asset-canister&expanded=true).
20+
1921
## Configuration Parameters
2022

2123
| Parameter | Type | Required | Description | Default |
2224
|-----------|------|----------|-------------|---------|
23-
| version | string | No | SDK version tag to download the assets canister from (e.g., `0.30.2`) | latest |
25+
| version | string | No | SDK version tag to download the asset canister from (e.g., `0.30.2`) | latest |
2426
| dir | string | Yes | Directory containing frontend assets to synchronize to the canister | - |
2527
| build | array | No | Shell commands to build the frontend assets before deployment (e.g., `npm run build`) | [] |
2628
| metadata | array | No | Array of key-value pairs for custom metadata to inject into the WASM | [] |
@@ -41,7 +43,7 @@ canisters:
4143
canisters:
4244
- name: website
4345
recipe:
44-
type: "@dfinity/asset-canister"
46+
type: "@dfinity/asset-canister@<version>"
4547
configuration:
4648
dir: build
4749
```
@@ -52,7 +54,7 @@ canisters:
5254
canisters:
5355
- name: spa-frontend
5456
recipe:
55-
type: "@dfinity/asset-canister"
57+
type: "@dfinity/asset-canister@<version>"
5658
configuration:
5759
version: 0.30.2
5860
build:

recipes/motoko/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ Example of how to reference this recipe in an `icp.yaml` file:
1010
canisters:
1111
- name: backend
1212
recipe:
13-
type: "@dfinity/motoko"
13+
type: "@dfinity/motoko@<version>"
1414
configuration:
1515
main: src/main.mo
1616
shrink: true
1717
```
1818
19+
> Replace `<version>` with a release version (e.g. `v4.0.0`). See [available versions](https://github.com/dfinity/icp-cli-recipes/releases?q=motoko&expanded=true).
20+
1921
## Configuration Parameters
2022

2123
| Parameter | Type | Required | Description | Default |
@@ -46,7 +48,7 @@ If mops is not installed, see: <https://mops.one/docs/install>
4648
canisters:
4749
- name: hello-world
4850
recipe:
49-
type: "@dfinity/motoko"
51+
type: "@dfinity/motoko@<version>"
5052
configuration:
5153
main: src/main.mo
5254
```
@@ -57,7 +59,7 @@ canisters:
5759
canisters:
5860
- name: complex-backend
5961
recipe:
60-
type: "@dfinity/motoko"
62+
type: "@dfinity/motoko@<version>"
6163
configuration:
6264
main: src/backend.mo
6365
args: --incremental-gc

recipes/prebuilt/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Example of how to reference this recipe in an `icp.yaml` file:
1010
canisters:
1111
- name: my-canister
1212
recipe:
13-
type: "@dfinity/prebuilt"
13+
type: "@dfinity/prebuilt@<version>"
1414
configuration:
1515
path: dist/canister.wasm
1616
sha256: 17a05e36278cd04c7ae6d3d3226c136267b9df7525a0657521405e22ec96be7a
@@ -21,6 +21,8 @@ canisters:
2121
value: "1.0.0"
2222
```
2323
24+
> Replace `<version>` with a release version (e.g. `v2.0.0`). See [available versions](https://github.com/dfinity/icp-cli-recipes/releases?q=prebuilt&expanded=true).
25+
2426
## Configuration Parameters
2527

2628
| Parameter | Type | Required | Description | Default |
@@ -48,7 +50,7 @@ canisters:
4850
canisters:
4951
- name: simple-canister
5052
recipe:
51-
type: "@dfinity/prebuilt"
53+
type: "@dfinity/prebuilt@<version>"
5254
configuration:
5355
path: target/wasm32-unknown-unknown/release/my_canister.wasm
5456
sha256: abc123def456...
@@ -60,7 +62,7 @@ canisters:
6062
canisters:
6163
- name: optimized-canister
6264
recipe:
63-
type: "@dfinity/prebuilt"
65+
type: "@dfinity/prebuilt@<version>"
6466
configuration:
6567
path: dist/production-canister.wasm
6668
sha256: xyz789abc123...

recipes/rust/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,14 @@ Example of how to reference this recipe in an `icp.yaml` file:
1010
canisters:
1111
- name: backend
1212
recipe:
13-
type: "@dfinity/rust"
13+
type: "@dfinity/rust@<version>"
1414
configuration:
1515
package: my-canister
1616
shrink: true
1717
```
1818
19+
> Replace `<version>` with a release version (e.g. `v3.0.0`). See [available versions](https://github.com/dfinity/icp-cli-recipes/releases?q=rust&expanded=true).
20+
1921
## Configuration Parameters
2022

2123
| Parameter | Type | Required | Description | Default |
@@ -53,7 +55,7 @@ cargo install candid-extractor
5355
canisters:
5456
- name: hello-rust
5557
recipe:
56-
type: "@dfinity/rust"
58+
type: "@dfinity/rust@<version>"
5759
configuration:
5860
package: hello-rust
5961
```
@@ -64,7 +66,7 @@ canisters:
6466
canisters:
6567
- name: dapp-backend
6668
recipe:
67-
type: "@dfinity/rust"
69+
type: "@dfinity/rust@<version>"
6870
configuration:
6971
package: dapp-backend
7072
shrink: true

0 commit comments

Comments
 (0)