Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 12 additions & 21 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -453,6 +453,7 @@ jobs:
run: |
# Combine modules and agents for tagging
ALL_MODULES=$(echo '${{ needs.discover.outputs.modules }}' '${{ needs.discover.outputs.agents }}' | jq -s 'add')
TAGGED=""
for module in $(echo "$ALL_MODULES" | jq -r '.[]'); do
LATEST_TAG=$(git tag -l "${module}/v*" --sort=-v:refname | head -n1)
if [ -n "$LATEST_TAG" ] && git diff --quiet "$LATEST_TAG" HEAD -- "$module/"; then
Expand All @@ -461,28 +462,18 @@ jobs:
fi
TAG=$(dagger call -m ./semver release --source=. --tag-prefix="${module}/" --initial-version="v0.1.0" --github-token=env:GITHUB_TOKEN)
echo "$module: $TAG"
TAGGED="$TAGGED\n| $module | $TAG |"
done

- name: Create release
if: inputs.dry_run != true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git fetch --tags
VERSION=$(dagger call -m ./calver generate --source=. --format="vYYYY.MM.DD")

# Build release notes
ALL_MODULES=$(echo '${{ needs.discover.outputs.modules }}' '${{ needs.discover.outputs.agents }}' | jq -s 'add')
NOTES="## Module Versions\n\n"
NOTES="$NOTES| Module | Version | Engine |\n|--------|---------|--------|"
for module in $(echo "$ALL_MODULES" | jq -r '.[]'); do
VER=$(dagger call -m ./semver current --source=. --tag-prefix="${module}/" --initial-version="v0.0.0")
ENGINE=$(jq -r '.engineVersion // "unknown"' "$module/dagger.json")
NOTES="$NOTES\n| $module | $VER | $ENGINE |"
done

if gh release view "$VERSION" > /dev/null 2>&1; then
echo -e "$NOTES" | gh release edit "$VERSION" --notes-file -
# Summary of tagged modules
if [ -n "$TAGGED" ]; then
{
echo "## Released Modules"
echo ""
echo "| Module | Version |"
echo "|--------|---------|"
echo -e "$TAGGED"
} >> $GITHUB_STEP_SUMMARY
else
echo -e "$NOTES" | gh release create "$VERSION" --title "Release $VERSION" --notes-file -
echo "No modules changed — nothing to tag." >> $GITHUB_STEP_SUMMARY
fi
15 changes: 3 additions & 12 deletions calver/src/calver/__init__.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
"""A generated module for Calver functions
"""Calendar Versioning (CalVer) utilities for generating date-based version strings in Dagger pipelines.

This module has been generated via dagger init and serves as a reference to
basic module structure as you get started with Dagger.

Two functions have been pre-created. You can modify, delete, or add to them,
as needed. They demonstrate usage of arguments and return types using simple
echo and grep commands. The functions can be called from the dagger CLI or
from one of the SDKs.

The first line in this comment block is a short description line and the
rest is a long description with more detail on the module's purpose or usage,
if appropriate. All modules should have a short description.
Supports configurable date formats (YYYY.MM.DD, v.YYYY.MM.MICRO, etc.), automatic micro version
incrementing from git tags, and optional tag pushing to remote repositories.
"""

from .main import Calver as Calver
6 changes: 6 additions & 0 deletions dagger-mcp/src/dagger_mcp/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
"""MCP server for Dagger engine introspection — learn schema, run GraphQL queries, and get SDK guidance.

