-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add VHDL release packaging #45
Comments
Currently, it is not straighforward to publish releases assets/artifacts from multiple GitHub Actions jobs (there is not official releaser as in other services). However, I believe that Rust has built-in cross-compilation (as golang), doesn't it? If so, implementing the release should be easy. Regarding the VSCode extension, ghdl's ls and docker can be used as an example to build and distribute a VSIX file. About docker images. On the one hand, the VSIX can be distributed in it, to allow users to attach to the container with VSCode's 'Remote - Containers' extension. On the other hand, the registry to be used needs to be discussed. GitHub Package Registry is built-in, and no separate credentials need to be managed, but it is not public: a GitHub token is required to access the images. hub.docker.com is public: anyone can |
I started looking at this in March when I was looking to get my team using Rust HDL with VSCode on our Xilinx FPGA projects on Windows. Then I had a baby and everything got shelved! I resurected my fork and CI build last night and this morning - take a look: Currently the Windows build fail (new issue for that coming), but the build from before I merged the last eight month's changed (build 13) worked, so I think the cross-compilation configuration is good. P.S. This is my first look at Rust, so I may be doing it wrong! |
I guess the best way would be to add a bash script or two that are called in the Travis YAML, rather than adding lots to the YAML Happy to have my fork used as a playground for CI stuff, I can add other owners if someone else picks up the work adding the libraries or pushing releases to GitHub. I'm not going to be able to do much more for a few weeks. |
@Xcodo good that you are already on it. Congratulation to your baby! |
I now have the CI on my fork producing build artifacts. You can see the latest build here for this branch. Two things that I wanted to check your prefered approach @kraigher. Artifact namingCurrently the artifacts are named after the Rust target architectures. Folder layoutCurrently the folder layout isn't as above. Firstly the top level folder in the repo is
Release tag formatNext I'll be adding the release process for tags. What format of tag do you want to use (Semver?). Do you want to just set-up the release so that a changelog can be added manually? Or we could immediately publish pre-release tags (with suffixes like v1.0.1-alpha) and prepare release builds for manual publishing. |
Nice work!
|
Sorry I misunderstood your gitter comment about the libraries. Fixed now. |
I refactored the configuration loading to make it easy to add loading of installed configuration: See: https://github.com/kraigher/rust_hdl/blob/master/vhdl_parser/src/config.rs#L236-L239 I think we should use the When building for release we can set a Could you do this? It involves a small bit of rust coding. If you do not feel up to it I can do the final steps. |
I think the only thing remaining on this is to actually publish the release to GitHub upon pushing a tag with syntax v*.. |
I think we can maintain a folder for |
Also the vhdl_parser binary needs to be packaged just like vhdl_ls as it also references the standard libraries. |
In summary this still needs to be done;
vhdl_parser
as packagedv.*.*.*
tagrelease_notes/v*.*.*.md
fileThe text was updated successfully, but these errors were encountered: