Signed-off-by: Aaron Pham <contact@aarnphm.xyz>
This commit is contained in:
		
							parent
							
								
									a5726bd2bf
								
							
						
					
					
						commit
						24b66e08dc
					
				
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							| @ -19,6 +19,9 @@ https://github.com/user-attachments/assets/86140bfd-08b4-483d-a887-1b701d9e37dd | |||||||
| 
 | 
 | ||||||
| ## Installation | ## Installation | ||||||
| 
 | 
 | ||||||
|  | For building binary if you wish to build from source, then `cargo` is required. Otherwise `curl` and `jq` will be used to get prebuilt binary from GitHub. | ||||||
|  | 
 | ||||||
|  | For prebuilt binary, one must set the following `GITHUB_TOKEN` in given shell (instruction for creating PAT is [here](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)) | ||||||
| 
 | 
 | ||||||
| <details open> | <details open> | ||||||
| 
 | 
 | ||||||
| @ -32,10 +35,9 @@ https://github.com/user-attachments/assets/86140bfd-08b4-483d-a887-1b701d9e37dd | |||||||
|   opts = { |   opts = { | ||||||
|     -- add any opts here |     -- add any opts here | ||||||
|   }, |   }, | ||||||
|   -- if you want to build from source, then pass source=true (requires cargo). |   -- if you want to download pre-built binary, then pass source=false. Make sure to follow instruction above. | ||||||
|   -- Also note that building from source will block startuptime since |   -- Also note that downloading prebuilt binary is a lot faster comparing to compiling from source. | ||||||
|   -- we are compiling bindings in Rust. |   build = ":AvanteBuild source=false", | ||||||
|   build = ":AvanteBuild", |  | ||||||
|   dependencies = { |   dependencies = { | ||||||
|     "stevearc/dressing.nvim", |     "stevearc/dressing.nvim", | ||||||
|     "nvim-lua/plenary.nvim", |     "nvim-lua/plenary.nvim", | ||||||
| @ -117,7 +119,7 @@ add({ | |||||||
|     'MunifTanjim/nui.nvim', |     'MunifTanjim/nui.nvim', | ||||||
|     'echasnovski/mini.icons' |     'echasnovski/mini.icons' | ||||||
|   }, |   }, | ||||||
|   hooks = { post_checkout = function() vim.cmd('AvanteBuild') end } |   hooks = { post_checkout = function() vim.cmd('AvanteBuild source=false') end } | ||||||
| }) | }) | ||||||
| --- optional | --- optional | ||||||
| add({ source = 'zbirenbaum/copilot.lua' }) | add({ source = 'zbirenbaum/copilot.lua' }) | ||||||
|  | |||||||
| @ -1,4 +1,4 @@ | |||||||
| function avante#build(...) abort | function avante#build(...) abort | ||||||
|   let l:source = get(a:, 1, v:false) |   let l:source = get(a:, 1, v:true) | ||||||
|   return join(luaeval("require('avante').build(_A)", l:source), "\n") |   return join(luaeval("require('avante').build(_A)", l:source), "\n") | ||||||
| endfunction | endfunction | ||||||
|  | |||||||
							
								
								
									
										28
									
								
								build.sh
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								build.sh
									
									
									
									
									
								
							| @ -2,6 +2,18 @@ | |||||||
| 
 | 
 | ||||||
| set -eo pipefail | set -eo pipefail | ||||||
| 
 | 
 | ||||||
|  | # Check if jq is installed | ||||||
|  | if ! command -v jq &>/dev/null; then | ||||||
|  |   echo "Error: jq is not installed. Please install jq." | ||||||
|  |   exit 1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Check if GITHUB_TOKEN is set | ||||||
|  | if [ -z "$GITHUB_TOKEN" ]; then | ||||||
|  |   echo "Error: GITHUB_TOKEN is not set. Please provide a valid GitHub token." | ||||||
|  |   exit 1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| REPO_OWNER="yetone" | REPO_OWNER="yetone" | ||||||
| REPO_NAME="avante.nvim" | REPO_NAME="avante.nvim" | ||||||
| 
 | 
 | ||||||
