From fc89dfde1f56325497df715896d2e16f071c17aa Mon Sep 17 00:00:00 2001 From: Ben Lovy Date: Tue, 30 Sep 2025 17:39:46 -0400 Subject: [PATCH 1/7] add workflow --- .github/workflows/build.yaml | 93 ++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 .github/workflows/build.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 00000000..c4c94237 --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,93 @@ +name: Build Packages + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + pull_request_target: + types: [opened] + workflow_dispatch: + push: + branches: ["main"] + +env: + TANGRAM_CI_DIR: ${{ github.workspace }}/../.tangram-ci-${{ github.event.repository.name }} + TG_EXE: ${{ github.workspace }}/../.tangram-ci-${{ github.event.repository.name }}/bin/tangram + +jobs: + test: + if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' || github.event_name == 'workflow_dispatch' + runs-on: ${{ matrix.runner }} + environment: test + strategy: + matrix: + include: + - runner: [self-hosted, macOS, ARM64] + enabled: true + - runner: [self-hosted, Linux, X64] + enabled: false + + steps: + - name: Check out packages repository + uses: actions/checkout@v4 + + - name: Configure Tangram + run: | + mkdir -p "$TANGRAM_CI_DIR/bin" + cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' + {} + EOF + cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' + #!/bin/sh + exec tangram --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" + EOF + chmod +x "$TANGRAM_CI_DIR/bin/tangram" + + - name: Test packages + if: matrix.enabled + shell: bash + run: | + "$TG_EXE" server start + while [ "$("$TG_EXE" server status)" != "started" ]; do + sleep 1 + done + bun run auto --test --sequential + "$TG_EXE" server stop + + release: + if: github.event_name == 'push' && github.ref == 'refs/heads/main' + runs-on: ${{ matrix.runner }} + environment: release + strategy: + matrix: + include: + - runner: [self-hosted, macOS, ARM64] + enabled: true + - runner: [self-hosted, Linux, X64] + enabled: false + + steps: + - name: Check out packages repository + uses: actions/checkout@v4 + + - name: Configure Tangram + run: | + mkdir -p "$TANGRAM_CI_DIR/bin" + cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' + {} + EOF + cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' + #!/bin/sh + exec tangram --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" + EOF + chmod +x "$TANGRAM_CI_DIR/bin/tangram" + + - name: Release packages + if: matrix.enabled + shell: bash + run: | + "$TG_EXE" server start + while [ "$("$TG_EXE" server status)" != "started" ]; do + sleep 1 + done + bun run auto --release --sequential + "$TG_EXE" server stop From af696cb127ccf2894122a7dd13d1f71d6498d322 Mon Sep 17 00:00:00 2001 From: Ben Lovy Date: Wed, 1 Oct 2025 10:05:26 -0400 Subject: [PATCH 2/7] fix --- .github/workflows/build.yaml | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index c4c94237..b307298f 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -3,9 +3,6 @@ name: Build Packages on: pull_request: types: [opened, synchronize, reopened, ready_for_review] - pull_request_target: - types: [opened] - workflow_dispatch: push: branches: ["main"] @@ -15,7 +12,7 @@ env: jobs: test: - if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' || github.event_name == 'workflow_dispatch' + if: github.event_name == 'pull_request' runs-on: ${{ matrix.runner }} environment: test strategy: @@ -24,7 +21,7 @@ jobs: - runner: [self-hosted, macOS, ARM64] enabled: true - runner: [self-hosted, Linux, X64] - enabled: false + enabled: true steps: - name: Check out packages repository @@ -38,7 +35,7 @@ jobs: EOF cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh - exec tangram --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" + exec tangram -m server --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" @@ -46,12 +43,7 @@ jobs: if: matrix.enabled shell: bash run: | - "$TG_EXE" server start - while [ "$("$TG_EXE" server status)" != "started" ]; do - sleep 1 - done bun run auto --test --sequential - "$TG_EXE" server stop release: if: github.event_name == 'push' && github.ref == 'refs/heads/main' @@ -63,7 +55,7 @@ jobs: - runner: [self-hosted, macOS, ARM64] enabled: true - runner: [self-hosted, Linux, X64] - enabled: false + enabled: true steps: - name: Check out packages repository @@ -77,7 +69,7 @@ jobs: EOF cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh - exec tangram --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" + exec tangram -m server --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" @@ -85,9 +77,4 @@ jobs: if: matrix.enabled shell: bash run: | - "$TG_EXE" server start - while [ "$("$TG_EXE" server status)" != "started" ]; do - sleep 1 - done bun run auto --release --sequential - "$TG_EXE" server stop From 34a16667f640b2000e5bd6e808b0c58601921e03 Mon Sep 17 00:00:00 2001 From: Ben Lovy Date: Wed, 1 Oct 2025 10:53:10 -0400 Subject: [PATCH 3/7] fix paths --- .github/workflows/build.yaml | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index b307298f..0076139b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -6,16 +6,13 @@ on: push: branches: ["main"] -env: - TANGRAM_CI_DIR: ${{ github.workspace }}/../.tangram-ci-${{ github.event.repository.name }} - TG_EXE: ${{ github.workspace }}/../.tangram-ci-${{ github.event.repository.name }}/bin/tangram - jobs: test: if: github.event_name == 'pull_request' runs-on: ${{ matrix.runner }} environment: test strategy: + fail-fast: false matrix: include: - runner: [self-hosted, macOS, ARM64] @@ -27,6 +24,11 @@ jobs: - name: Check out packages repository uses: actions/checkout@v4 + - name: Set environment variables + run: | + echo "TANGRAM_CI_DIR=$HOME/.tangram-ci" >> $GITHUB_ENV + echo "TG_EXE=$HOME/.tangram-ci/bin/tangram" >> $GITHUB_ENV + - name: Configure Tangram run: | mkdir -p "$TANGRAM_CI_DIR/bin" @@ -35,7 +37,7 @@ jobs: EOF cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh - exec tangram -m server --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" + exec tangram --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" @@ -50,6 +52,7 @@ jobs: runs-on: ${{ matrix.runner }} environment: release strategy: + fail-fast: false matrix: include: - runner: [self-hosted, macOS, ARM64] @@ -61,6 +64,11 @@ jobs: - name: Check out packages repository uses: actions/checkout@v4 + - name: Set environment variables + run: | + echo "TANGRAM_CI_DIR=$HOME/.tangram-ci" >> $GITHUB_ENV + echo "TG_EXE=$HOME/.tangram-ci/bin/tangram" >> $GITHUB_ENV + - name: Configure Tangram run: | mkdir -p "$TANGRAM_CI_DIR/bin" @@ -69,7 +77,7 @@ jobs: EOF cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh - exec tangram -m server --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" + exec tangram --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" From e2b4ebe0cee2b8ca176a62c52bc300fc5b694c37 Mon Sep 17 00:00:00 2001 From: Ben Lovy Date: Wed, 1 Oct 2025 13:19:44 -0400 Subject: [PATCH 4/7] move dir --- .github/workflows/build.yaml | 12 ++++++++---- .gitignore | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 0076139b..e8bba0c9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -33,11 +33,13 @@ jobs: run: | mkdir -p "$TANGRAM_CI_DIR/bin" cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' - {} + { + "directory": "$TANGRAM_CI_DIR/.tangram" + } EOF cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh - exec tangram --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" + exec tangram --config "$TANGRAM_CI_DIR/config.json" "$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" @@ -73,11 +75,13 @@ jobs: run: | mkdir -p "$TANGRAM_CI_DIR/bin" cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' - {} + { + "directory": "$TANGRAM_CI_DIR/.tangram" + } EOF cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh - exec tangram --directory "$TANGRAM_CI_DIR" --config "$TANGRAM_CI_DIR/config.json" "$@" + exec tangram --config "$TANGRAM_CI_DIR/config.json" "$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" diff --git a/.gitignore b/.gitignore index c291c9fd..e1ddf8b1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ node_modules tangram.lock target +Claude.md From 9f3acae5a2df69084f68d089b5f76c3879caaf2e Mon Sep 17 00:00:00 2001 From: Ben Lovy Date: Wed, 1 Oct 2025 13:26:53 -0400 Subject: [PATCH 5/7] fix config --- .github/workflows/build.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index e8bba0c9..80d3297c 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -32,14 +32,14 @@ jobs: - name: Configure Tangram run: | mkdir -p "$TANGRAM_CI_DIR/bin" - cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' + cat > "$TANGRAM_CI_DIR/config.json" << EOF { "directory": "$TANGRAM_CI_DIR/.tangram" } EOF - cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' + cat > "$TANGRAM_CI_DIR/bin/tangram" << EOF #!/bin/sh - exec tangram --config "$TANGRAM_CI_DIR/config.json" "$@" + exec tangram --config "$TANGRAM_CI_DIR/config.json" "\$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" @@ -74,14 +74,14 @@ jobs: - name: Configure Tangram run: | mkdir -p "$TANGRAM_CI_DIR/bin" - cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' + cat > "$TANGRAM_CI_DIR/config.json" << EOF { "directory": "$TANGRAM_CI_DIR/.tangram" } EOF - cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' + cat > "$TANGRAM_CI_DIR/bin/tangram" << EOF #!/bin/sh - exec tangram --config "$TANGRAM_CI_DIR/config.json" "$@" + exec tangram --config "$TANGRAM_CI_DIR/config.json" "\$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" From 74592c94d257fe47e49808da8ed7a5ed8e41356e Mon Sep 17 00:00:00 2001 From: Ben Lovy Date: Wed, 1 Oct 2025 13:43:53 -0400 Subject: [PATCH 6/7] fix bin --- .github/workflows/build.yaml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 80d3297c..a45c778e 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -32,14 +32,12 @@ jobs: - name: Configure Tangram run: | mkdir -p "$TANGRAM_CI_DIR/bin" - cat > "$TANGRAM_CI_DIR/config.json" << EOF - { - "directory": "$TANGRAM_CI_DIR/.tangram" - } + cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' + {} EOF - cat > "$TANGRAM_CI_DIR/bin/tangram" << EOF + cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh - exec tangram --config "$TANGRAM_CI_DIR/config.json" "\$@" + exec tangram --directory "$TANGRAM_CI_DIR/.tangram" --config "$TANGRAM_CI_DIR/config.json" "$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" @@ -74,14 +72,12 @@ jobs: - name: Configure Tangram run: | mkdir -p "$TANGRAM_CI_DIR/bin" - cat > "$TANGRAM_CI_DIR/config.json" << EOF - { - "directory": "$TANGRAM_CI_DIR/.tangram" - } + cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' + {} EOF - cat > "$TANGRAM_CI_DIR/bin/tangram" << EOF + cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh - exec tangram --config "$TANGRAM_CI_DIR/config.json" "\$@" + exec tangram --directory "$TANGRAM_CI_DIR/.tangram" --config "$TANGRAM_CI_DIR/config.json" "$@" EOF chmod +x "$TANGRAM_CI_DIR/bin/tangram" From f5be4c0bfaca74200f806ee2a4871116dfb11c7d Mon Sep 17 00:00:00 2001 From: Ben Lovy Date: Mon, 6 Oct 2025 12:03:23 -0400 Subject: [PATCH 7/7] no remotes --- .github/workflows/build.yaml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a45c778e..5c3ec25b 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -33,7 +33,9 @@ jobs: run: | mkdir -p "$TANGRAM_CI_DIR/bin" cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' - {} + { + "remotes": [] + } EOF cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh @@ -73,7 +75,9 @@ jobs: run: | mkdir -p "$TANGRAM_CI_DIR/bin" cat > "$TANGRAM_CI_DIR/config.json" << 'EOF' - {} + { + "remotes": [] + } EOF cat > "$TANGRAM_CI_DIR/bin/tangram" << 'EOF' #!/bin/sh