Commit switches builder image to `cdp-runtime/go`, removing the need to install `go` manually.
Also, commit splits "build-postgres-operator" pipeline into 2 distinct steps.
1. Run unit tests based on locally checked out code including set up of dependencies and generated code.
2. Build Docker image if tests are successful
* PG-UI switch to official Python image
Commit changes build argument for Github Actions to use the same [official Python image][1] as the one used for building "postgres-operator-ui" since commit d60b424d79.
Should fix problem with `publish_ghcr_image` workflow.
[1]: https://hub.docker.com/_/python
* Use latest Alpine version for Postgres-Operator
Similar to commit 601ce0d321, align image version in Github Actions pipeline with assumed default version in Dockerfile, using latest [Alpine 3](https://hub.docker.com/_/alpine).
* fix: use nodejs-lts image for building frontend code
Node v14 is end-of-life and should no longer be used. Commit changes Makefile to pull in latest node-lts instead.
Also, use local temporary folder for storing npm generated files to workaround permission issue with old npm version, e.g. emitting these errors:
```
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /.npm
npm ERR! errno -13
npm ERR!
npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
```
Both changes should also fix issue https://github.com/zalando/postgres-operator/issues/2651
* fix: add frontend build step
Commit https://github.com/zalando/postgres-operator/commit/d60b424d7957d715003d9e5597bd5b5d63b6e250 accidentally removed build steps that are important for building frontend.
This commit restores previous behavior, but switches to nodejs-lts image for building frontend code.
Should restore `app.js` presence in ghcr image, see https://github.com/zalando/postgres-operator/issues/2651.