Commit Graph

57 Commits (03a2de961dcfc630ff1daac96061f537c8c4260a)

Author SHA1 Message Date
nimbleghost 11f8984127 Add a way to use Docker for building everything
I’d like to test #751 on my own instance, but installing all the build
dependencies on my server isn’t ideal - having this script in the repo
would make it possible to simply point my compose file to the git repo
and have it build the Linux binary itself.

Note that it uses a somewhat “inefficient” builder step, i.e. not
combining steps together to reduce layers, as it uses a multi-stage
build to have a lean final image. This makes it easier to re-build if
something needs to change, as the cache is used more optimally.

For example, if only some go files change, most of the build is already
cached and only the go step gets re-run.

The more “efficient” builder step would look like this, but would have
to build the docs, web app and go CLI for any change in any file:

```Dockerfile
FROM golang:1.19-bullseye as builder

RUN apt-get update && \
    curl -fsSL https://deb.nodesource.com/setup_18.x | bash && \
    apt-get install -y \
    build-essential \
    nodejs \
    python3-pip

WORKDIR /app
ADD . .

RUN make web docs cli-linux-server
```
2023-05-26 22:22:21 +02:00
nimbleghost 232c889ce3 Use `apt-get` in makefile
`apt` is for interactive shell usage, using it in a script results in a
warning as the CLI interface is not stable

> WARNING: apt does not have a stable CLI interface.
> Use with caution in scripts.
2023-05-26 21:14:59 +02:00
nimbleghost e21327cec5 Add vite
Changes according to Vite defaults:

- Move index.html to root
- Replace `%PUBLIC_URL%` with plain `/`
2023-05-24 22:16:10 +02:00
nimbleghost d7eb1206fe Add eslint with eslint-config-airbnb 2023-05-24 12:51:52 +02:00
nimbleghost 206ea312bf Add prettier 2023-05-23 21:12:25 +02:00
binwiederhier 29c9551548 Profiling support 2023-03-28 14:41:16 -04:00
binwiederhier 8aaec62d7f Remove `update` step from release make target 2023-03-18 13:22:58 -04:00
binwiederhier 29ddd2a4b5 Once more, with feeling 2023-03-17 22:27:10 -04:00
binwiederhier dc77efc31a Fix linting 2023-02-09 17:21:12 -05:00
binwiederhier 000bf27c87 Speed up tests, hopefully fix races 2023-01-28 09:03:14 -05:00
binwiederhier 471775ae49 Remove upx references 2023-01-24 14:57:50 -05:00
cyqsimon a498e43d61
Move `COMMIT` into a variable so it could be overridden if desired 2022-08-02 03:40:33 +08:00
Philipp Heckel cf0f002bfa Add version number to ntfy serve output 2022-06-12 11:54:58 -04:00
Philipp Heckel f542afb37f Hack to make sure docs are built with the right Python version 2022-06-06 14:38:28 -04:00
Philipp Heckel 670ea67052 Redo CI pipelines, build from GitHub Actions, closes #36 2022-05-31 11:01:36 -04:00
Philipp Heckel 5e510a19a1 Update deps 2022-05-26 16:50:36 -04:00
Philipp Heckel 4c5d40e4c9 Fix make targets to actually work on macOS 2022-05-21 10:08:33 -04:00
Philipp Heckel c33065151e Switch to build tags "noserver" instead of using _linux suffix 2022-05-21 09:46:49 -04:00
Philipp Heckel 42c3c6eb29 Re-add simple target to be able to build on macOS 2022-05-21 09:34:53 -04:00
oddlama 6c2aa0c3c2
Force MAKEFLAGS to --jobs=1 to ensure dependencies are executed
sequentially and in-order.

If this is not set, make -j2 web or higher job counts will
cause the build to fail as some dependencies are not expressed
directly on the dependent tasks but as a dependency list
on a parent task.

Alternatively one could add the required dependencies for each
task separately, but that would factually sequentiallize the
build, so there's no real difference except this approach
fixes all dependency chains globally.
2022-05-16 15:41:23 +02:00
Philipp Heckel 28f211bfef Update deps 2022-05-13 15:11:03 -04:00
Philipp Heckel fe96110e6b macOS universal binaries, install instructions for Windows and macOS 2022-05-10 22:10:38 -04:00
Philipp Heckel 5a8818ac92 "make update" target 2022-05-10 11:50:48 -04:00
Philipp Heckel 6d601ad141 macOS 2022-05-09 21:25:00 -04:00
Philipp Heckel 19d2a46457 Build for Windows 2022-05-09 19:46:32 -04:00
Philipp Heckel 27588b8a48 Makefile for ARMv6 2022-04-24 21:41:40 -04:00
Philipp Heckel 3633503549 Bump version, update deps 2022-04-24 20:32:17 -04:00
Philipp Heckel 712c292183 More docs 2022-04-20 16:31:25 -04:00
Philipp Heckel e22ec2c505 ARMv6 2022-04-06 19:45:30 -04:00
Philipp Heckel 2edb722c0e Refinement 2022-03-18 17:18:52 -04:00
Philipp Heckel c2036975fa Lots of development instructions, Makefile things 2022-03-18 13:53:52 -04:00
Philipp Heckel 5b10f51af1 WIP: Develop docs 2022-03-16 22:33:23 -04:00
Philipp Heckel dc03c13642 Update docs for UnifiedPush 2.0 spec 2022-03-13 16:06:40 -04:00
Philipp Heckel ccb9da9333 Add error boundary 2022-03-10 15:37:50 -05:00
Philipp Heckel 840cb5b182 Add server-generated /config.js; add error boundary 2022-03-09 23:28:55 -05:00
Philipp Heckel 2743c96694 Re-embed fonts 2022-03-05 21:15:40 -05:00
Philipp Heckel e27d5719f0 Embed new web UI into server 2022-03-05 20:24:10 -05:00
Philipp Heckel 89957e7058 Docblocking 2022-01-25 22:30:53 -05:00
Philipp Heckel 96ad49f675 Make `build-simple` work again 2021-12-30 01:15:02 +01:00
Philipp Heckel fe5734d9f0 Tests for cliet package 2021-12-22 23:20:43 +01:00
Philipp Heckel fa9d6444f5 Move config files and folders 2021-12-18 22:02:36 -05:00
Philipp Heckel 534b93e142 Webhooks (#55), more tests (#35) and python examples (#50) 2021-12-15 16:12:40 -05:00
Philipp Heckel 9a56c24dbe Make ntfy run as ntfy user/group, closes #38 2021-12-08 22:08:44 -05:00
Philipp Heckel 40fbce07db Test for simple pub sub 2021-12-07 15:39:42 -05:00
Philipp Heckel 94b70fbcb9 First server tests 2021-12-07 14:06:33 -05:00
Philipp Heckel ab3cc47e27 Move python deps to requirements.txt 2021-12-07 13:37:01 -05:00
Philipp Heckel fd71589f60 More test; begin test infra stuff 2021-12-07 12:23:42 -05:00
Philipp Heckel da8f90d388 gofmt 2021-12-07 10:38:58 -05:00
Philipp Heckel d0d1f9e5c7 Docs for "tuning for scale" 2021-12-06 16:43:06 -05:00
Philipp Heckel 4cc53633d8 Remove check tags thing 2021-12-05 16:31:06 -05:00