Commit Graph

532 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
38b04d92bd fix: install netcat-traditional in 24.04 image 2024-10-20 23:58:32 -04:00
Jose Diaz-Gonzalez
83960e51a2 Merge pull request #7280 from dokku/merge-upstream-image-check
Merge changes from digitialocean's image-check script
2024-10-19 04:02:20 -04:00
Jose Diaz-Gonzalez
cb0b47bcd4 chore: merge changes from digitialocean's image-check script
This includes changes up to May 2, 2024 from this link: https://github.com/digitalocean/marketplace-partners/commits/master/scripts/99-img-check.sh
2024-10-19 00:57:12 -04:00
Jose Diaz-Gonzalez
cdb188d7c8 fix: allow exit code 2 when waiting for cloud-init to complete
A change in cloud-init and/or the Ubuntu image provided by Digitalocean causes builds to fail due to cloud-init status exiting 2. The error is ignorable.

See digitalocean/marketplace-partners#186 for more details.
2024-10-19 00:55:41 -04:00
Jose Diaz-Gonzalez
355c98aa2a feat: release Dokku on supported versions of Debian and Raspbian
The policy has always been to only release for supported versions of operating systems, so this change aligns what we release for and how Dokku may be installed.

Folks running unmaintained operating systems should upgrade, as the packages are never guaranteed to exist in the Dokku apt repository.
2024-09-29 03:29:37 -04:00
Jose Diaz-Gonzalez
c8982fb2ab fix: revert to building Dokku on Ubunut 20.04 Focal to hotfix glibc issues
An upcoming fix will revert this and also test that the packages install on all versions of Ubuntu.
2024-09-23 04:51:25 -04:00
Jose Diaz-Gonzalez
3355f16a30 Merge pull request #7163 from dokku/0.35-release
Release 0.35.0
2024-09-23 01:04:53 -04:00
Jose Diaz-Gonzalez
087f0e35a0 fix: ensure dependencies for sshcommand are available for the build process 2024-09-21 23:04:39 -04:00
Jose Diaz-Gonzalez
4958768ba7 feat: upgrade builder docker image to Ubuntu Noble 2024-09-21 22:25:29 -04:00
Jose Diaz-Gonzalez
fb335107f6 feat: upgrade digitalocean image to Ubuntu Noble 2024-09-21 20:45:48 -04:00
Jose Diaz-Gonzalez
9110e2c365 chore: use python3 instead of python 2024-09-21 17:20:20 -04:00
Jose Diaz-Gonzalez
e2978233bb feat: upgrade herokuish from 0.9.2 to 0.10.1 2024-09-21 17:18:32 -04:00
Pascal
02553a7caa fix: only replace versions with v prefix, to prevent svg modifications 2024-09-01 13:57:49 +02:00
Jose Diaz-Gonzalez
ab802cb4dd feat: ensure Ubuntu Noble is properly supported by the Dokku release process
Also update doc references to use 24.04 in examples where possible.
2024-08-25 23:31:32 -04:00
Jose Diaz-Gonzalez
a0db4078ef chore: update dependencies 2024-06-29 01:36:32 -04:00
Jose Diaz-Gonzalez
aa71a6e860 tests: update all dependencies in the dokku ecosystem
This pulls all the latest automatic releases for us, ensuring our CI runs against what folks will end up installing.
2024-05-19 00:05:14 -04:00
Jose Diaz-Gonzalez
8245f70db1 feat: update herokuish requirement to better support readonly containers
Refs #6611
2024-04-01 16:30:47 -04:00
Jose Diaz-Gonzalez
d5d2826773 chore: update herokuish 2024-03-28 18:23:41 -04:00
Jose Diaz-Gonzalez
4a1a2a326a feat: migrate away from transitional packages
Several of the packages being installed were actually transitional packages, that is, the package itself is either a complete no-op (since the package is already installed), or else the package only exists to depend on another package of a new name (to support people who are running older operating systems).

For the former, we can drop the dependency entirely, and for the latter we should use the new package name directly.
2024-03-26 17:19:41 -04:00
Jose Diaz-Gonzalez
ff18061987 fix: correctly prepend argument to passed ssh args 2024-03-13 22:43:49 -04:00
Jose Diaz-Gonzalez
e43927a69e tests: add a test for argument handling 2024-03-13 22:21:05 -04:00
Jose Diaz-Gonzalez
5148600ea0 chore: remove systemd reverse dependency by dropping software-properties-common
Through some random machinations, software-properties-common now has a dependency on systemd. This breaks the built docker image as plugins will think systemd is available, so `dokku plugin:install --core` will reference that over sv.

Since we don't manage ppas in Dokku anymore - the only use was for an nginx ppa so we could use a newer Nginx - this can be safely removed.

Also remove some other stuff related to systemd that aren't required anymore.
2024-03-06 10:59:42 -05:00
Jose Diaz-Gonzalez
2bc79032cf Merge pull request #6671 from dokku/update-deps
Update dokku dependencies
2024-03-06 09:46:15 -05:00
Jose Diaz-Gonzalez
d5168088b8 feat: add image version as label to built images 2024-03-06 09:09:20 -05:00
Jose Diaz-Gonzalez
e1575b599f chore: update dokku dependencies 2024-03-06 09:02:15 -05:00
Jose Diaz-Gonzalez
a5a05c2c44 chore: update procfile-util dependency
Also run formatting against the file.
2024-02-11 22:01:20 -05:00
Jose Diaz-Gonzalez
28532a56a9 tests: fix issue where CI cannot install docker-buildx-plugin 2024-02-05 14:59:20 -05:00
Jose Diaz-Gonzalez
0c83356542 refactor: move docs rewrite into mkdocs hooks
This will ensure `mkdocs build` does not rewrite content, making contribution easier.
2024-01-30 06:53:14 -05:00
Jose Diaz-Gonzalez
cf0623407c docs: add support for badge shortcodes in documentation
This will allow us to add little icons to various parts of the docs to denote when something is for a particular scheduler only.
2024-01-29 12:43:38 -05:00
Jose Diaz-Gonzalez
8961a1efd2 fix: correct key in dependency file to fix docker-container-healthchecker installs on local arm64 servers 2023-10-27 23:04:25 -04:00
Jose Diaz-Gonzalez
30b8a25ced feat: upgrade golang to 1.21 2023-10-16 01:10:02 -04:00
Jose Diaz-Gonzalez
f33d7f129b feat: warn when incorrect interface/port in use for web processes
Users that misconfigure their process's listening interface or port will now see an additional healthcheck warning for web deploys. While only a single port is checked, this ensures that users at least have some context as to why their app isn't responding as expected.

