mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-22 19:07:54 +01:00
4599e5cc06
## 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 ``` |
||
---|---|---|
.. | ||
add-to-project.yml | ||
auto-assign-pr-author.yaml | ||
build_coverage.yaml | ||
build_doc_prs.yaml | ||
build_frontend_prs.yml | ||
build_prs_jest_report.yaml | ||
build_prs_test_report.yaml | ||
build_prs.yaml | ||
build.yaml | ||
check_links.yaml | ||
codeql-analysis.yml | ||
docker_publish.yaml | ||
e2e.frontend.yaml | ||
flag-no-response.yaml | ||
generate-docs.yaml | ||
gradual-strict-null-checks.yml | ||
notify_enterprise.yaml | ||
pr_add_test_results.yaml | ||
publish-new-version.yaml | ||
release_changelog.yml | ||
release.yaml | ||
reset_heroku.yml | ||
update_contributors.yaml |