fix: 캔버스 로드 시 워크플로우 이름이 아닌 workflow_id 사용 #47
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build & Release Desktop App | |
| on: | |
| push: | |
| tags: ['v*'] | |
| workflow_dispatch: | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| TAURI_ENV: "true" | |
| NEXT_PUBLIC_BACKEND_HOST: "https://xgen.x2bee.com" | |
| NEXT_PUBLIC_BACKEND_PORT: "" | |
| GRAPH_TOOL_CALL_VERSION: "0.19.1" | |
| jobs: | |
| build-linux: | |
| runs-on: ubuntu-22.04 | |
| timeout-minutes: 90 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Install Linux dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev patchelf | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Build graph-tool-call sidecar (Linux) | |
| run: | | |
| pip install "graph-tool-call[mcp]==$GRAPH_TOOL_CALL_VERSION" pyinstaller | |
| ENTRY=$(python -c "import graph_tool_call.__main__; print(graph_tool_call.__main__.__file__)") | |
| pyinstaller --onefile --name graph-tool-call --hidden-import graph_tool_call "$ENTRY" | |
| mkdir -p src-tauri/binaries | |
| cp dist/graph-tool-call "src-tauri/binaries/graph-tool-call-x86_64-unknown-linux-gnu" | |
| chmod +x "src-tauri/binaries/graph-tool-call-x86_64-unknown-linux-gnu" | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Clone & build frontend | |
| run: | | |
| git clone --depth 1 --branch main "https://sonsj97:${{ secrets.GITLAB_TOKEN }}@gitlab.x2bee.com/xgen2.0/xgen-frontend.git" frontend | |
| bash scripts/patch-frontend.sh | |
| cd frontend && npm install && npm run build && cd .. | |
| cp src-cli/cli.html frontend/out/cli.html | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src-tauri | |
| cache-on-failure: true | |
| - name: Install Tauri CLI | |
| run: cargo install tauri-cli --version "^2" | |
| - name: Build Tauri app (Linux) | |
| working-directory: src-tauri | |
| run: cargo tauri build | |
| - name: Upload Linux artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: xgen-linux | |
| path: | | |
| src-tauri/target/release/bundle/deb/*.deb | |
| src-tauri/target/release/bundle/rpm/*.rpm | |
| src-tauri/target/release/bundle/appimage/*.AppImage | |
| build-windows: | |
| runs-on: windows-latest | |
| timeout-minutes: 90 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Build graph-tool-call sidecar (Windows) | |
| shell: bash | |
| run: | | |
| pip install "graph-tool-call[mcp]==$GRAPH_TOOL_CALL_VERSION" pyinstaller | |
| ENTRY=$(python -c "import graph_tool_call.__main__; print(graph_tool_call.__main__.__file__)") | |
| pyinstaller --onefile --name graph-tool-call --hidden-import graph_tool_call "$ENTRY" | |
| mkdir -p src-tauri/binaries | |
| cp dist/graph-tool-call.exe "src-tauri/binaries/graph-tool-call-x86_64-pc-windows-msvc.exe" | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Clone & build frontend | |
| shell: bash | |
| run: | | |
| git clone --depth 1 --branch main "https://sonsj97:${{ secrets.GITLAB_TOKEN }}@gitlab.x2bee.com/xgen2.0/xgen-frontend.git" frontend | |
| bash scripts/patch-frontend.sh | |
| cd frontend && npm install && npm run build && cd .. | |
| cp src-cli/cli.html frontend/out/cli.html | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src-tauri | |
| cache-on-failure: true | |
| - name: Install Tauri CLI | |
| run: cargo install tauri-cli --version "^2" | |
| - name: Build Tauri app (Windows) | |
| working-directory: src-tauri | |
| run: cargo tauri build | |
| - name: Upload Windows artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: xgen-windows | |
| path: | | |
| src-tauri/target/release/bundle/msi/*.msi | |
| src-tauri/target/release/bundle/nsis/*.exe | |
| build-macos: | |
| runs-on: macos-latest | |
| timeout-minutes: 90 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Build graph-tool-call sidecar (macOS) | |
| run: | | |
| pip install "graph-tool-call[mcp]==$GRAPH_TOOL_CALL_VERSION" pyinstaller | |
| ENTRY=$(python -c "import graph_tool_call.__main__; print(graph_tool_call.__main__.__file__)") | |
| pyinstaller --onefile --name graph-tool-call --hidden-import graph_tool_call "$ENTRY" | |
| mkdir -p src-tauri/binaries | |
| cp dist/graph-tool-call "src-tauri/binaries/graph-tool-call-aarch64-apple-darwin" | |
| chmod +x "src-tauri/binaries/graph-tool-call-aarch64-apple-darwin" | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Clone & build frontend | |
| run: | | |
| git clone --depth 1 --branch main "https://sonsj97:${{ secrets.GITLAB_TOKEN }}@gitlab.x2bee.com/xgen2.0/xgen-frontend.git" frontend | |
| bash scripts/patch-frontend.sh | |
| cd frontend && npm install && npm run build && cd .. | |
| cp src-cli/cli.html frontend/out/cli.html | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: src-tauri | |
| cache-on-failure: true | |
| - name: Install Tauri CLI | |
| run: cargo install tauri-cli --version "^2" | |
| - name: Build Tauri app (macOS) | |
| working-directory: src-tauri | |
| run: cargo tauri build | |
| - name: Upload macOS artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: xgen-macos | |
| path: | | |
| src-tauri/target/release/bundle/dmg/*.dmg | |
| src-tauri/target/release/bundle/macos/*.app | |
| release: | |
| needs: [build-linux, build-windows, build-macos] | |
| runs-on: ubuntu-latest | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| - name: List artifacts | |
| run: find artifacts -type f | head -30 | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| generate_release_notes: true | |
| files: | | |
| artifacts/xgen-linux/**/* | |
| artifacts/xgen-windows/**/* | |
| artifacts/xgen-macos/**/* |