Skip to content
Closed
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
183 changes: 93 additions & 90 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,57 +24,57 @@ env:
RUSTFLAGS: "--cfg tokio_unstable"

jobs:
# setup:
# name: "Setup"
# runs-on: ubuntu-24.04
# permissions:
# # Allow pushing to GitHub
# contents: write
# # Allows JSR to authenticate with GitHub
# id-token: write
# steps:
# - name: Checkout rivet
# uses: actions/checkout@v4
# with:
# lfs: 'true'
# path: './rivet'

# - uses: actions/setup-node@v4
# with:
# node-version: 20

# - run: corepack enable

# - name: Setup
# env:
# # Required to authenticate with Git
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# working-directory: './rivet'
# run: |
# # Configure Git
# git config --global user.name "github-actions[bot]"
# git config --global user.email "github-actions[bot]@users.noreply.github.com"

# # Install Deno
# curl -fsSL https://deno.land/x/install/install.sh | sh
# export PATH=$HOME/.deno/bin:$PATH

# # Authenticate with NPM
# cat << EOF > ~/.npmrc
# //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
# EOF

# pnpm install

# if [ "${{ inputs.latest }}" = "true" ]; then
# ./scripts/release/main.ts --version "${{ github.event.inputs.version }}" --setupCi
# else
# ./scripts/release/main.ts --version "${{ github.event.inputs.version }}" --no-latest --setupCi
# fi
setup:
name: "Setup"
runs-on: ubuntu-24.04
permissions:
# Allow pushing to GitHub
contents: write
# Allows JSR to authenticate with GitHub
id-token: write
steps:
- name: Checkout rivet
uses: actions/checkout@v4
with:
lfs: 'true'
path: './rivet'

- uses: actions/setup-node@v4
with:
node-version: 20

- run: corepack enable

- name: Setup
env:
# Required to authenticate with Git
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
working-directory: './rivet'
run: |
# Configure Git
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"

# Authenticate with NPM
cat << EOF > ~/.npmrc
//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
EOF

# Install dependencies
pnpm install

# Install tsx globally
npm install -g tsx

if [ "${{ inputs.latest }}" = "true" ]; then
./scripts/release/main.ts --version "${{ github.event.inputs.version }}" --setupCi
else
./scripts/release/main.ts --version "${{ github.event.inputs.version }}" --no-latest --setupCi
fi

binaries:
name: "Build & Push Binaries"
# needs: [setup]
needs: [setup]
strategy:
matrix:
include:
Expand Down Expand Up @@ -124,8 +124,8 @@ jobs:
AWS_SECRET_ACCESS_KEY: ${{ secrets.R2_RELEASES_SECRET_ACCESS_KEY }}
run: |
# Install dependencies for AWS CLI
apt-get update
apt-get install -y unzip curl
sudo apt-get update
sudo apt-get install -y unzip curl

# Install AWS CLI - use ARM version if running on ARM architecture
if [ "${{ matrix.arch }}" = "aarch64" ]; then
Expand All @@ -134,22 +134,22 @@ jobs:
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
fi
unzip awscliv2.zip
./aws/install --update
sudo ./aws/install --update

COMMIT_SHA_SHORT="${GITHUB_SHA::7}"
BINARY_PATH="dist/rivet-engine-${{ matrix.target }}${{ matrix.binary_ext }}"

# Must specify --checksum-algorithm for compatibility with R2
aws s3 cp \
"${BINARY_PATH}" \
"s3://rivet/${COMMIT_SHA_SHORT}/rivet-engine-${{ matrix.target }}${{ matrix.binary_ext }}" \
"s3://engine/${COMMIT_SHA_SHORT}/rivet-engine-${{ matrix.target }}${{ matrix.binary_ext }}" \
--region auto \
--endpoint-url https://2a94c6a0ced8d35ea63cddc86c2681e7.r2.cloudflarestorage.com/rivet-engine-releases \
--endpoint-url https://2a94c6a0ced8d35ea63cddc86c2681e7.r2.cloudflarestorage.com/rivet-releases \
--checksum-algorithm CRC32

docker:
name: "Build & Push Docker Images"
# needs: [setup]
needs: [setup]
strategy:
matrix:
include:
Expand All @@ -169,13 +169,8 @@ jobs:
uses: douglascamata/setup-docker-macos-action@v1-alpha

- uses: actions/checkout@v4

# Required for running in Docker
- name: Git LFS Pull
run: |
apt-get update
apt-get install git-lfs
git lfs pull
with:
lfs: true

- name: Set outputs
id: vars
Expand Down Expand Up @@ -215,32 +210,40 @@ jobs:
# secret-files: |
# netrc=${{ runner.temp }}/netrc

