{"id":18859818,"url":"https://github.com/mybb/mybb-build","last_synced_at":"2025-10-12T22:50:43.732Z","repository":{"id":36113167,"uuid":"40415295","full_name":"mybb/mybb-build","owner":"mybb","description":"The MyBB package build script.","archived":false,"fork":false,"pushed_at":"2022-11-21T18:16:07.000Z","size":158,"stargazers_count":2,"open_issues_count":5,"forks_count":3,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-10-30T00:54:45.711Z","etag":null,"topics":["docker","phing","php"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mybb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-08-08T20:15:21.000Z","updated_at":"2021-10-20T13:01:54.000Z","dependencies_parsed_at":"2023-01-16T13:41:00.171Z","dependency_job_id":null,"html_url":"https://github.com/mybb/mybb-build","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybb%2Fmybb-build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybb%2Fmybb-build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybb%2Fmybb-build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mybb%2Fmybb-build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mybb","download_url":"https://codeload.github.com/mybb/mybb-build/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248409196,"owners_count":21098764,"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":["docker","phing","php"],"created_at":"2024-11-08T04:19:19.165Z","updated_at":"2025-10-12T22:50:38.695Z","avatar_url":"https://github.com/mybb.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mybb-build\nThe MyBB package build script. **Requires [Docker](https://www.docker.com/).**\n\nA Docker image [is built](https://github.com/mybb/mybb-build/blob/master/Dockerfile) with tools needed to run the [Phing](https://www.phing.info/) build [script](https://github.com/mybb/mybb-build/blob/master/build.xml).\n\n#### Directory Structure\n- `input/source/` - directory containing development source files (e.g. a git repository),\n- `input/previous-source/` - directory containing source files of the previous release,\n- `input/patches/` - directory containing git patch/diff files to be applied,\n- `input/package-addendum/` - additional files attached to the release package,\n- `input/build.properties` - variables specific to the target release.\n- `secrets/`, `secrets.env` - runtime keys and secrets used to fetch additional files\n\n## Building Packages\n\n**It is recommended to run the tools with at least 2048 MB of memory available to PHP and external tools.**\n\n1. #### Clone the Builder\n   Clone/download the repository. Make sure old files in `input/` are removed.\n\n2. #### Prepare Docker Image\n   Build the Docker image in the cloned directory:\n\n   ```\n   $ docker-compose build\n   ```\n\n3. #### Prepare Input Files\n   For reproducing packages, use the provided `input/` content.\n\n   For building from scratch:\n   - Adjust `input/build.properties` values.\n   - If applicable, place additional files that can be fetched automatically from a data repository at branch specified in `input/build.properties`:\n\n     1. Create a `secrets.env` file in the main directory with the data repository URL variable:\n\n        ```\n        INPUT_FILES_REPOSITORY=git@github.com:mybb/additional-input-files.git\n        ```\n\n     2. Create a Deploy key and add/ask to add it to the data repository and place the private key file (`id_ed25519`, `id_rsa`, etc.) in `secrets/`. Files within this directory will be copied into the container and configured as a SSH key to use when pulling data in the `remote-data` task.\n\n4. #### Build Packages\n   Run the built `phing` service and execute:\n   - the `dist-set` task to build the release package only:\n\n     ```\n     $ docker-compose run phing dist-set\n     ```\n\n   - the `full` task to build the release and update packages:\n\n     ```\n     $ docker-compose run phing full\n     ```\n\nIf you believe you found discrepancies when reproducing packages, [contact the MyBB security team](https://mybb.com/get-involved/security/).\n\n## Build Environment\n\nThe built `phing` service, with volumes `input/` and `output/` mounted to `/home/user/`, passes subsequent `docker-compose run` arguments to `phing` (the PHP build script).\n\nDuring Phing execution the files operated on are located in the `build/` directory, and once all tasks are completed are copied to `output/` (outside of the Docker container).\n\n#### VirtualBox Shared Folders on Windows hosts\nOn Windows-based hosts it may be necessary to add the directory in the Docker Machine's **Settings → Shared Folders** (e.g. `d:\\mybb-build` named `d/mybb-build`) and manually mount the VirtualBox Shared Folders filesystem (`vboxsf`) to the `default` machine:\n```\n$ docker-machine ssh default 'sudo mount -t vboxsf d/mybb-build //d/mybb-build'\n$ docker-machine restart\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmybb%2Fmybb-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmybb%2Fmybb-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmybb%2Fmybb-build/lists"}