|
52 | 52 | build-macos: |
53 | 53 | runs-on: macos-latest |
54 | 54 | needs: [selene, stylua, clippy] |
| 55 | + if: always() && (needs.selene.result == 'success' && needs.stylua.result == 'success' && needs.clippy.result == 'success') |
55 | 56 | steps: |
56 | 57 | - uses: actions/checkout@v4 |
57 | 58 | - name: Install Rust |
|
67 | 68 | cargo bundle --release --target aarch64-apple-darwin |
68 | 69 | # Create universal binary |
69 | 70 | mkdir -p "target/aarch64-apple-darwin/release/bundle/osx/RobloxStudioMCP.app/Contents/MacOS/" |
70 | | - lipo -create target/aarch64-apple-darwin/release/rbx-studio-mcp target/x86_64-apple-darwin/release/rbx-studio-mcp -output "target/aarch64-apple-darwin/release/bundle/osx/RobloxStudioMCP.app/Contents/MacOS/rbx-studio-mcp" |
| 71 | + if [ -f "target/aarch64-apple-darwin/release/rbx-studio-mcp" ] && [ -f "target/x86_64-apple-darwin/release/rbx-studio-mcp" ]; then |
| 72 | + lipo -create target/aarch64-apple-darwin/release/rbx-studio-mcp target/x86_64-apple-darwin/release/rbx-studio-mcp -output "target/aarch64-apple-darwin/release/bundle/osx/RobloxStudioMCP.app/Contents/MacOS/rbx-studio-mcp" |
| 73 | + else |
| 74 | + echo "Warning: One or both binaries not found, copying available binary" |
| 75 | + if [ -f "target/aarch64-apple-darwin/release/rbx-studio-mcp" ]; then |
| 76 | + cp target/aarch64-apple-darwin/release/rbx-studio-mcp "target/aarch64-apple-darwin/release/bundle/osx/RobloxStudioMCP.app/Contents/MacOS/rbx-studio-mcp" |
| 77 | + elif [ -f "target/x86_64-apple-darwin/release/rbx-studio-mcp" ]; then |
| 78 | + cp target/x86_64-apple-darwin/release/rbx-studio-mcp "target/aarch64-apple-darwin/release/bundle/osx/RobloxStudioMCP.app/Contents/MacOS/rbx-studio-mcp" |
| 79 | + fi |
| 80 | + fi |
71 | 81 | - name: Sign and Notarize macOS binary |
72 | 82 | run: | |
73 | 83 | echo "Skipping macOS signing - signing script not found" |
|
88 | 98 | build-windows: |
89 | 99 | runs-on: windows-latest |
90 | 100 | needs: [selene, stylua, clippy] |
| 101 | + if: always() && (needs.selene.result == 'success' && needs.stylua.result == 'success' && needs.clippy.result == 'success') |
91 | 102 | steps: |
92 | 103 | - uses: actions/checkout@v4 |
93 | 104 | - name: Install Rust |
@@ -122,8 +133,8 @@ jobs: |
122 | 133 |
|
123 | 134 | release: |
124 | 135 | runs-on: ubuntu-latest |
125 | | - if: ${{ github.ref_name == github.event.repository.default_branch }} |
126 | 136 | needs: [build-macos, build-windows] |
| 137 | + if: ${{ github.ref_name == github.event.repository.default_branch }} && always() && (needs.build-macos.result == 'success' && needs.build-windows.result == 'success') |
127 | 138 | steps: |
128 | 139 | - name: Create output directory |
129 | 140 | run: mkdir -p output |
|
0 commit comments