Make releases of Kibiter
We want to build ZIP's for each Kibiter version. This could be usefull in order to check new versions or little changes.
Kibana has by default a way to build a tar.gz of the current version that you are, doing:
npm run build
This must create the tars into KIBITER_HOME/target/, one tar for each OS. However, this command generates an error and it's impossible to continue, so we just add this option in order to avoid that error:
npm run build -- --skip-os-packages
Now, tars have been built and are in KIBITER_HOME/target/.
Important: That command don't copy the plugins don't into the plugins/ folder of the tars, so it's needed to add this line into a grunt configurations file (before the tar creation):
- In
KIBITER_HOME/tasks/build/archives.js:
async function archives({ name, buildName, zipPath, tarPath }) {
...
await exec('cp', ['-rf', fromRoot("plugins/"), fromRoot("build/" + buildName + "/.")]); //This line
await exec('tar', tarArguments);
}
I see the first of this releases uploaded to the releases area of this repo. Thanks! Some comments about it:
- There is only a tar.gz for Linux. Is it possible / simple to have installable files for other architectures as well?
- The directory where it unpacks is
kibana-5.6.0-SNAPSHOT-linux-x86_64. Could it be something likekibiter-5.6.0-1-linux-x86_64(assuming that "1" means the first release of Kibiter based on Kibana 5.6.0). That way it will be more clear what yoù´ re installing. - The name of the file now is
kibiter-5.6.0-linux-x86_64.tar.gz. For the same reasons as above, could it bekibiter-5.6.0-1-linux-x86_64.tar.gz?
@jgbarah These are the solutions that I propose:
- This is not a problem, when run
npm run build -- --skip-os-packagesa build of each SO is created. - I can change a few params in grunt archives in order to change the name and add a new tag "version" that starts with 1.
I'm going to build and add the updated releases!
I think this is perfect, thanks!!
I suggest that you write down the process for a release in a file RELEASING.md or something like that, so that everything is clear. But we can use a pull request for that, and close this ticket if you want.
I am rechecking now the full process for 6.3.1 ... it seems to be pretty similar, but the way to create now the release tar balls is:
acs@~/devel/grimoirelab-kibiter-fork-acs (venv) [integration-6.3.1-nobrand] $ node scripts/build --oss --skip-os-packages --release
Stay tuned!
The changes needed to include the plugins in the release file, and to change the name of the release file: https://github.com/acs/grimoirelab-kibiter/commit/551e0db24630c255a3e9d8462289b905331c0b91
For Kibiter 6.8.6 the command has changed a little:
node scripts/build --oss --skip-os-packages --release --all-platforms