Skip to content

Latest commit

 

History

History
56 lines (54 loc) · 2.61 KB

RELEASING.md

File metadata and controls

56 lines (54 loc) · 2.61 KB

Releasing

  1. Checkout your fork and make sure it's up-to-date with the upstream
    $ git remote -v
    origin     [email protected]:<your account>/tracee.git (fetch)
    origin     [email protected]:<your account>/tracee.git (push)
    upstream   [email protected]:aquasecurity/tracee.git (fetch)
    upstream   [email protected]:aquasecurity/tracee.git (push)
    git pull -r
    git fetch upstream
    git merge upstream/main
    git push
    
  2. Prepare release by creating the PR with the following changes
    1. Update the libbpfgo module
    2. Update the types module
    3. Update the container image tag in the following files
      1. deploy/kubernetes/kustomize/base/tracee.yaml
      2. cd deploy/kubernetes/ && ./update-static.sh to generate all static files with the proper tag
    4. Update home, version and appVersion properties in deploy/helm/tracee/Chart.yaml - example
    5. Create a PR with the tags bump
  3. Run tests and checks
    1. Check that there are no verifier issues when choosing all events in tracee-ebpf (using --filter e='*')
    2. Check both CO-RE and non CO-RE builds
    3. Run all unit, integration, and e2e tests
    4. Sanity checks for different special features
      1. capture artifacts (files, memory, net, etc...)
      2. table/json/gob printers output
      3. tracee-ebpf with various filters
    5. Check that docker images build correctly
  4. Run the above tests/checks for three different kernel versions include old kernels (4.18/4.19) and new ones (5.10+)
  5. Review and merge the PR (make sure all tests are passing)
  6. Update your fork again
    git pull -r
    git fetch upstream
    git merge upstream/main
    git push
    
  7. Create an annotated git tag and push it to the upstream. This will trigger the .github/workflows/release.yaml workflow
    git tag -v0.8.1 -m 'Release v0.8.1'
    git push upstream v0.8.1
    
  8. Verify that the release workflow has built and published the following artifacts
    1. Tracee binaries (tracee-ebpf, tracee-rules, signatures) in the form of a tar archive tracee.<VERSION>.tar.gz
    2. Source code zip and tar files
    3. Docker images pushed to the aquasec/tracee repository (docker.io/aquasec/tracee:<VERSION> and docker.io/aquasec/tracee:full-<VERSION>)
  9. Publish the Helm chart by manually triggering the .github/workflows/publish-helm.yaml workflow