Provides a Model Context Protocol (MCP) server that enables AI agents to explore the Dagger API schema,
execute GraphQL queries against the live engine, and translate patterns into SDK-specific code.
"""

from .main import DaggerMcp

__all__ = ["DaggerMcp"]
8 changes: 8 additions & 0 deletions daggie/src/daggie/prompts/system_prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,14 @@ You are an expert Dagger CI engineer running inside a Dagger container. You spec
- Main source file varies by SDK: `src/<name>/main.py` (Python), `src/index.ts` (TS), `main.go` (Go)
- `dagger develop` generates the SDK bindings in a local `sdk/` directory

### Module Description (Daggerverse Publishing)
The **module description shown on daggerverse.dev** comes from the source code, NOT from `dagger.json`:
- **Python SDK** — the docstring in `src/<package>/__init__.py` (first line = short description, rest = long description)
- **Go SDK** — the package-level comment at the top of `main.go`
- **TypeScript SDK** — the JSDoc comment on the main class in `src/index.ts`

The `description` field in `dagger.json` is used locally by `dagger functions` but is **not** what the Daggerverse displays. If the `__init__.py` still has the default `dagger init` boilerplate ("A generated module for..."), that boilerplate is what appears on daggerverse.dev. Always replace it with a meaningful description.

### Key Concepts
- **Functions** — exported methods on the main class, exposed as CLI commands
- **Container API** — `dag.container().from_()`, `.with_exec()`, `.with_mounted_directory()`, `.with_env_variable()`
Expand Down
15 changes: 3 additions & 12 deletions gcp-artifact-registry/src/gcp_artifact_registry/__init__.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
"""A generated module for GcpArtifactRegistry functions
"""Google Cloud Artifact Registry operations for publishing and managing container images.

This module has been generated via dagger init and serves as a reference to
basic module structure as you get started with Dagger.

Two functions have been pre-created. You can modify, delete, or add to them,
as needed. They demonstrate usage of arguments and return types using simple
echo and grep commands. The functions can be called from the dagger CLI or
from one of the SDKs.

The first line in this comment block is a short description line and the
rest is a long description with more detail on the module's purpose or usage,
if appropriate. All modules should have a short description.
Provides functions for authenticating with Artifact Registry, publishing container images,
and managing repository access in Dagger pipelines.
"""

from .main import GcpArtifactRegistry as GcpArtifactRegistry
15 changes: 3 additions & 12 deletions gcp-auth/src/gcp_auth/__init__.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
"""A generated module for GcpAuth functions
"""GCP authentication utilities for Dagger pipelines using service accounts and OIDC.

This module has been generated via dagger init and serves as a reference to
basic module structure as you get started with Dagger.

Two functions have been pre-created. You can modify, delete, or add to them,
as needed. They demonstrate usage of arguments and return types using simple
echo and grep commands. The functions can be called from the dagger CLI or
from one of the SDKs.

The first line in this comment block is a short description line and the
rest is a long description with more detail on the module's purpose or usage,
if appropriate. All modules should have a short description.
Provides container authentication via service account JSON keys, OIDC/Workload Identity Federation,
Application Default Credentials (ADC), and access token generation for Google Cloud services.
"""

from .main import GcpAuth as GcpAuth
6 changes: 5 additions & 1 deletion gcp-cloud-run/src/gcp_cloud_run/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
"""GCP Cloud Run Dagger module."""
"""Google Cloud Run deployment utilities for services and jobs in Dagger pipelines.

Provides functions for deploying Cloud Run services and jobs, managing revisions,
streaming logs, and checking deployment status with built-in health verification.
"""

from .main import GcpCloudRun

Expand Down
15 changes: 3 additions & 12 deletions gcp-vertex-ai/src/gcp_vertex_ai/__init__.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
"""A generated module for GcpVertexAi functions
"""Google Cloud Vertex AI operations for deploying and managing ML models in Dagger pipelines.

This module has been generated via dagger init and serves as a reference to
basic module structure as you get started with Dagger.

Two functions have been pre-created. You can modify, delete, or add to them,
as needed. They demonstrate usage of arguments and return types using simple
echo and grep commands. The functions can be called from the dagger CLI or
from one of the SDKs.

The first line in this comment block is a short description line and the
rest is a long description with more detail on the module's purpose or usage,
if appropriate. All modules should have a short description.
Provides functions for uploading models, creating endpoints, deploying model versions,
and running predictions against Vertex AI services.
"""

from .main import GcpVertexAi as GcpVertexAi