{"id":20632460,"url":"https://github.com/citusdata/packaging","last_synced_at":"2025-03-08T22:38:29.601Z","repository":{"id":37484474,"uuid":"53458964","full_name":"citusdata/packaging","owner":"citusdata","description":"Packaging scripts for Citus","archived":false,"fork":false,"pushed_at":"2025-03-05T09:59:48.000Z","size":2478,"stargazers_count":20,"open_issues_count":46,"forks_count":11,"subscribers_count":36,"default_branch":"develop","last_synced_at":"2025-03-05T10:29:48.527Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/citusdata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-03-09T01:43:05.000Z","updated_at":"2025-01-29T12:31:02.000Z","dependencies_parsed_at":"2024-07-22T09:13:14.799Z","dependency_job_id":"783b8272-1b9e-4043-a040-cce382bf24ed","html_url":"https://github.com/citusdata/packaging","commit_stats":null,"previous_names":[],"tags_count":69,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citusdata%2Fpackaging","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citusdata%2Fpackaging/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citusdata%2Fpackaging/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/citusdata%2Fpackaging/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/citusdata","download_url":"https://codeload.github.com/citusdata/packaging/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242619100,"owners_count":20159001,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T14:16:17.125Z","updated_at":"2025-03-08T22:38:29.565Z","avatar_url":"https://github.com/citusdata.png","language":"Dockerfile","readme":"# Citus Packaging\n\nA set of scripts that generate a set of Dockerfiles that generate a set of Docker images which generate PostgreSQL 9.6/10/11-compatible builds of Citus projects on many platforms.\n\n## Prerequisites\n\nBuilding on all these platforms brings some complexity, so be sure you’ve got the prerequisites set up. Packages build using `docker`, so you’ll need that. In addition, you’ll need to generate a GitHub personal access token to allow scripts to call  GitHub APIs on your behalf.\n\n### Docker\n\nYou need `docker` installed and configured. On Linux, just install Docker.\n\n#### OS X\n\nIf you’re on OS X, this dependency presently means you also need `docker-machine` with a running `default` machine. This means you’ll also want VirtualBox to drive that `default` machine. Full details would take too long to explain, but if you’re already running Homebrew, just do:\n\n  1. `brew install docker docker-machine`\n  2. Install VirtualBox from [here](https://www.virtualbox.org/wiki/Downloads)\n  3. `docker-machine create --driver virtualbox default`\n\nAfter this, `docker` commands will work so long as you’ve run `eval \"$(docker-machine env default)\"` in the window you’re using. The [Docker Mac beta](https://blog.docker.com/2016/03/docker-for-mac-windows-beta/) will simplify this _greatly_ (no explicit need for `docker-machine`, no need for VirtualBox).\n\n### GitHub Authentication\n\nEnsure you’re logged in to GitHub, then visit [this page](https://github.com/settings/tokens) and press the “Generate new token” button. Name the token something like _packaging_, then check the top-level _repo_ and _user_ buttons, then press the “Generate token” button.\n\n**Do not leave the next page until you’ve copied your new token**. Add a line like the following to your `.bash_profile` or `.zshrc` to ensure shells have access to your new token:\n\n    export GITHUB_TOKEN=\u003cyour token here\u003e\n\n## Usage\n\nUnless you have a reason to change the Dockerfiles, just use the images hosted on Docker Hub. They’ll be pulled automatically as they’re needed.\n\n### Building Packages\n\nTo build all packages, run the `build_packages` script from the project root. Output will be put in OS/release-specific subdirectories of a `packages` directory in the project root. `build_packages` expects two arguments: a project name and build type.\n\nThe project name must be one of: `citus`, `enterprise`, or `rebalancer`\n\nThe build type can be `release`, `nightly`, or any valid git reference. `release` builds the latest release tag (which must be signed by a key known to GitHub). `nightly` builds the latest commit from the “main” branch for the specified project. Any other value is interpreted by what it means to git… tags, branches, and commit identifiers are all accepted.\n\nBy default, `build_packages` builds on _all_ supported operating systems. Edit `os-list.csv` if you wish to build for fewer.\n\n### Updating Dockerfiles\n\n`update_dockerfiles` generates a new set of Dockerfiles. This repository has automated builds configured, so if you need to change the Docker images, run `update_dockerfiles`, commit the resulting Dockerfile changes, and push.\n\n### Updating Docker Images\n\nBefore building the packages yourself you should run `./pull_images`, so that you\nget the current upstream layers. This can save some time when building the\npackages.\n`update_images` will build Docker images for all operating systems specified in `os-list.csv` using the files in the `dockerfiles` directory. This is handy for testing changes to our Docker images.\n\n### Pushing images\n\nDo not push docker images yourself. This should be done by merging your PR into\nthe `develop` branch instead.\n\n## License\n\nThe following license information (and associated [license](LICENSE) file) apply _only to the files within **this** repository_. Please consult the repositories for the individual projects for information regarding their licensing.\n\nCopyright © 2016–2017 Citus Data, Inc.\n\nLicensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitusdata%2Fpackaging","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcitusdata%2Fpackaging","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcitusdata%2Fpackaging/lists"}