# complete:
# name: "Complete"
# needs: [docker]
# runs-on: ubuntu-24.04
# steps:
# - uses: actions/checkout@v4
# with:
# lfs: 'true'

# - uses: ./.github/actions/docker-setup
# with:
# docker_username: ${{ secrets.DOCKER_CI_USERNAME }}
# docker_password: ${{ secrets.DOCKER_CI_ACCESS_TOKEN }}
# github_token: ${{ secrets.GITHUB_TOKEN}}

# - name: Complete
# env:
# R2_RELEASES_ACCESS_KEY_ID: ${{ secrets.R2_RELEASES_ACCESS_KEY_ID }}
# R2_RELEASES_SECRET_ACCESS_KEY: ${{ secrets.R2_RELEASES_SECRET_ACCESS_KEY }}
# run: |
# # Install Deno
# curl -fsSL https://deno.land/x/install/install.sh | sh
# export PATH=$HOME/.deno/bin:$PATH

# if [ "${{ inputs.latest }}" = "true" ]; then
# ./scripts/release/main.ts --version "${{ github.event.inputs.version }}" --completeCi
# else
# ./scripts/release/main.ts --version "${{ github.event.inputs.version }}" --no-latest --completeCi
# fi
complete:
name: "Complete"
needs: [docker]
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
lfs: 'true'

- uses: actions/setup-node@v4
with:
node-version: 20

- run: corepack enable

- uses: ./.github/actions/docker-setup
with:
docker_username: ${{ secrets.DOCKER_CI_USERNAME }}
docker_password: ${{ secrets.DOCKER_CI_ACCESS_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN}}

- name: Complete
env:
R2_RELEASES_ACCESS_KEY_ID: ${{ secrets.R2_RELEASES_ACCESS_KEY_ID }}
R2_RELEASES_SECRET_ACCESS_KEY: ${{ secrets.R2_RELEASES_SECRET_ACCESS_KEY }}
run: |
# Install dependencies
pnpm install

# Install tsx globally
npm install -g tsx

if [ "${{ inputs.latest }}" = "true" ]; then
./scripts/release/main.ts --version "${{ github.event.inputs.version }}" --completeCi
else
./scripts/release/main.ts --version "${{ github.event.inputs.version }}" --no-latest --completeCi
fi
12 changes: 0 additions & 12 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 6 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

[workspace]
resolver = "2"
members = ["packages/common/api-builder","packages/common/api-client","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/udb-util","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-runner-ws","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/api-runtime","sdks/rust/bare_gen","sdks/rust/epoxy-protocol","sdks/rust/key-data","sdks/rust/runner-protocol","sdks/rust/tunnel-protocol"]
members = ["packages/common/api-builder","packages/common/api-client","packages/common/api-types","packages/common/api-util","packages/common/cache/build","packages/common/cache/result","packages/common/clickhouse-inserter","packages/common/clickhouse-user-query","packages/common/config","packages/common/env","packages/common/error/core","packages/common/error/macros","packages/common/gasoline/core","packages/common/gasoline/macros","packages/common/logs","packages/common/metrics","packages/common/pools","packages/common/runtime","packages/common/service-manager","packages/common/telemetry","packages/common/test-deps","packages/common/test-deps-docker","packages/common/types","packages/common/udb-util","packages/common/universaldb","packages/common/universalpubsub","packages/common/util/core","packages/common/util/id","packages/common/versioned-data-util","packages/core/actor-kv","packages/core/api-peer","packages/core/api-public","packages/core/bootstrap","packages/core/dump-openapi","packages/core/guard/core","packages/core/guard/server","packages/core/pegboard-gateway","packages/core/pegboard-runner-ws","packages/core/pegboard-tunnel","packages/core/workflow-worker","packages/infra/engine","packages/services/epoxy","packages/services/namespace","packages/services/pegboard","sdks/rust/api-full","sdks/rust/bare_gen","sdks/rust/epoxy-protocol","sdks/rust/key-data","sdks/rust/runner-protocol","sdks/rust/tunnel-protocol"]

[workspace.package]
version = "0.0.1"
Expand Down Expand Up @@ -58,7 +58,6 @@ regex = "1.4"
rstest = "0.26.1"
rustls-pemfile = "2.2.0"
rustyline = "15.0.0"
sentry = { version = "0.37.0", default-features = false, features = ["anyhow", "backtrace", "contexts", "debug-images", "panic", "reqwest", "rustls"] }
serde_bare = "0.5.0"
serde_yaml = "0.9.34"
sha2 = "0.10"
Expand All @@ -81,6 +80,11 @@ tracing-opentelemetry = "0.29"
tracing-slog = "0.2"
vergen = "9.0.4"

[workspace.dependencies.sentry]
version = "0.37.0"
default-features = false
features = ["anyhow","backtrace","contexts","debug-images","panic","reqwest","rustls"]

