wemixarchive / go-wemix

Go implementation of the Wemix project.
https://www.wemix.com/
GNU Lesser General Public License v3.0
28 stars 25 forks source link

Add release ci #102

Closed jed-wemade closed 3 months ago

jed-wemade commented 3 months ago

This PR makes release by using Github Actions whenever tag starting with w pushed. The generated release is draft so it is invisible by default. It can be published after completing description manually. As previous releases, the generated release contain source code (zip, tar.gz) together with gwemix binaries both for rocksdb (legacy) and leveldb versions.

egonspace commented 3 months ago

105 , #106 related.

And I suggest that the binary file name be next:

gwemix-v0.10.8-53273fcb3729c477c62cd0215d4c90dcd3cb5d83-linux-amd64-leveldb.tar.gz
gwemix-v0.10.8-53273fcb3729c477c62cd0215d4c90dcd3cb5d83-linux-amd64-rocksdb.tar.gz
jed-wemade commented 3 months ago

Executing x86_64-linux-gnu-readelf -dV bin/gwemix checks list of libraries which the binary file linked.

gwemix-v0.10.7-linux-rocksdb.tar.gz:

  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libsnappy.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [liblz4.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libzstd.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libjemalloc.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libresolv.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

gwemix-linux-rocksdb built from Github Actions:

 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libsnappy.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [liblz4.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libzstd.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libjemalloc.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

gwemix-v0.10.7-linux-leveldb.tar.gz:

  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libresolv.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

gwemix-linux-leveldb built from Github Actions:

  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

v0.10.7 has additional libarary libresolv.so.2 compared from GA versions. It caused by go versions using different low-level system interfaces. (go1.21.5 for v0.10.7, and go1.19.13 for GA versions)

jed-wemade commented 3 months ago

@egonspace I changed the filename as you mentioned:

gwemix-v0.10.8-53273fcb3729c477c62cd0215d4c90dcd3cb5d83-linux-amd64-leveldb.tar.gz
gwemix-v0.10.8-53273fcb3729c477c62cd0215d4c90dcd3cb5d83-linux-amd64-rocksdb.tar.gz

Also this PR now resolves issues. (#105, #106)

egonspace commented 3 months ago

@egonspace I changed the filename as you mentioned:

gwemix-v0.10.8-53273fcb3729c477c62cd0215d4c90dcd3cb5d83-linux-amd64-leveldb.tar.gz
gwemix-v0.10.8-53273fcb3729c477c62cd0215d4c90dcd3cb5d83-linux-amd64-rocksdb.tar.gz

Also this PR now resolves issues. (#105, #106)

It doesn't seem to include the version(v0.10.8). Am I right?

jed-wemade commented 3 months ago

It doesn't seem to include the version(v0.10.8). Am I right?

~@egonspace w0.10.8 does not have modified release.yml on this PR so the change is applied to the versions tagged for the next releases.~

Oh, I see. Currently, the ci file contains _refname but it should be gwemix version.