Closes #4798
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
76a979e139 chore: remove ARM support
Building/testing for ARM does not happen often - the only runtime environment is Raspberry PI, which supports ARM64 - and complicates support for a ton of features. Aside from that, CI runs are much longer for ARM Dokku images, often reaching 15-20 minutes or just timing out completely.

Rather than support an architecture that doesn't have much usage by maintainers and has a lot of maintenance burden, we're removing the platform.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
859b87fadd fix: remove more references to ubuntu bionic 2023-10-15 20:21:44 -04:00
Jose Diaz-Gonzalez
8a15779c8d fix: upgrade docker-container-healthchecker to include exists command 2023-10-15 00:47:07 -04:00
Jose Diaz-Gonzalez
934a6b5cd5 feat: manage Dokku system dependencies in a single file
This will allow us to more quickly update a dependency by adding support so that downstream repos can auto-push updates to the main repo when there is a release.
2023-10-14 03:49:25 -04:00
Jose Diaz-Gonzalez
89109a33b3 fix: correct package for container healthchecker when building digitalocean image 2023-08-19 19:06:42 -04:00
Jose Diaz-Gonzalez
3306f29c11 docs: handle new github admonitions and cleanup write-mkdocs script 2023-08-19 15:43:59 -04:00
Jose Diaz-Gonzalez
00d02121d9 fix: pull 100 results when fetching PRs per milestone 2023-08-13 22:00:39 -04:00
Jose Diaz-Gonzalez
8d25b931dd fix: correctly handle rebase when generating release notes for minor/major releases
With the integration branch where pull requests are merged prior to a release, we require a rebase every so often to ensure there aren't any issues upon merging to master. Unfortunately, this breaks the link between the original PR and the integration PR, thus causing changelog generation to fail as it depended upon those - now removed - merge request commits.

With this change, we introduce usage of milestones in order to track what is getting merged into a release. Milestones are only used for major/minor releases, and all others will fall back to the default git log method.
2023-08-08 23:07:02 -04:00
Jose Diaz-Gonzalez
26e9cc9b8c feat: add support for non-web healthchecks via app.json
This change converts existing CHECKS files into a healthchecks key that is understood by 'docker-container-healthchecker'. This tool supports a number of different types of container healthchecks - command, http, uptime - and can perform healthchecks against non-web processes.

The use of the old CHECKS file is now deprecated, and will be removed in the next minor version. Users can use the 'docker-container-healthchecker' to convert existing CHECKS files to the new format automatically.

Closes #2760
2023-08-06 17:23:13 -04:00
Jose Diaz-Gonzalez
ef25a9b0d8 refactor: standardize on shorthand for redirecting all output to /dev/null
The shorthand is more prevalent in this codebase, and is something that bash supports, so we should just use the same thing everywhere.

Note that we do not use shorthand redirect in Makefile as shell parsing is a bit different in Make and the shorthand redirect doesn't seem to be properly supported, causing CI errors.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
dac566e75e refactor: move all shellcheck disable definitions to .shellcheckrc file
This makes standard use of shellcheck work without needing to provide extra configuration anywhere.

Also remove use of inline 'shellcheck disable' calls that are already defined in the .shellcheckrc and don't need to be set inline.
2023-08-05 10:58:57 -04:00
Ré Schopmeijer
a537714375 Update to debian bookworm 2023-07-24 16:42:23 +02:00
Jose Diaz-Gonzalez
e7652fbae3 tests: split out image building into it's own job to speed up ci
Previously, we would build the dokku package and install it in the same step. While the package building was relatively quick, because of our multi-architecture support, we would end up spending a large amount of time waiting for arm/arm64 images to build.

This change splits those builds out, allowing unit tests to start much quicker and each platform to be tested in parallel.
2023-06-17 00:31:20 -04:00
Jose Diaz-Gonzalez
aa323f7439 docs: always overwrite bootstrap install file
Closes #5766
2023-05-13 14:24:04 -04:00
Jose Diaz-Gonzalez
ea89fb5810 feat: ignore release branches in changelog output
This change allows us to have an integration branch for each release that contains tested changes for each minor. Rather than have to block merging until a minor is ready for release - and subsequently have to deal with constant rebase issues - we will now have an integration branch per-release. This will be the target for minor-related changes - mostly new features, but also refactors and bc-breaks - while the trunk branch will stay safe for merging patch changes.

Note that we'll still need to rebase the integration branch every so often, but at least this allows us to avoid many long-running MRs.
2023-03-19 23:42:22 -04:00
Jose Diaz-Gonzalez
4b8ccfbf34 fix: implement checkTMP 2023-02-16 16:22:32 -05:00
Jose Diaz-Gonzalez
26a536bc9b feat: log the output of the do directory 2023-02-16 16:01:59 -05:00
Jose Diaz-Gonzalez
635f9c1bc5 chore: remove unused function 2023-02-16 15:49:37 -05:00