Makefile: fix subtle logic bug (#228)

Closes #226

Makefile dependencies are backwards, apparently.

Also add staticcheck as a `go tool` dependency.
This commit is contained in:
Xe Iaso 2025-04-06 00:28:08 -04:00 committed by GitHub
parent e58abbe4de
commit 95416dfe82
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 33 additions and 11 deletions

View file

@ -4,7 +4,7 @@ title: Building Anubis without Docker
:::note
These instructions may work, but for right now they are informative for downstream packagers more than they are ready-made instructions for administrators wanting to run Anubis on their servers.
These instructions may work, but for right now they are informative for downstream packagers more than they are ready-made instructions for administrators wanting to run Anubis on their servers. Pre-made binary package support is being tracked in [#156](https://github.com/TecharoHQ/anubis/issues/156).
:::
@ -12,14 +12,21 @@ These instructions may work, but for right now they are informative for downstre
In order to build a production-ready binary of Anubis, you need the following packages in your environment:
- [Go](https://go.dev) - the programming language that Anubis is written in
- [Go](https://go.dev) at least version 1.24 - the programming language that Anubis is written in
- [esbuild](https://esbuild.github.io/) - the JavaScript bundler Anubis uses for its production JS assets
- [Node.JS & NPM](https://nodejs.org/en) - manages some build dependencies
- `gzip` - compresses production JS (part of coreutils)
- `zstd` - compresses production JS
- `brotli` - compresses production JS
## Install dependencies
To upgrade your version of Go without system package manager support, install `golang.org/dl/go1.24.2` (this can be done from any version of Go):
```text
go install golang.org/dl/go1.24.2@latest
go1.24.2 download
```
### Install dependencies
```text
make deps
@ -27,7 +34,7 @@ make deps
This will download Go and NPM dependencies.
## Building static assets
### Building static assets
```text
make assets
@ -35,10 +42,16 @@ make assets
This will build all static assets (CSS, JavaScript) for distribution.
## Building Anubis to the `./var` folder
### Building Anubis to the `./var` folder
```text
make build
```
From this point it is up to you to make sure that `./var/anubis` ends up in the right place. You may want to consult the `./run` folder for useful files such as a systemd unit and `anubis.env.default` file.
## Development dependencies
Optionally, you can install the following dependencies for development:
- [Staticcheck](https://staticcheck.dev/docs/getting-started/) (optional, not required due to [`go tool staticcheck`](https://www.alexedwards.net/blog/how-to-manage-tool-dependencies-in-go-1.24-plus), but required if you are using any version of Go older than 1.24)