155 Commits

Author SHA1 Message Date
Sybren A. Stüvel
c51266cce0 Makefile: also include SSH port in publish-release-packages step 2025-04-03 12:21:25 +02:00
Sybren A. Stüvel
d7eca92950 Bump version to 3.7 2025-04-03 12:16:42 +02:00
Sybren A. Stüvel
534e09d905 Makefile: include SSH port in .env file
Include the SSH port in the `.env` file, so that we can rsync to non-
default port numbers.
2025-04-03 12:14:36 +02:00
Nitin-Rawat-1
edc57ab392 Bump packaged FFmpeg version 5.1.2 -> 7.0.2
The previously-bundled version was so old, when packaging FFmpeg for
Windows release, FFmpeg could not be downloaded any more.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104351
2025-03-31 15:53:43 +02:00
Sybren A. Stüvel
f6d1d85722 Mage: Add gofmt to the Mage commands
Add two new mage commands:

- `mage format`: run `gofmt` on all the Go sources.
- `mage formatCheck`: run the formatter to check formatting issues. This
  will output the diff to make the code format-compliant.

These commands are also available via `make format` resp. `make
format-check`.
2025-03-24 18:12:27 +01:00
Sybren A. Stüvel
b80bad12cd Bump version to 3.7-beta1 2025-02-28 12:32:40 +01:00
Sybren A. Stüvel
1c50837577 Makefile: remove unused phony targets 2025-01-09 14:46:43 +01:00
Sybren A. Stüvel
44be746ab6 Bumped version to 3.7-alpha1 2024-12-01 15:06:51 +01:00
Sybren A. Stüvel
940f814fcc Bumped version to 3.6 2024-12-01 14:54:15 +01:00
Sybren A. Stüvel
5f37bcb629 Build with Magefile (#104341)
Convert most of the code in `Makefile` to [Magefile](https://magefile.org/):

This makes it possible to build Flamenco without `make` (and the POSIX environment/commands it expect) by running:

```bash
$ go run mage.go webappInstallDeps  # Only on the first build.
$ go run mage.go build
```

More efficient builds are possible with other commands, and some release-related commands still require `make`. At least the barrier to entry should be considerably lower (compared to having to install Make + Cygwin/MSYS2 on Windows).

Fix: #102633

This does not port the building of release packages, so it doesn't address #102671.

### Main Targets

| Target   | Description                                                                     |
|----------|---------------------------------------------------------------------------------|
| build    | Build Flamenco Manager and Flamenco Worker, including the webapp and the add-on |
| check    | Run unit tests, check for vulnerabilities, and run the linter                   |
| clean    | Remove executables and other build output                                       |
| generate | Generate code (OpenAPI and test mocks)                                          |

### All Targets

Get these via `go run mage.go -l`:

```
Targets:
  build                           Flamenco Manager and Flamenco Worker, including the webapp and the add-on
  check                           Run unit tests, check for vulnerabilities, and run the linter
  clean                           Remove executables and other build output
  flamencoManager                 Build Flamenco Manager with the webapp and add-on ZIP embedded
  flamencoManagerWithoutWebapp    Only build the Flamenco Manager executable, do not rebuild the webapp
  flamencoWorker                  Build the Flamenco Worker executable
  generate                        code (OpenAPI and test mocks)
  generateGo                      Generate Go code for Flamenco Manager and Worker
  generateJS                      Generate JavaScript code for the webapp
  generatePy                      Generate Python code for the add-on
  govulncheck                     Check for known vulnerabilities.
  staticcheck                     Analyse the source code.
  test                            Run unit tests
  version                         Show which version information would be embedded in executables
  vet                             Run `go vet`
  webappInstallDeps               Use Yarn to install the webapp's NodeJS dependencies
  webappStatic                    Build the webapp as static files that can be served
```

Co-authored-by: Mateus Abelli <mateusabelli@gmail.com>
Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104341
2024-10-04 21:59:44 +02:00
Sybren A. Stüvel
29a0c596cc Bumped version to 3.6-alpha5 2024-09-30 11:46:54 +02:00
Sybren A. Stüvel
7b592950e4 Bumped version to 3.6-alpha4 2024-09-10 10:59:10 +02:00
Sybren A. Stüvel
6fb8ab92e2 Bumped version to 3.6-alpha3 2024-06-27 09:58:55 +02:00
Sybren A. Stüvel
38f41c096c Make clean after building release packages
To prevent non-native binaries from polluting the working directory, also
run `make clean` after building the release packages.
2024-06-27 09:57:09 +02:00
Sybren A. Stüvel
125e9aba23 Bumped version to 3.6-alpha2 2024-06-25 17:53:16 +02:00
Sybren A. Stüvel
d3a3178300 Bumped version to 3.6-alpha1 2024-06-25 11:26:12 +02:00
Sybren A. Stüvel
c5b13baab9 Revert "Makefile: use Hugo with the -tags extended argument"
This reverts commit 44ffb09d7daa0e2a8c55750ef5da187a527f6478. Building
the extended version of Hugo requires CGo, which I don't want to have as
a build-time dependency for any part of Flamenco. So, unfortunately, no
WebP support.
2024-05-16 12:36:42 +02:00
Sybren A. Stüvel
44ffb09d7d Makefile: use Hugo with the -tags extended argument
This is necessary for proper WebP support.
2024-05-16 12:28:55 +02:00
Sybren A. Stüvel
d279f91549 Bumped version to 3.6-alpha0 2024-04-24 17:32:01 +02:00
Sybren A. Stüvel
bb772841b7 Revert "Bumped version to 3.6-alpha0"
This reverts commit 7f14e6705d69d05e1bcae3a9ff64dbf2541c47b5. v3.5 still
needs today's date as release date in the changelog.
2024-04-16 11:12:48 +02:00
Sybren A. Stüvel
7f14e6705d Bumped version to 3.6-alpha0 2024-04-16 11:11:54 +02:00
Sybren A. Stüvel
81de246b48 Bumped version to 3.5 2024-04-16 11:03:27 +02:00
Sybren A. Stüvel
cfad4e73f9 Bumped version to 3.5-beta1 2024-04-04 10:54:53 +02:00
Sybren A. Stüvel
bce84bf175 Bumped version to 3.5-beta0 2024-04-04 10:38:42 +02:00
Sybren A. Stüvel
63a578688e Make make test fail fast
Pass `-failfast` to the `go test` command, so that it immediately stops
on test failure. This prevents the need to scroll back to see the actual
error, at the expense of only seeing one failure at a time.
2024-03-16 12:14:41 +01:00
Sybren A. Stüvel
94bf65a9e3 Bumped version to 3.5-alpha1 2024-02-26 18:17:19 +01:00
Sybren A. Stüvel
4f8d39f74a Fix MSYS2 breaking the base URL for webapp
Add `MSYS2_ARG_CONV_EXCL="*"` to avoid MSYS2 changing the yarn build
`--base=/app/` argument. That's a URL path, not a filesystem path, and it
should be used as-is on every platform.
2024-02-02 22:37:28 +01:00
Sybren A. Stüvel
3233d40b4c Website: upgrade Hugo to 0.121.2
Upgrade Hugo from 0.101.0 to 0.121.2. This seems to not introduce any
changes for us.
2024-01-25 12:11:04 +01:00
Sybren A. Stüvel
aa2ad35155 Bumped version to 3.5-alpha0 2024-01-17 13:17:35 +01:00
Sybren A. Stüvel
e1306010d7 Bumped version to 3.4 2024-01-12 11:14:50 +01:00
Sybren A. Stüvel
c80f898095 Makefile: Run make vet as part of the release-package rule 2024-01-11 19:06:49 +01:00
Sybren A. Stüvel
b110f5fb51 Bumped version down to 3.4-beta1
There are a few more things I want to do before releasing 3,4.
2024-01-11 17:17:56 +01:00
Sybren A. Stüvel
0c08a5ad5d Bumped version to 3.4 2024-01-11 16:51:21 +01:00
Sybren A. Stüvel
e6a29e1662 Bumped version to 3.4-beta0 2024-01-05 17:01:29 +01:00
Sybren A. Stüvel
7c99a2c000 Document the command to install the Goose binary
No functional changes.
2023-12-29 11:36:16 +01:00
Sybren A. Stüvel
a4000f1909 Bumped version to 3.3.1 2023-12-14 12:09:33 +01:00
Sybren A. Stüvel
a65f234bea Manager: replace GORM database migration with Goose
Replace GORM's auto-migration with Goose. The latter uses hand-written
SQL queries to apply database schema changes, which is safer and easier to
understand than what GORM is doing.
2023-12-14 10:13:40 +01:00
Sybren A. Stüvel
02011f8237 Bumped version to 3.4-alpha0 2023-11-06 15:08:36 +01:00
Sybren A. Stüvel
788b6138b7 Bumped version to 3.3 2023-11-06 11:56:48 +01:00
Sybren A. Stüvel
0333fe1383 Bumped version to 3.3-beta3 2023-11-02 16:29:56 +01:00
Sybren A. Stüvel
01f2e6d558 Bumped version to 3.3-beta2 2023-10-31 14:54:20 +01:00
Sybren A. Stüvel
8e9329f768 Include text file in macOS ARM64 build to indicate location of ffmpeg
Add a bit more documentation about the lack of ffmpeg on macOS/arm64 builds
and include a text file in the download package for that platform to
signal where any ffmpeg binary should be placed.
2023-10-31 10:34:35 +01:00
Sybren A. Stüvel
f34a8d8fac Makefile: restore accidentally commented-out code 2023-10-20 16:53:55 +02:00
Sybren A. Stüvel
5e27f09a14 Include darwin-arm64 packages when publishing online
These aren't linked from the download page yet, as they are missing an
FFmpeg binary. Still, having this build here at least allows people to
download it and put in their own (or configure that particular worker to
not run ffmpeg tasks).
2023-10-20 11:30:27 +02:00
Sybren A. Stüvel
af5b2420af macOS: also create packages for ARM64 architecture
These packages will not include FFmpeg at the moment, as there doesn't
seem to be a version that's built for that architecture and linked from
ffmpeg.org as an "officially approved" binary.
2023-10-20 11:27:14 +02:00
Sybren A. Stüvel
624135f55b Bump version to v3.3-beta1 2023-10-20 11:05:47 +02:00
Sybren A. Stüvel
f951981a4c Make: add targets for running devservers, and avoid installing Hugo
Add `make` targets `devserver-webapp` and `devserver-website` to run
respectively Yarn and Hugo.

This also slightly changes how Hugo is invoked, from using the `hugo` CLI
command to `go run github.com/gohugoio/hugo@v0.101.0`. This avoids the
need to actually install Hugo locally, and also will use the correct
version of Hugo if the locally-installed version happens to be different.
2023-09-08 15:39:20 +02:00
Sybren A. Stüvel
a229c0f75a Make: rename target project-website to deploy-website
This makes it clearer that this target actually deploys the website
to flamenco.blender.org.
2023-09-08 15:37:29 +02:00
Sybren A. Stüvel
900f3a7faa Add make vet target
This runs `go vet` as well as `govulncheck`. These may install
dependencies other than installed via `make with-deps`.
2023-09-07 12:07:27 +02:00
Sebastian Parborg
5f3c8c259d Makefile: Add a standalone recipe for building only the addon .zip (#104239)
Add `make flamenco-addon.zip` build target , making it easier to only
build and distribute the addon. Before this change, the only way to
generate the addon .zip via `make` was to also build the manager.

Reviewed-on: https://projects.blender.org/studio/flamenco/pulls/104239
2023-08-23 15:21:14 +02:00