1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-18 20:09:08 +02:00
Commit Graph

18 Commits

Author SHA1 Message Date
Gastón Fournier
4599e5cc06
chore: Optimize docker build oss (#3951)
## About the changes
Reduce the build time of OSS docker image from
[~30m](https://github.com/Unleash/unleash/actions/workflows/docker_publish.yaml)
to [under
15m](https://github.com/Unleash/unleash/actions/runs/5222180536/jobs/9427342758)

1. Build frontend outside docker multiplatform.
2. Allow `frontend/build` to be copied to the image by removing this
from `.dockerignore`
3. Run with `--ignore-scripts` to avoid building the frontend on the
`prepare` script, but this requires us to run all the prepare scripts
manually (except the frontend build).
 
**Note:** we need to build frontend in the `prepare` script to be able
to have source code dependencies

## Manual Testing
Manually downloaded from
https://hub.docker.com/r/unleashorg/unleash-server/tags?page=1 and
compared both `unleash` folders from main and the version built with the
new process
https://github.com/Unleash/unleash/actions/runs/5223078089/jobs/9429430190#step:5:48

![Screenshot from 2023-06-10
21-11-33](https://github.com/Unleash/unleash/assets/455064/60a41739-904d-480d-8d80-bf17b7a70432)

No major difference was spotted (only expected changes due to
development done in main)

**Command used to extract the contents:** 

```
cd /tmp
mkdir main && cd main
docker pull unleashorg/unleash-server:main-edge-18-alpine
docker export $(docker create unleashorg/unleash-server:main-edge-18-alpine) > container.tar && tar xvf container.tar
mkdir ../new-process && cd ../new-process
docker pull unleashorg/unleash-server:sha-ccac902-18-alpine
docker export $(docker create unleashorg/unleash-server:sha-ccac902-18-alpine) > container.tar && tar xvf container.tar
meld ./unleash ../main/unleash
```
2023-06-12 09:15:09 +02:00
Gastón Fournier
a08c6f3c83
chore: remove unnecessary build (#3910)
## About the changes
This removes unnecessary build that's already triggered as part of the
prepare script
0efaa346c4/package.json (L41)

This should reduce the build time of this action:
https://github.com/Unleash/unleash/actions/workflows/docker_publish.yaml
(currently at 30m)

We can see the double execution from the log files of one execution:
```shell
$ grep " #14 " 1_build\ \(18-alpine\).txt  | grep "build:frontend" | grep built
2023-06-06T11:20:25.6513037Z #14 1198.7 [build:frontend] ✓ built in 7m 48s
2023-06-06T11:28:35.0518703Z #14 1688.1 [build:frontend] ✓ built in 7m 34s
```
_That is step 14 executing build:frontend twice_
2023-06-06 21:26:21 +02:00
Gastón Fournier
2f9da976e4
fix: use new build process (#3757)
## About the changes
This adapts the docker creation to the latest package.json changes
https://github.com/Unleash/unleash/pull/3736
2023-05-12 11:25:38 +00:00
Jaanus Sellin
d8d0261681
feat: set timezone to utc (#3666) 2023-05-03 10:25:56 +03:00
Gastón Fournier
0426dd505d
chore: update to node 18 (#3527)
## About the changes
This upgrades our main branch to use node 18 which is the active LTS
version and stops using node 14 which reaches the end of life in a few
weeks: https://nodejs.dev/en/about/releases/

This PR also adds `--no-experimental-fetch` for frontend tests and other
frontend commands. Related to:
https://github.com/node-fetch/node-fetch/issues/1566

More about the experimental fetch release:
https://nodejs.org/en/blog/announcements/v18-release-announce#fetch-experimental
2023-04-18 10:35:32 +02:00
Simon Hornby
3d0146cca7
Fix docker build (#2326)
* fix: patch stale docker lockfile
* fix: patch docker build to respect the fact that frontend now depends on some constants defined in unleash
2022-11-03 15:02:20 +01:00
sjaanus
c4da10b15f
Docker cross-compilation with buildx (#2003)
* Build docker test

* Change platform to build on amd64

* Put back buildplatform

* Run frontend as separate docker task

* Increase timeout

* Update docs
2022-08-30 12:39:28 +00:00
sjaanus
644fdc6709
Fix docker failing (#1993) 2022-08-29 13:00:04 +00:00
sjaanus
a1ce89bedc
Merge frontend with backend (#1962)
* fix: use the frontend dir from the backend

* Build is now working

* Fix workflows

* Fix workflows

* Fix build PRs

* Test coverage workflow

* Test coverage

* Test coverage run

* Fix jest report

* refactor: add missing frontend build

* refactor: ignore frontend dir for coverage

* refactor: run frontend build in PRs

* refactor: run backend tests in PRs

* Revert "refactor: run backend tests in PRs"

This reverts commit 22cabddfd1.

* refactor: remove unused frontend build file

* refactor: test workflows in PR

* refactor: use a prepare script for the frontend

* refactor: simplify yarn build scripts

* refactor: fix check-release script

* Revert "refactor: test workflows in PR"

This reverts commit 496ae19404.

* refactor: remove unused gitignore lines

* refactor: remove renovate config from the frontend repo

* refactor: remove frontend repo license

* refactor: remove frontend repo changelog

* refactor: update frontend repo readme

* refactor: add frontend node_modules to dockerignore

* refactor: update the docker yarn.lock snapshot

Co-authored-by: olav <mail@olav.io>
2022-08-26 07:25:31 +00:00
Gard Rimestad
e2082b4493
feat: slim down docker container (#1790)
* feat: slim down docker container

This changes the unleash-server node module to be as little as it can,
resulting in a much smaller docker container. From 383M -> 11M.
2022-07-05 16:08:06 +02:00
Gard Rimestad
5d5fc37dfd
Feat/docker container on main builds (#1762)
* feat: build docker containers when pushing to main

The intent here is to publish a docker container for every build of
main. This will make it easier to run the tip of main.
2022-06-28 16:13:00 +02:00
Ivar Conradi Østhus
77baaa5121 Introduce unleash-docker as a sperate submodule. (#136)
* Introduce unleash-docker as a sperate submodule.

this is related to #135 and will solve #126

* keep ide-user-settings out of repo

* Introduce unleash-docker as a sperate submodule.

this is related to #135 and will solve #126

* mv unleash-docker to packages/unleash-docker

* made docker work for now, by copying migrations

* minro cleanup

* docker on node:6

* minor cleanup
2020-02-20 08:30:26 +01:00
Ivar
5b4e14063e Upgrade to node 5.8 2020-02-20 08:30:24 +01:00
ivaosthu
94f10a3a4b upgrade node to 4.2.2. Closes #106 2020-02-20 08:30:24 +01:00
eirslett
4c9626b6a3 Remove envconsul from Dockerfile
The open source version of Unleash shouldn't depend on envconsul,
since that's an internal operations detail at FINN.no. Instead, we
accept configuration from environment variables passed through from
the "docker run" command, or via Marathon/Mesos.
2020-02-20 08:30:23 +01:00
Stig Kleppe-Jørgensen
0acee571f1 Use easier method for installing envconsul
Now when a bigger and more complete parent image is used, the curl and
tar tools are feature complete.
2020-02-20 08:30:23 +01:00
audstran
e800ad7a85 added docker container and vagrant 2020-02-20 08:30:23 +01:00
Stig Kleppe-Jørgensen
4854ca58e7 Add files for creating docker image
* Base on a small node image (alpine-node)
* Exclude some files from docker build to make the build go faster
2020-02-20 08:30:23 +01:00