| @ -11,9 +23,10 @@ SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)" | |||||||
| TARGET_DIR="${SCRIPT_DIR}/build" | TARGET_DIR="${SCRIPT_DIR}/build" | ||||||
| 
 | 
 | ||||||
| # Get the latest successful run ID of the workflow | # Get the latest successful run ID of the workflow | ||||||
| RUN_ID=$(curl -s -H "Accept: application/vnd.github+json" \ | RUN_ID=$(curl -s \ | ||||||
|   "https://api.github.com/repos/$REPO_OWNER/$REPO_NAME/actions/workflows/build.yaml/runs?status=success&branch=main" | |   -H "Accept: application/vnd.github+json" \ | ||||||
|   \grep -oP '(?<="id": )\d+' | head -1) |   -H "Authorization: Bearer $GITHUB_TOKEN" \ | ||||||
|  |   "https://api.github.com/repos/$REPO_OWNER/$REPO_NAME/actions/workflows/build.yaml/runs?status=success&branch=main&per_page=1" | jq ".workflow_runs[0].id") | ||||||
| 
 | 
 | ||||||
| # Get the artifact download URL based on the platform and Lua version | # Get the artifact download URL based on the platform and Lua version | ||||||
| case "$(uname -s)" in | case "$(uname -s)" in | ||||||
| @ -39,9 +52,12 @@ LUA_VERSION="${LUA_VERSION:-luajit}" | |||||||
| ARTIFACT_NAME_PATTERN="avante_lib-$PLATFORM-latest-$LUA_VERSION" | ARTIFACT_NAME_PATTERN="avante_lib-$PLATFORM-latest-$LUA_VERSION" | ||||||
| 
 | 
 | ||||||
| # Get the artifact download URL | # Get the artifact download URL | ||||||
| ARTIFACT_URL=$(curl -s -H "Accept: application/vnd.github+json" \ | ARTIFACT_URL=$(curl -s \ | ||||||
|  |   -H "Accept: application/vnd.github+json" \ | ||||||
|  |   -H "Authorization: Bearer $GITHUB_TOKEN" \ | ||||||
|   "https://api.github.com/repos/$REPO_OWNER/$REPO_NAME/actions/runs/$RUN_ID/artifacts" | |   "https://api.github.com/repos/$REPO_OWNER/$REPO_NAME/actions/runs/$RUN_ID/artifacts" | | ||||||
|   \grep -oP "(?<=\"archive_download_url\": \")https://[^\"]+/$ARTIFACT_NAME_PATTERN[^\"]+") |   jq -r '.artifacts[] | select(.name | test("'"$ARTIFACT_NAME_PATTERN"'")) | .archive_download_url') | ||||||
| 
 | 
 | ||||||
| mkdir -p "$TARGET_DIR" | mkdir -p "$TARGET_DIR" | ||||||
| curl -L "$ARTIFACT_URL" | tar -xz -C "$TARGET_DIR" --strip-components=1 | 
 | ||||||
|  | curl -L -H "Authorization: Bearer $GITHUB_TOKEN" "$ARTIFACT_URL" | tar -x -C "$TARGET_DIR" | ||||||
|  | |||||||
| @ -50,7 +50,7 @@ H.commands = function() | |||||||
|       local key, value = arg:match("(%w+)=(%w+)") |       local key, value = arg:match("(%w+)=(%w+)") | ||||||
|       if key and value then args[key] = value == "true" end |       if key and value then args[key] = value == "true" end | ||||||
|     end |     end | ||||||
|     if args.source == nil then args.source = Config.debug and true or false end |     if args.source == nil then args.source = true end | ||||||
| 
 | 
 | ||||||
|     require("avante.api").build(args) |     require("avante.api").build(args) | ||||||
|   end, { |   end, { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Aaron Pham
						Aaron Pham