From 9fd65cd27d0a1436fac2d6a489b581e59a233a36 Mon Sep 17 00:00:00 2001 From: Armel Soro Date: Tue, 18 Jul 2023 08:21:50 +0200 Subject: [PATCH] Generate static UI files from within a container (#6972) * Generate static UI files from within a container, for more predictability For some reason, Angular was not generating the same hash for the `runtime*.js` file (even with the same content), causing the 'check-ui-static-files' job to sometimes fail. Leveraging a container (as we are already doing for the 'generate-apiserver' and 'generate-apifront' tasks) should allow for more predictable output. Co-authored-by: Philippe Martin * Generate static UI --------- Co-authored-by: Philippe Martin --- Makefile | 5 ++++- pkg/apiserver-impl/ui/index.html | 2 +- ...ntime.35da7df5cf523a35.js => runtime.1289ea0acffcdc5e.js} | 2 +- 3 files changed, 6 insertions(+), 3 deletions(-) rename pkg/apiserver-impl/ui/{runtime.35da7df5cf523a35.js => runtime.1289ea0acffcdc5e.js} (71%) diff --git a/Makefile b/Makefile index eb4a974e2..44a9842d9 100644 --- a/Makefile +++ b/Makefile @@ -79,7 +79,10 @@ help: ## Show this help. .PHONY: ui-static ui-static: ## build static files for UI to be served by embedded API server - (cd ui && npm install && npm run build) && rm -rf pkg/apiserver-impl/ui/* && mv ui/dist/devfile-builder/* pkg/apiserver-impl/ui/ + podman run --rm \ + -v ${PWD}:/local \ + -t docker.io/library/node:18 \ + /bin/sh -c "cd /local && (cd ui && npm install && npm run build) && rm -rf pkg/apiserver-impl/ui/* && mv ui/dist/devfile-builder/* pkg/apiserver-impl/ui/" .PHONY: bin bin: ## build the odo binary diff --git a/pkg/apiserver-impl/ui/index.html b/pkg/apiserver-impl/ui/index.html index 4e808119a..3e409587c 100644 --- a/pkg/apiserver-impl/ui/index.html +++ b/pkg/apiserver-impl/ui/index.html @@ -11,6 +11,6 @@
Loading, please wait...
- + \ No newline at end of file diff --git a/pkg/apiserver-impl/ui/runtime.35da7df5cf523a35.js b/pkg/apiserver-impl/ui/runtime.1289ea0acffcdc5e.js similarity index 71% rename from pkg/apiserver-impl/ui/runtime.35da7df5cf523a35.js rename to pkg/apiserver-impl/ui/runtime.1289ea0acffcdc5e.js index b3b3d816c..fd1e2ac75 100644 --- a/pkg/apiserver-impl/ui/runtime.35da7df5cf523a35.js +++ b/pkg/apiserver-impl/ui/runtime.1289ea0acffcdc5e.js @@ -1 +1 @@ -(()=>{"use strict";var e,v={},m={};function a(e){var n=m[e];if(void 0!==n)return n.exports;var r=m[e]={exports:{}};return v[e].call(r.exports,r,r.exports,a),r.exports}a.m=v,e=[],a.O=(n,r,f,i)=>{if(!r){var t=1/0;for(d=0;d=i)&&Object.keys(a.O).every(p=>a.O[p](r[o]))?r.splice(o--,1):(u=!1,i0&&e[d-1][2]>i;d--)e[d]=e[d-1];e[d]=[r,f,i]},a.d=(e,n)=>{for(var r in n)a.o(n,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((n,r)=>(a.f[r](e,n),n),[])),a.u=e=>(592===e?"common":e)+"."+{6:"e9c32fa3193aa48e",11:"056f3ebd8a590b3c",61:"021401352c8fac58",97:"24bb8167eebd4975",103:"a91ee51a71a891e1",276:"9f963a0fd1365056",299:"b6bd942dffceeea6",322:"ae1afb6543b1e4a4",330:"aa8e97600a53f037",450:"1756491cf50c2969",571:"d4ff05732590cfb8",592:"a64b1ed6000c8d46",598:"45cf43e9a099cc7e",608:"906465dee653ee56",612:"634d6c1c5de81831",719:"83bb129036b7dcdd",736:"6667486e1f659685",784:"f79a6e5c423dd7d1",806:"c6ff18a1f12536c9",807:"04e2b45e478bfa14",883:"8dbb7430ed8af2ea",905:"32f9d8e99950acca",911:"f351650d584d08a4",963:"b8dda41c64c45e9f",964:"301dc27cc2e0e79c",973:"fabe6d6ee4bc5e5a"}[e]+".js",a.miniCssF=e=>{},a.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={},n="devfile-builder:";a.l=(r,f,i,d)=>{if(e[r])e[r].push(f);else{var t,u;if(void 0!==i)for(var o=document.getElementsByTagName("script"),l=0;l{t.onerror=t.onload=null,clearTimeout(s);var _=e[r];if(delete e[r],t.parentNode&&t.parentNode.removeChild(t),_&&_.forEach(h=>h(p)),g)return g(p)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=b.bind(null,t.onerror),t.onload=b.bind(null,t.onload),u&&document.head.appendChild(t)}}})(),a.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;a.tt=()=>(void 0===e&&(e={createScriptURL:n=>n},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),a.tu=e=>a.tt().createScriptURL(e),a.p="",(()=>{var e={666:0};a.f.j=(f,i)=>{var d=a.o(e,f)?e[f]:void 0;if(0!==d)if(d)i.push(d[2]);else if(666!=f){var t=new Promise((c,b)=>d=e[f]=[c,b]);i.push(d[2]=t);var u=a.p+a.u(f),o=new Error;a.l(u,c=>{if(a.o(e,f)&&(0!==(d=e[f])&&(e[f]=void 0),d)){var b=c&&("load"===c.type?"missing":c.type),s=c&&c.target&&c.target.src;o.message="Loading chunk "+f+" failed.\n("+b+": "+s+")",o.name="ChunkLoadError",o.type=b,o.request=s,d[1](o)}},"chunk-"+f,f)}else e[f]=0},a.O.j=f=>0===e[f];var n=(f,i)=>{var o,l,[d,t,u]=i,c=0;if(d.some(s=>0!==e[s])){for(o in t)a.o(t,o)&&(a.m[o]=t[o]);if(u)var b=u(a)}for(f&&f(i);c{"use strict";var e,v={},m={};function a(e){var n=m[e];if(void 0!==n)return n.exports;var r=m[e]={exports:{}};return v[e].call(r.exports,r,r.exports,a),r.exports}a.m=v,e=[],a.O=(n,r,f,i)=>{if(!r){var t=1/0;for(d=0;d=i)&&Object.keys(a.O).every(p=>a.O[p](r[o]))?r.splice(o--,1):(c=!1,i0&&e[d-1][2]>i;d--)e[d]=e[d-1];e[d]=[r,f,i]},a.d=(e,n)=>{for(var r in n)a.o(n,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((n,r)=>(a.f[r](e,n),n),[])),a.u=e=>(592===e?"common":e)+"."+{6:"e9c32fa3193aa48e",11:"056f3ebd8a590b3c",61:"021401352c8fac58",97:"24bb8167eebd4975",103:"a91ee51a71a891e1",276:"9f963a0fd1365056",299:"b6bd942dffceeea6",322:"ae1afb6543b1e4a4",330:"aa8e97600a53f037",450:"1756491cf50c2969",571:"d4ff05732590cfb8",592:"a64b1ed6000c8d46",598:"45cf43e9a099cc7e",608:"906465dee653ee56",612:"634d6c1c5de81831",719:"83bb129036b7dcdd",736:"6667486e1f659685",784:"f79a6e5c423dd7d1",806:"c6ff18a1f12536c9",807:"04e2b45e478bfa14",883:"8dbb7430ed8af2ea",905:"32f9d8e99950acca",911:"f351650d584d08a4",963:"b8dda41c64c45e9f",964:"301dc27cc2e0e79c",973:"fabe6d6ee4bc5e5a"}[e]+".js",a.miniCssF=e=>{},a.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={},n="devfile-builder:";a.l=(r,f,i,d)=>{if(e[r])e[r].push(f);else{var t,c;if(void 0!==i)for(var o=document.getElementsByTagName("script"),u=0;u{t.onerror=t.onload=null,clearTimeout(s);var _=e[r];if(delete e[r],t.parentNode&&t.parentNode.removeChild(t),_&&_.forEach(h=>h(p)),g)return g(p)},s=setTimeout(b.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=b.bind(null,t.onerror),t.onload=b.bind(null,t.onload),c&&document.head.appendChild(t)}}})(),a.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;a.tt=()=>(void 0===e&&(e={createScriptURL:n=>n},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),a.tu=e=>a.tt().createScriptURL(e),a.p="",(()=>{var e={666:0};a.f.j=(f,i)=>{var d=a.o(e,f)?e[f]:void 0;if(0!==d)if(d)i.push(d[2]);else if(666!=f){var t=new Promise((l,b)=>d=e[f]=[l,b]);i.push(d[2]=t);var c=a.p+a.u(f),o=new Error;a.l(c,l=>{if(a.o(e,f)&&(0!==(d=e[f])&&(e[f]=void 0),d)){var b=l&&("load"===l.type?"missing":l.type),s=l&&l.target&&l.target.src;o.message="Loading chunk "+f+" failed.\n("+b+": "+s+")",o.name="ChunkLoadError",o.type=b,o.request=s,d[1](o)}},"chunk-"+f,f)}else e[f]=0},a.O.j=f=>0===e[f];var n=(f,i)=>{var o,u,[d,t,c]=i,l=0;if(d.some(s=>0!==e[s])){for(o in t)a.o(t,o)&&(a.m[o]=t[o]);if(c)var b=c(a)}for(f&&f(i);l