Commit Graph
18564 Commits
Author SHA1 Message Date
peaklabs-dev aefd2cff89 feat(release): copy the image labels to the release index
- ghcr.io reads the description and the license of an image of several platforms from the annotations of its index, not from the labels of each image
2026-11-02 00:06:48 +01:00
peaklabs-dev 9f21022732 build(image): set every OCI label on the production and development images 2026-11-02 00:06:48 +01:00
peaklabs-dev 2c71920c55 ci(size): comment the size change on pull requests 2026-11-02 00:06:48 +01:00
peaklabs-dev 100d0b0405 feat(scripts): add size.sh to measure image sizes 2026-11-02 00:06:48 +01:00
🏔️ Peak 64b18bc0e4 ci: harden workflows (#12424) 2026-11-02 00:06:44 +01:00
peaklabs-dev 3f7d9891a8 docs: add the harden workflows changes to CHANGELOG.md 2026-11-02 00:06:15 +01:00
peaklabs-dev c38ce3caef ci: clean up the issue and pull request workflows
- name the files and workflows like the release workflows and every step after what it does
- run all workflows without the GitHub Actions cache like the release workflow
2026-11-02 00:06:15 +01:00
peaklabs-dev 79fd5a8f7e ci: fix every finding of jactionlint with the pedantic profile
- pull_request_target and workflow_run stay, these workflows run no code of the pull request
2026-11-02 00:06:15 +01:00
peaklabs-dev 61ce240425 ci: lock the actions in actions.lock 2026-11-02 00:06:15 +01:00
peaklabs-dev 4a6a2d81ff ci: remove the workflow that deletes the untagged images on ghcr.io
- a release pushes its platform images and attestations untagged behind its tagged index, one run would delete them and break every published version
2026-11-02 00:06:15 +01:00
peaklabs-dev ff8c72a8b9 ci: bump GitHub Actions to the latest releases
- actions/stale to v11 and actions/github-script to v9, both ran on Node.js 20, which GitHub Actions removed
2026-11-02 00:06:15 +01:00
Andras Bacsai e78f5fdf19 docs(agents): add the new release process to AGENTS.md (#12381) 2026-11-02 00:06:11 +01:00
peaklabs-dev d08dfcb22f docs: add the AGENTS.md changes to CHANGELOG.md 2026-11-02 00:05:26 +01:00
Andras Bacsai 923f96d752 docs(agents): add the new release process to AGENTS.md
- AGENTS.md forbade the release/v* branches the new release process needs
2026-11-02 00:05:26 +01:00
🏔️ Peak 2a77b57abc chore: remove unused and tmp files (#12360) 2026-11-02 00:05:22 +01:00
peaklabs-dev 48097c344b docs: add the removed files to CHANGELOG.md 2026-11-02 00:04:49 +01:00
peaklabs-dev 8d1776bdcf chore: remove Windows support
- Removes coolify-testing-host.yml too, it published the testing host to Docker Hub for docker-compose.windows.yml alone, the development setup builds it locally
2026-11-02 00:04:49 +01:00
peaklabs-dev 90ceb78eda ci: remove unused and temporary workflows 2026-11-02 00:04:49 +01:00
🏔️ Peak 2d8fdcf1c1 feat: add update channels to the instance settings (#12359) 2026-11-02 00:04:46 +01:00
peaklabs-dev 07f95ff081 docs: add the new release channel settings to CHANGELOG.md 2026-11-02 00:04:26 +01:00
peaklabs-dev a608a37d8b feat: add update settings to the instance settings
- Adds the channels stable, preview, nightly and custom
- Preview and nightly read /coolify/release.json on the CDN and take the newest version of their channel and the more stable ones, nightly gets a new build of next or the release branch twice a day
- Custom installs any image tag of ghcr.io by hand, such as pr-1234 for the build of pull request 1234
- After a switch to a more stable channel, the instance keeps the updates of the channel it left until the stable release of its version is out
- The local versions.json moves to storage/app and is replaced in one step, a channel change replaces it without the version of the old channel
2026-11-02 00:04:26 +01:00
🏔️ Peak 3c00d5c429 build: move the helper image to coollabsio/coolify-helper (#12358) 2026-11-02 00:04:22 +01:00
peaklabs-dev 782fb5d6bc docs: add the split Coolify helper changes to CHANGELOG.md 2026-11-02 00:03:45 +01:00
peaklabs-dev 06ad71439c build: move the helper image to coollabsio/coolify-helper
- Docker Compose builds the development helper from the main branch of that repository, scripts/dev-helper from there or from a local checkout
- Remove buildHelperImage from the settings, nothing calls it since its button was removed
2026-11-02 00:03:45 +01:00
🏔️ Peak babd21d51c feat: add new release process (#12357) 2026-11-02 00:03:41 +01:00
peaklabs-dev 8e200cc85d docs: add the new release process changes to CHANGELOG.md 2026-11-01 23:10:53 +01:00
peaklabs-dev 766a3b8fcb fix(release): preselect a minor for feat(release) changes
- only the commits that bump the Coolify version stay ignored, so a feat change to the release process asks for a minor
2026-11-01 19:37:43 +01:00
peaklabs-dev 9d1faa568e fix(release): version a pull request like a nightly of its base branch
- a pull request into next took the preview version in release.json, which still names 4.6.0-beta.1 once 4.6.0 is released, so its image sorted before 4.6.0
2026-11-01 19:37:43 +01:00
peaklabs-dev 7d1970a8c7 ci: build pull requests from branches that release
- a push that changes release.json stays unbuilt, the release workflow builds it
2026-11-01 19:37:42 +01:00
peaklabs-dev 4c78b72e9b ci: merge forward only after a release
- next gets one merge per release, named after its tag, and no merge of main commits that are not released yet
2026-11-01 19:37:42 +01:00
peaklabs-dev 0922ebe019 ci: name every step and job after what it does 2026-11-01 19:37:42 +01:00
peaklabs-dev 5f48d2fc54 ci: simplify the PR description of a conflicting merge 2026-11-01 19:37:41 +01:00
peaklabs-dev fc01324da5 ci(release): plan the moving tags in a step of their own 2026-11-01 19:37:41 +01:00
peaklabs-dev 2956929817 refactor(release): rename version.sh to plan-version.sh 2026-11-01 19:37:41 +01:00
peaklabs-dev e30cdd8325 refactor(release): put a v in front of the upstream version in tags
- An upstream line is tagged v<upstream>-v<version> in git instead of <upstream>-v<version>
- Coolify has no upstream lines, its git tags stay v<version>, and the v is stripped from the Docker image tags
2026-11-01 19:37:40 +01:00
peaklabs-dev a9044e87fc ci(build): skip pull requests from branches that release 2026-11-01 19:37:40 +01:00
peaklabs-dev 852fc041f3 ci: build main twice a day for testing
- Moves the main tag on ghcr.io when main changed since the last build, versioned after the stable version like 4.5.0.20261028.1
- Pushes no version tag, so the clean manifests workflow deletes the build it replaces
- version.sh --main picks the version from MAIN_VERSION and MAIN_REVISION, the labels of the build main points at
2026-11-01 19:37:40 +01:00
peaklabs-dev 161f4459a6 feat(release): let the image set the Coolify version
- The upgrade script removes COOLIFY_VERSION from .env, so a tag such as nightly or pr-1234 is never taken for the version
- install.sh still takes a version such as 4.6.0-beta.1, LATEST_IMAGE in .env picks the image and the image carries its version
2026-11-01 19:37:39 +01:00
peaklabs-dev e0fb2b3897 ci(release): build and release a nightly twice a day
- Remove other/nightly, the nightly channel uses the production files, so there are no longer two copies to keep in sync
- sync-cdn.sh --nightly syncs the files of the commit the nightly is built from to /coolify/nightly on the CDN, with the nightly version in its versions.json and in /coolify/release.json, and pushes them straight to main of coollabs-cdn
- version.sh picks the branch the nightly comes from, the release branch of the next version after the newest stable one or next, and names the version <preview>.<YYYYMMDD>.<N>
- The image is labeled with its version and commit, the nightly workflow reads both from the image nightly points at to count up N and to skip a run without a new commit
2026-11-01 19:37:39 +01:00
peaklabs-dev 2615559b5e ci: publish an image for every pull request
- version.sh --build appends the -pr.<number> suffix
2026-11-01 19:37:39 +01:00
peaklabs-dev 49590cf959 docs: rewrite RELEASE.md for the new release process 2026-11-01 19:37:36 +01:00
peaklabs-dev 02c370d34b ci: use the new release process
- build.yaml and release.yaml replace the main, next, rc, release and hotfix workflows
2026-11-01 15:16:40 +01:00
peaklabs-dev 8878ea0dcd ci: merge main and release branches forward
- Replaces sync-main-to-next, which merged main into next every 10 minutes
2026-11-01 15:16:01 +01:00
peaklabs-dev f1ab6069be feat(release): add release.sh to bump the Coolify version
- Asks for the stage of a prerelease and offers the versions the branch allows, the bump the commits need is preselected
- Sets the version in release.json, dates CHANGELOG.md for a stable release, commits and pushes
- undo-release.sh resets the release commit while it is not pushed
2026-11-01 15:15:54 +01:00
peaklabs-dev 8fac6ecf80 feat(release): add version.sh to decide releases and tags 2026-11-01 15:15:45 +01:00
peaklabs-dev 911e68ab27 feat(release): add release.json and upstream.json
- config/constants.php reads the Coolify and helper versions from them
- The image and sync-cdn.sh write versions.json from upstream.json, install.sh reads it by key
2026-11-01 15:15:33 +01:00
peaklabs-dev 7560d0745d feat(release): add sync-cdn.sh to sync a release to the CDN
- Replaces php artisan sync:cdn and its sync:cdn task in scripts/run
- --purge clears the Cloudflare cache sooner than the 10 minutes it keeps a file, with the token and zone from the environment or .env
2026-11-01 15:13:43 +01:00
peaklabs-dev 42382d8a4c docs: write CHANGELOG.md by hand instead of with git-cliff
- git-cliff did not work properly with the style of our commit messages, and the CHANGELOG.md it wrote did not fit our style
2026-11-01 15:10:56 +01:00
peaklabs-dev 8cd0dcb4fc chore: merge main into next 2026-10-30 23:41:32 +01:00
🏔️ Peak 751ecb91c5 ci: add a workflow to cleanup unused manifests (#12362) 2026-10-30 23:19:46 +01:00