.github
build(deps): bump actions/checkout from 5.0.1 to 6.0.2 (#12)
.trunk
disable checks for specific lines
.vscode
chore: [INFRA-234] prepare template for more general usage (#6)
docs
v1.0.0, update documentation, fix test harness, add examples fix bugs with the debian 13 build, change build triggers to include master and main in the example workflow
pkg-example
SERVER-516 - Enable Prebuilt Runner, add support for debian 11
project-example
SERVER-516 - Enable Prebuilt Runner, add support for debian 11
test
SERVER-516 - Enable Prebuilt Runner, add support for debian 11
util
v1.0.0, update documentation, fix test harness, add examples fix bugs with the debian 13 build, change build triggers to include master and main in the example workflow
.actrc
feat: add initial project configuration files
.gitignore
chore: [INFRA-234] prepare template for more general usage (#6)
.prettierrc.yaml
feat: add initial project configuration files
build_container.sh
Use runner with specific tag not latest
build-artifacts-example.yml
v1.0.0, update documentation, fix test harness, add examples fix bugs with the debian 13 build, change build triggers to include master and main in the example workflow
CODE_OF_CONDUCT.md
feat: add initial project configuration files
commitlint.config.mjs
feat: add initial project configuration files
CONTRIBUTING.md
chore: [INFRA-234] prepare template for more general usage (#6)
Dockerfile
SERVER-516 - Enable Prebuilt Runner, add support for debian 11
entrypoint.sh
Force rebuild runner and stop pushing runner to Jfrog (#14)
example-build-package.sh
SERVER-516 - Enable Prebuilt Runner, add support for debian 11
example-test.sh
SERVER-516 - Enable Prebuilt Runner, add support for debian 11
header.sh
v1.0.0, update documentation, fix test harness, add examples fix bugs with the debian 13 build, change build triggers to include master and main in the example workflow
LICENSE
feat: add initial project configuration files
os_version.sh
fix trunk issues
README.md
v1.0.0, update documentation, fix test harness, add examples fix bugs with the debian 13 build, change build triggers to include master and main in the example workflow
SECURITY.md
examples, code and README

Tools Packaging Common

This repository contains common scripts and files for packaging Aerospike Tools

Getting Started

This repo contains shared packaging files. It should be added as a submodule of you project at .github/packaging/common directory. These scripts are used to build docker images for each supported OS distribution.

Scripts in .github/packaging/common should be implemented by each project. These include

  • test/test_execute.bats
    • Test cases that install the package from JFrog and make sure the associated executables are available and execute.
  • build_package.sh
    • This should call the Makefile or associated build script for the project, and calls the Makefile in pkg/ to build the package.
  • install_deps.sh
    • This script should have a function for each distribution that installs the dependencies for the project.

Development Setup

You must have

  • bash >= 4.3
  • docker
  • git
# Clone the repository

cd (your repository)
mkdir -p .github/packaging/project
git submodule add https://github.com/aerospike/tools-packaging-common.git .github/packaging/common
cp -a .github/packaging/common/project-example/* .github/packaging/project/
# edit .github/packaging/project/* to match your project
mkdir pkg
cp .github/packaging/common/pkg-example/Makefile pkg/
# edit pkg/Makefile to match your project


Project Structure

This repository should be setup in your project as follows:
.
├── .github/
│   ├── packaging/common                    # Submodule of this directory
│   ├── packaging/project                   # copy of ./project-example
│   ├── workflows/build-artifacts.yaml      # copy of ./build-artifacts-example.yml configured for your project name
│   └── dependabot.yml                      # Dependabot configuration
└── pkg/Makefile                            # Makefile for building the package

Contributing

Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.

Security

For information on reporting security vulnerabilities, please see SECURITY.md.

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Support

For questions or issues, please:

  • Open an issue on GitHub
  • Check existing documentation
  • Contact the maintainers

Remember to customize this README for your specific project!