diff options
| author | soryu <soryu@soryu.co> | 2026-02-21 23:51:11 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-21 23:51:11 +0000 |
| commit | 0523765af84492640928d571f481e17b26008b13 (patch) | |
| tree | 644e0bac90c1945120df27dea36d18c81f4470e9 /.github/workflows | |
| parent | d670dcb72984cfa483063d161bb468704038895c (diff) | |
| download | soryu-0523765af84492640928d571f481e17b26008b13.tar.gz soryu-0523765af84492640928d571f481e17b26008b13.zip | |
feat: Add daemon health monitoring page, downloads & K8s support (#76)
* feat: soryu-co/soryu - makima: Add server-side daemon binary download endpoint
* feat: soryu-co/soryu - makima: Create Kubernetes daemon manifests and Dockerfile
* feat: soryu-co/soryu - makima: Create dedicated Daemons page with health monitoring UI
* WIP: heartbeat checkpoint
* feat: soryu-co/soryu - makima: Integrate daemon platform availability into frontend downloads
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/daemon-image.yml | 62 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 55 |
2 files changed, 116 insertions, 1 deletions
diff --git a/.github/workflows/daemon-image.yml b/.github/workflows/daemon-image.yml new file mode 100644 index 0000000..2501dab --- /dev/null +++ b/.github/workflows/daemon-image.yml @@ -0,0 +1,62 @@ +name: Daemon Image + +on: + push: + tags: + - 'v*' + branches: + - main + paths: + - 'makima/**' + - 'vendor/**' + - 'k8s/daemon/Dockerfile' + - 'Cargo.*' + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: soryu-co/makima-daemon + +jobs: + build-and-push: + name: Build and Push Daemon Image + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Log in to GHCR + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=sha,prefix= + type=raw,value=latest,enable={{is_default_branch}} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + file: k8s/daemon/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ca9aae0..42d4241 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -24,6 +24,10 @@ jobs: os: macos-15-intel artifact_name: makima asset_name: makima-${{ github.ref_name }}-macos-x86_64 + - target: aarch64-unknown-linux-gnu + os: ubuntu-latest + artifact_name: makima + asset_name: makima-${{ github.ref_name }}-linux-arm64 - target: aarch64-apple-darwin os: macos-14 artifact_name: makima @@ -44,6 +48,13 @@ jobs: sudo apt-get update sudo apt-get install -y pkg-config libssl-dev + - name: Install cross-compilation tools (Linux ARM64) + if: matrix.target == 'aarch64-unknown-linux-gnu' + run: | + sudo apt-get install -y gcc-aarch64-linux-gnu + echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV + echo "PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu" >> $GITHUB_ENV + - name: Build release binary working-directory: makima run: cargo build --release --target ${{ matrix.target }} @@ -65,9 +76,41 @@ jobs: name: ${{ matrix.asset_name }} path: ${{ matrix.asset_name }}.tar.gz + embed-daemon-binaries: + name: Package Daemon Binaries + needs: build + runs-on: ubuntu-latest + steps: + - name: Download Linux x86_64 artifact + uses: actions/download-artifact@v4 + with: + name: makima-${{ github.ref_name }}-linux-x86_64 + path: daemon-binaries + + - name: Download Linux ARM64 artifact + uses: actions/download-artifact@v4 + with: + name: makima-${{ github.ref_name }}-linux-arm64 + path: daemon-binaries + + - name: Extract and repackage daemon binaries + run: | + mkdir -p daemon-extracted/linux-x86_64 daemon-extracted/linux-arm64 + + tar xzf daemon-binaries/makima-${{ github.ref_name }}-linux-x86_64.tar.gz -C daemon-extracted/linux-x86_64 + tar xzf daemon-binaries/makima-${{ github.ref_name }}-linux-arm64.tar.gz -C daemon-extracted/linux-arm64 + + tar czvf daemon-binaries.tar.gz -C daemon-extracted . + + - name: Upload daemon binaries archive + uses: actions/upload-artifact@v4 + with: + name: daemon-binaries + path: daemon-binaries.tar.gz + release: name: Create Release - needs: build + needs: [build, embed-daemon-binaries] runs-on: ubuntu-latest permissions: contents: write @@ -111,6 +154,11 @@ jobs: tar xzf makima-${{ github.ref_name }}-linux-x86_64.tar.gz sudo mv makima /usr/local/bin/ + # Linux ARM64 + curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-linux-arm64.tar.gz + tar xzf makima-${{ github.ref_name }}-linux-arm64.tar.gz + sudo mv makima /usr/local/bin/ + # macOS Intel curl -LO https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-macos-x86_64.tar.gz tar xzf makima-${{ github.ref_name }}-macos-x86_64.tar.gz @@ -158,6 +206,11 @@ jobs: tar xzf makima-${{ github.ref_name }}-linux-x86_64.tar.gz sudo mv makima /usr/local/bin/ + # Linux ARM64 + curl -LO https://github.com/soryu-co/makima/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-linux-arm64.tar.gz + tar xzf makima-${{ github.ref_name }}-linux-arm64.tar.gz + sudo mv makima /usr/local/bin/ + # macOS Intel curl -LO https://github.com/soryu-co/makima/releases/download/${{ github.ref_name }}/makima-${{ github.ref_name }}-macos-x86_64.tar.gz tar xzf makima-${{ github.ref_name }}-macos-x86_64.tar.gz |