[workspace.dependencies.windows]
version = "0.58"
features = ["Win32","Win32_Storage","Win32_Storage_FileSystem","Win32_System","Win32_System_Console","Win32_Security"]
Expand Down Expand Up @@ -379,9 +383,6 @@ path = "packages/services/pegboard"
[workspace.dependencies.rivet-api-full]
path = "sdks/rust/api-full"

[workspace.dependencies.rivet-api-runtime]
path = "sdks/rust/api-runtime"

[workspace.dependencies.bare_gen]
path = "sdks/rust/bare_gen"

Expand Down
16 changes: 8 additions & 8 deletions docker/engine/linux-aarch64.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,21 @@ RUN apt-get update && apt-get install -y \
g++-multilib \
git-lfs && \
rm -rf /var/lib/apt/lists/* && \
wget -q https://musl.cc/aarch64-linux-musl-cross.tgz && \
tar -xzf aarch64-linux-musl-cross.tgz -C /opt/ && \
rm aarch64-linux-musl-cross.tgz
wget -q https://github.com/cross-tools/musl-cross/releases/download/20250815/aarch64-unknown-linux-musl.tar.xz && \
tar -xzf aarch64-unknown-linux-musl.tgz -C /opt/ && \
rm aarch64-unknown-linux-musl.tgz

# Install musl targets
RUN rustup target add aarch64-unknown-linux-musl

# Set environment variables
ENV PATH="/opt/aarch64-linux-musl-cross/bin:$PATH" \
ENV PATH="/opt/aarch64-unknown-linux-musl/bin:$PATH" \
LIBCLANG_PATH=/usr/lib/llvm-14/lib \
CLANG_PATH=/usr/bin/clang-14 \
CC_aarch64_unknown_linux_musl=aarch64-linux-musl-gcc \
CXX_aarch64_unknown_linux_musl=aarch64-linux-musl-g++ \
AR_aarch64_unknown_linux_musl=aarch64-linux-musl-ar \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-linux-musl-gcc \
CC_aarch64_unknown_linux_musl=aarch64-unknown-linux-musl-gcc \
CXX_aarch64_unknown_linux_musl=aarch64-unknown-linux-musl-g++ \
AR_aarch64_unknown_linux_musl=aarch64-unknown-linux-musl-ar \
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER=aarch64-unknown-linux-musl-gcc \
CARGO_INCREMENTAL=0 \
RUSTFLAGS="--cfg tokio_unstable -C target-feature=+crt-static -C link-arg=-static-libgcc" \
CARGO_NET_GIT_FETCH_WITH_CLI=true
Expand Down
16 changes: 8 additions & 8 deletions docker/engine/linux-x86_64.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,21 @@ RUN apt-get update && apt-get install -y \
g++-multilib \
git-lfs && \
rm -rf /var/lib/apt/lists/* && \
wget -q https://musl.cc/x86_64-linux-musl-cross.tgz && \
tar -xzf x86_64-linux-musl-cross.tgz -C /opt/ && \
rm x86_64-linux-musl-cross.tgz
wget -q https://github.com/cross-tools/musl-cross/releases/latest/download/x86_64-unknown-linux-musl.tar.xz && \
tar -xf x86_64-unknown-linux-musl.tar.xz -C /opt/ && \
rm x86_64-unknown-linux-musl.tar.xz

# Install musl targets
RUN rustup target add x86_64-unknown-linux-musl

# Set environment variables
ENV PATH="/opt/x86_64-linux-musl-cross/bin:$PATH" \
ENV PATH="/opt/x86_64-unknown-linux-musl/bin:$PATH" \
LIBCLANG_PATH=/usr/lib/llvm-14/lib \
CLANG_PATH=/usr/bin/clang-14 \
CC_x86_64_unknown_linux_musl=x86_64-linux-musl-gcc \
CXX_x86_64_unknown_linux_musl=x86_64-linux-musl-g++ \
AR_x86_64_unknown_linux_musl=x86_64-linux-musl-ar \
CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER=x86_64-linux-musl-gcc \
CC_x86_64_unknown_linux_musl=x86_64-unknown-linux-musl-gcc \
CXX_x86_64_unknown_linux_musl=x86_64-unknown-linux-musl-g++ \
AR_x86_64_unknown_linux_musl=x86_64-unknown-linux-musl-ar \
CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_LINKER=x86_64-unknown-linux-musl-gcc \
CARGO_INCREMENTAL=0 \
RUSTFLAGS="--cfg tokio_unstable -C target-feature=+crt-static -C link-arg=-static-libgcc" \
CARGO_NET_GIT_FETCH_WITH_CLI=true
Expand Down
Loading
Loading