Skip to content

Latest commit

 

History

History
35 lines (28 loc) · 1.33 KB

PACKAGING.md

File metadata and controls

35 lines (28 loc) · 1.33 KB

Sonic Packaging

This file contains quick reminders and notes on how to package Sonic.

We consider here the packaging flow of Sonic version 1.0.0, for target architecture x86_64 and distribution debian9:

  1. How to bump Sonic version before a release:

    1. Bump version in Cargo.toml to 1.0.0
    2. Execute cargo update to bump Cargo.lock
    3. Update the CHANGELOG.md file
  2. How to build Sonic for Linux on Debian:

    1. apt-get install -y git build-essential clang
    2. curl https://sh.rustup.rs -sSf | sh (install the stable toolchain)
    3. git clone https://github.com/valeriansaliou/sonic.git
    4. cd sonic/
    5. cargo build --release
  3. How to package built binary and release it on GitHub:

    1. mkdir sonic
    2. mv target/release/sonic sonic/
    3. strip sonic/sonic
    4. cp -r config.cfg sonic/
    5. tar -czvf v1.0.0-x86_64-debian9.tar.gz sonic
    6. rm -r sonic/
    7. Publish the archive on the releases page on GitHub
  4. How to update Crates:

    1. Publish package on Crates: cargo publish
  5. How to update Docker:

    1. docker build .
    2. docker tag [DOCKER_IMAGE_ID] valeriansaliou/sonic:v1.0.0 (insert the built image identifier)
    3. docker push valeriansaliou/sonic:v1.0.0