Skip to content

Commit 334bc71

Browse files
committed
Merge branch 'develop'
2 parents 55fca4d + 01d950a commit 334bc71

File tree

146 files changed

+6040
-3590
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+6040
-3590
lines changed

.github/workflows/image.yaml

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#
22
name: Create and publish a Docker image
33

4-
# Configures this workflow to run every time a change is pushed to the branch called `release`.
4+
# Runs on GitHub release creation (type: created) and manual dispatch.
55
on:
66
release:
77
types: [created]
@@ -16,16 +16,30 @@ env:
1616
jobs:
1717
build-and-push-image:
1818
runs-on: ubuntu-latest
19+
# Add timeout to prevent hanging builds
20+
timeout-minutes: 60
1921
# Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
2022
permissions:
2123
contents: read
2224
packages: write
2325
attestations: write
2426
id-token: write
25-
#
2627
steps:
2728
- name: Checkout repository
2829
uses: actions/checkout@v4
30+
31+
- name: Free up disk space
32+
run: |
33+
echo "=== Before cleanup ==="
34+
df -h
35+
echo "=== Cleaning up disk space ==="
36+
sudo rm -rf /usr/share/dotnet
37+
sudo rm -rf /usr/local/lib/android
38+
sudo rm -rf /opt/ghc
39+
sudo rm -rf /opt/hostedtoolcache/CodeQL
40+
sudo docker image prune -a -f
41+
echo "=== After cleanup ==="
42+
df -h
2943
# Uses the `docker/login-action` action to log in to the Container registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here.
3044
- name: Log in to the Container registry
3145
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
@@ -39,9 +53,23 @@ jobs:
3953
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
4054
with:
4155
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
42-
# This step uses the `docker/build-push-action` action to build the image, based on your repository's `Dockerfile`. If the build succeeds, it pushes the image to GitHub Packages.
43-
# It uses the `context` parameter to define the build's context as the set of files located in the specified path. For more information, see "[Usage](https://github.com/docker/build-push-action#usage)" in the README of the `docker/build-push-action` repository.
44-
# It uses the `tags` and `labels` parameters to tag and label the image with the output from the "meta" step.
56+
# Set up Buildx (BuildKit) with log limits and constrained parallelism to avoid resource exhaustion.
57+
- name: Set up Docker Buildx
58+
id: buildx
59+
uses: docker/setup-buildx-action@v3
60+
with:
61+
driver-opts: |
62+
env.BUILDKIT_STEP_LOG_MAX_SIZE=10485760
63+
env.BUILDKIT_STEP_LOG_MAX_SPEED=10485760
64+
config-inline: |
65+
[worker.oci]
66+
max-parallelism = 2
67+
[worker.containerd]
68+
max-parallelism = 2
69+
70+
# Build the image using the repository Dockerfile and push it to GHCR.
71+
# Uses `context` for build context; applies tags and labels from the metadata step (`meta`).
72+
# See usage docs: https://github.com/docker/build-push-action#usage
4573
- name: Build and push Docker image
4674
id: push
4775
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
@@ -50,8 +78,14 @@ jobs:
5078
push: true
5179
tags: ${{ steps.meta.outputs.tags }}
5280
labels: ${{ steps.meta.outputs.labels }}
81+
# Increase build resources and add caching
82+
builder: ${{ steps.buildx.outputs.name }}
83+
cache-from: type=gha
84+
cache-to: type=gha,mode=max
85+
# Target platform (single-arch)
86+
platforms: linux/amd64
5387

54-
# This step generates an artifact attestation for the image, which is an unforgeable statement about where and how it was built. It increases supply chain security for people who consume the image. For more information, see "[AUTOTITLE](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds)."
88+
# Generate a build provenance attestation (supply chain security) and upload it with the image.
5589
- name: Generate artifact attestation
5690
uses: actions/attest-build-provenance@v1
5791
with:

Dockerfile

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ RUN apt-get update && \
1515
apt-get clean && \
1616
rm -rf /var/lib/apt/lists/*
1717

18-
RUN npm install -g bun@1.2.5 turbo@2.3.3
18+
RUN npm install -g bun@1.2.21 turbo@2.3.3
1919

2020
RUN ln -s /usr/bin/python3 /usr/bin/python
2121

@@ -25,7 +25,15 @@ COPY packages ./packages
2525

2626
RUN SKIP_POSTINSTALL=1 bun install --no-cache
2727

28-
RUN bun run build
28+
# Add verbose logging and memory monitoring for build diagnostics
29+
RUN echo "=== Build Environment Info ===" && \
30+
echo "Node version: $(node --version)" && \
31+
echo "Bun version: $(bun --version)" && \
32+
echo "Available memory: $(free -h)" && \
33+
echo "CPU info: $(nproc) cores" && \
34+
echo "Disk space: $(df -h /)" && \
35+
echo "=== Starting Build ===" && \
36+
TURBO_CONCURRENCY=2 bun run build --concurrency=2 --verbose || (echo "=== Build Failed - System State ===" && free -h && df -h / && exit 1)
2937

3038
FROM node:23.3.0-slim
3139

@@ -41,7 +49,7 @@ RUN apt-get update && \
4149
apt-get clean && \
4250
rm -rf /var/lib/apt/lists/*
4351

44-
RUN npm install -g bun@1.2.5 turbo@2.3.3
52+
RUN npm install -g bun@1.2.21 turbo@2.3.3
4553

4654
COPY --from=builder /app/package.json ./
4755
COPY --from=builder /app/turbo.json ./

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div align="center">
2-
<h1>Eliza</h1>
2+
<h1>ElizaOS</h1>
33
<p><strong>The Open-Source Framework for Multi-Agent AI Development</strong></p>
44
<p>Build, deploy, and manage autonomous AI agents with a modern, extensible, and full-featured platform.</p>
55
</div>
@@ -15,7 +15,7 @@
1515

1616
## ✨ What is Eliza?
1717

18-
Eliza is an all-in-one, extensible platform for building and deploying AI-powered applications. Whether you're creating sophisticated chatbots, autonomous agents for business process automation, or intelligent game NPCs, Eliza provides the tools you need to get started quickly and scale effectively.
18+
ElizaOS is an all-in-one, extensible platform for building and deploying AI-powered applications. Whether you're creating sophisticated chatbots, autonomous agents for business process automation, or intelligent game NPCs, Eliza provides the tools you need to get started quickly and scale effectively.
1919

2020
It combines a modular architecture, a powerful CLI, and a rich web interface to give you full control over your agents' development, deployment, and management lifecycle.
2121

build-utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ export async function generateDts(tsconfigPath = './tsconfig.build.json', throwO
243243
console.log('Generating TypeScript declarations...');
244244
try {
245245
// Use incremental compilation for faster subsequent builds
246-
await $`tsc --emitDeclarationOnly --incremental --project ${tsconfigPath}`;
246+
await $`tsc --emitDeclarationOnly --project ${tsconfigPath} --composite false --incremental false --types node,bun`;
247247
console.log(`✓ TypeScript declarations generated successfully (${timer.elapsed()}ms)`);
248248
} catch (error: unknown) {
249249
console.error(`✗ Failed to generate TypeScript declarations (${timer.elapsed()}ms)`);

0 commit comments

Comments
 (0)