Skip to content
This repository has been archived by the owner on Jul 30, 2020. It is now read-only.

Create releases #209

Closed
4 of 5 tasks
MaskRay opened this issue Dec 31, 2017 · 13 comments
Closed
4 of 5 tasks

Create releases #209

MaskRay opened this issue Dec 31, 2017 · 13 comments

Comments

@MaskRay
Copy link
Contributor

MaskRay commented Dec 31, 2017

https://help.github.com/articles/creating-releases/

We may need to make the Emacs/VSCode plugins standalone
#195

@jacobdufault
Copy link
Owner

CI should also auto create a release after we tag a commit.

@jaelsasser
Copy link
Contributor

For the Emacs MELPA release, do we want to auto-build (or provide a function to auto-build) the cquery executable from with Emacs itself? Other packages that bundle external binaries (pdf-tools, rtags, and irony-mode) ship quick-install commands.

@MaskRay
Copy link
Contributor Author

MaskRay commented Dec 31, 2017

I did git filter-branch --force --index-filter 'git rm -r --cached --ignore-unmatch waf vscode-extension.vsix clang_resource_dir foo2.cc catch.hpp vscode-client/typings/vscode.d.ts cquery_diagnostics.log tests/foo2.cc images/demo.png ' --prune-empty --tag-name-filter cat -- --all

Now a git clone ... --single-branch should be much smaller according to git count-objects -vH

Owning to the branch vscode (dedicated for vscode-extension.vsix) and tag (for GitHub Releases), git clone without --single-branch has to download the binary file and wastes some bandwidth for it.

@jaelsasser Do you how the irony recipe work? Some people in the Emacs China forum also suggest making installation simpler? But I can not figure out how irony is installed...

I figured it out. irony provides a command (irony-install-server) to invoke cmake in Emacs to build the server and link it against system libclang. The --use-system-clang and --bundled-clang=5.0.1 choices can not be offered in this way.

@jiegec
Copy link
Contributor

jiegec commented Dec 31, 2017

I think we still prefer user to install cquery somewhere in the disk instead of ~/.emacs.d/elpa/

@MaskRay
Copy link
Contributor Author

MaskRay commented Dec 31, 2017

@jiegec I am thinking how to simplify the current installation procedure.

@jiegec
Copy link
Contributor

jiegec commented Dec 31, 2017

Install cquery by package managers? Prebuilt binaries?

@jaelsasser
Copy link
Contributor

Regardless of what we come up with, I don't think there's a way to auto-compile a binary during a MELPA install. Best we could hope for is something like:

(use-package lsp-cquery
  :ensure t
  :custom
  (cquery-libclang-version 'system)   ;; or "5.0.1", "4.0", etc.
  :config
  (unless cquery-executable-installed
    (cquery-install-server)))         ;; can pick up `cquery-libclang-version' defcustom

@jacobdufault
Copy link
Owner

FWIW I'm planning on bundling prebuilt cquery with the vscode extension.

@prabirshrestha
Copy link

I would also be interested in this. I'm the author of vim-lsp and I have seen that lot of people are having trouble getting clangd and cquery working for their projects. Neovim reddit lately has been filled with c/c++ LSP not working. https://www.reddit.com/r/neovim/. In windows getting compilation working is complicated so having binaries for these would be a huge plus.

Here is the documentation for cquery currently. https://github.com/prabirshrestha/vim-lsp/wiki/Servers-cquery

@MaskRay
Copy link
Contributor Author

MaskRay commented Jan 8, 2018

@jacobdufault It'd be nice to use a separate repo for released binaries. Many tools do not use --single-branch and the vscode branch and some tags (for GitHub Releases) will be pulled by git clone https://github.com/jacobdufault/cquery by default. They have to download unused blobs.

You can compare the repo size between git clone and git clone --single-branch

@jacobdufault
Copy link
Owner

@jacobdufault It'd be nice to use a separate repo for released binaries. Many tools do not use --single-branch and the vscode branch and some tags (for GitHub Releases) will be pulled by git clone https://github.com/jacobdufault/cquery by default. They have to download unused blobs.

I'm planning on deleting the vscode branch entirely and only storing the artifacts in github releases, which should bypass this need.

@MaskRay
Copy link
Contributor Author

MaskRay commented Jan 8, 2018

@jacobdufault It'd be nice to use a separate repo for released binaries. Many tools do not use --single-branch and the vscode branch and some tags (for GitHub Releases) will be pulled by git clone https://github.com/jacobdufault/cquery by default. They have to download unused blobs.

I'm planning on deleting the vscode branch entirely and only storing the artifacts in github releases, which should bypass this need.

github releases create git tags, which is like a branch.

@MaskRay
Copy link
Contributor Author

MaskRay commented Jan 21, 2018

Today I learned github releases supports uploading binary.

@MaskRay MaskRay closed this as completed Jan 21, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants