| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-07-22 21:33:07 +03:00
										 |  |  | set -e  # Fail on any command error | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-01-17 11:52:45 -08:00
										 |  |  | # Debug output | 
					
						
							|  |  |  | echo "Matrix Arch: $MATRIX_ARCH" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Detect architecture from matrix input, fallback to system architecture | 
					
						
							|  |  |  | if [ -n "$MATRIX_ARCH" ]; then | 
					
						
							|  |  |  |     ARCH=$MATRIX_ARCH | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     ARCH=$(uname -m) | 
					
						
							|  |  |  |     # Convert system architecture to our naming convention | 
					
						
							|  |  |  |     case $ARCH in | 
					
						
							|  |  |  |         x86_64) ARCH="x64" ;; | 
					
						
							|  |  |  |         aarch64) ARCH="arm64" ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Debug output | 
					
						
							|  |  |  | echo "Selected Arch: $ARCH" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Set Node.js version and architecture-specific filename | 
					
						
							| 
									
										
										
										
											2025-03-26 08:12:22 +01:00
										 |  |  | NODE_VERSION=22.14.0 | 
					
						
							| 
									
										
										
										
											2025-01-17 11:52:45 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-27 12:22:10 +03:00
										 |  |  | script_dir=$(realpath $(dirname $0)) | 
					
						
							|  |  |  | BUILD_DIR="$script_dir/../dist" | 
					
						
							|  |  |  | DIST_DIR="$script_dir/../out" | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-09 18:58:56 +01:00
										 |  |  | NODE_FILENAME=node-v${NODE_VERSION}-linux-${ARCH} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "Downloading Node.js runtime $NODE_FILENAME..." | 
					
						
							| 
									
										
										
										
											2025-03-09 17:43:01 +01:00
										 |  |  | cd $BUILD_DIR | 
					
						
							| 
									
										
										
										
											2025-03-09 18:58:56 +01:00
										 |  |  | wget -qO- https://nodejs.org/dist/v${NODE_VERSION}/${NODE_FILENAME}.tar.xz | tar xfJ - | 
					
						
							|  |  |  | mv $NODE_FILENAME node | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | cd .. | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-18 23:23:50 +03:00
										 |  |  | rm -rf $BUILD_DIR/node/lib/node_modules/{npm,corepack} \
 | 
					
						
							| 
									
										
										
										
											2025-03-27 21:06:35 +01:00
										 |  |  |     $BUILD_DIR/node/bin/{npm,npx,corepack} \
 | 
					
						
							|  |  |  |     $BUILD_DIR/node/CHANGELOG.md \
 | 
					
						
							| 
									
										
										
										
											2025-03-09 17:44:21 +01:00
										 |  |  |     $BUILD_DIR/node/include/node \
 | 
					
						
							|  |  |  |     $BUILD_DIR/node_modules/electron* \
 | 
					
						
							| 
									
										
										
										
											2025-03-09 18:04:29 +01:00
										 |  |  |     $BUILD_DIR/electron*.{js,map} | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-04-10 23:22:52 +02:00
										 |  |  | printf "#!/bin/sh\n./node/bin/node src/main\n" > $BUILD_DIR/trilium.sh | 
					
						
							| 
									
										
										
										
											2025-03-09 17:43:01 +01:00
										 |  |  | chmod 755 $BUILD_DIR/trilium.sh | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-10-11 21:22:59 +02:00
										 |  |  | VERSION=`jq -r ".version" package.json` | 
					
						
							| 
									
										
										
										
											2018-08-30 21:57:14 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-09 18:25:46 +01:00
										 |  |  | ARCHIVE_NAME="TriliumNextNotes-Server-${VERSION}-linux-${ARCH}" | 
					
						
							| 
									
										
										
										
											2025-03-09 18:58:56 +01:00
										 |  |  | echo "Creating Archive $ARCHIVE_NAME..." | 
					
						
							| 
									
										
										
										
											2025-03-09 18:25:46 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-09 17:43:01 +01:00
										 |  |  | mkdir $DIST_DIR | 
					
						
							| 
									
										
										
										
											2025-03-09 18:25:46 +01:00
										 |  |  | cp -r "$BUILD_DIR" "$DIST_DIR/$ARCHIVE_NAME" | 
					
						
							| 
									
										
										
										
											2025-03-09 17:43:01 +01:00
										 |  |  | cd $DIST_DIR | 
					
						
							| 
									
										
										
										
											2025-03-09 18:25:46 +01:00
										 |  |  | tar cJf "$ARCHIVE_NAME.tar.xz" "$ARCHIVE_NAME" | 
					
						
							|  |  |  | rm -rf "$ARCHIVE_NAME" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-03-09 18:11:53 +01:00
										 |  |  | echo "Server Build Completed!" |