Skip to main content
Glama

In Memoria

release.yml•5.04 kB
name: Release on: push: tags: - 'v*' workflow_dispatch: jobs: build: strategy: fail-fast: false matrix: settings: - host: macos-latest target: x86_64-apple-darwin build: npm run build:macos - host: macos-latest target: aarch64-apple-darwin build: npm run build:macos-arm - host: windows-latest target: x86_64-pc-windows-msvc build: npm run build:windows - host: ubuntu-latest target: x86_64-unknown-linux-gnu build: npm run build name: Build ${{ matrix.settings.target }} runs-on: ${{ matrix.settings.host }} steps: - uses: actions/checkout@v4 - name: Setup node uses: actions/setup-node@v4 with: node-version: 20 cache: npm registry-url: https://registry.npmjs.org/ - name: Setup Rust uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.settings.target }} - name: Install dependencies run: npm ci - name: Build run: ${{ matrix.settings.build }} - name: Copy binary to platform package shell: bash run: | TARGET="${{ matrix.settings.target }}" case "$TARGET" in x86_64-unknown-linux-gnu) PLATFORM="linux-x64" ;; x86_64-apple-darwin) PLATFORM="darwin-x64" ;; aarch64-apple-darwin) PLATFORM="darwin-arm64" ;; x86_64-pc-windows-msvc) PLATFORM="win32-x64" ;; esac mkdir -p npm/$PLATFORM cp rust-core/*.node npm/$PLATFORM/ - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: bindings-${{ matrix.settings.target }} path: | npm/ rust-core/*.node dist/ if-no-files-found: error publish-platform: name: Publish platform packages runs-on: ubuntu-latest needs: build if: startsWith(github.ref, 'refs/tags/v') strategy: matrix: platform: - linux-x64 - darwin-x64 - darwin-arm64 - win32-x64 steps: - uses: actions/checkout@v4 - name: Setup node uses: actions/setup-node@v4 with: node-version: 20 registry-url: https://registry.npmjs.org/ - name: Download all artifacts uses: actions/download-artifact@v4 with: path: artifacts - name: Prepare platform package run: | # Find the .node file from artifacts PLATFORM="${{ matrix.platform }}" mkdir -p npm/$PLATFORM # Copy package.json and other files if [ -d "artifacts/bindings-x86_64-unknown-linux-gnu/npm/$PLATFORM" ] && [ "$PLATFORM" == "linux-x64" ]; then cp -r artifacts/bindings-x86_64-unknown-linux-gnu/npm/$PLATFORM/* npm/$PLATFORM/ elif [ -d "artifacts/bindings-x86_64-apple-darwin/npm/$PLATFORM" ] && [ "$PLATFORM" == "darwin-x64" ]; then cp -r artifacts/bindings-x86_64-apple-darwin/npm/$PLATFORM/* npm/$PLATFORM/ elif [ -d "artifacts/bindings-aarch64-apple-darwin/npm/$PLATFORM" ] && [ "$PLATFORM" == "darwin-arm64" ]; then cp -r artifacts/bindings-aarch64-apple-darwin/npm/$PLATFORM/* npm/$PLATFORM/ elif [ -d "artifacts/bindings-x86_64-pc-windows-msvc/npm/$PLATFORM" ] && [ "$PLATFORM" == "win32-x64" ]; then cp -r artifacts/bindings-x86_64-pc-windows-msvc/npm/$PLATFORM/* npm/$PLATFORM/ fi # Verify binary exists if [ ! -f npm/$PLATFORM/*.node ]; then echo "āŒ No .node file found for $PLATFORM" exit 1 fi - name: Publish platform package run: | cd npm/${{ matrix.platform }} echo "šŸ“¦ Publishing ${{ matrix.platform }} package..." npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} publish: name: Publish main package to npm runs-on: ubuntu-latest environment: production needs: publish-platform if: startsWith(github.ref, 'refs/tags/v') steps: - uses: actions/checkout@v4 - name: Setup node uses: actions/setup-node@v4 with: node-version: 20 cache: npm registry-url: https://registry.npmjs.org/ - name: Update lock file for platform packages run: npm install --package-lock-only - name: Install dependencies run: npm ci - name: Build TypeScript (without Rust) run: npm run build:ts - name: Publish main package to npm run: npm publish --access public env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pi22by7/In-Memoria'

If you have feedback or need assistance with the MCP directory API, please join our Discord server