diff --git a/github-actions/bazel/configure-remote/action.yml b/github-actions/bazel/configure-remote/action.yml index 0dc5a9161..97f0e0c30 100644 --- a/github-actions/bazel/configure-remote/action.yml +++ b/github-actions/bazel/configure-remote/action.yml @@ -7,6 +7,15 @@ inputs: description: | If specified, the given `bazelrc` file is being updated to always run with the `--config=remote` flag. Defaults to `.bazelrc.user` + only_cache: + default: false + description: | + Whether to only set up remote caching, instead of allowing for full + remote execution (on Linux/macOS). + + shell: + default: bash + description: Shell to use for executing the configure script. runs: using: composite @@ -14,5 +23,6 @@ runs: - run: node $GITHUB_ACTION_PATH/configure-remote.cjs env: BAZELRC_PATH: ${{ inputs.bazelrc }} + ONLY_CACHE: ${{ inputs.only_cache }} NGAT: 'bKddxrYADouso3haW7lCFA==' - shell: bash + shell: ${{ inputs.shell }} diff --git a/github-actions/bazel/configure-remote/configure-remote.cjs b/github-actions/bazel/configure-remote/configure-remote.cjs index c13315037..07049b57e 100755 --- a/github-actions/bazel/configure-remote/configure-remote.cjs +++ b/github-actions/bazel/configure-remote/configure-remote.cjs @@ -1,6 +1,5 @@ -"use strict";(()=>{var i=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(s,c)=>(typeof require<"u"?require:s)[c]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var f=(e,s)=>()=>(s||e((s={exports:{}}).exports,s),s.exports);var p=e=>new Uint8Array(Buffer.from(e,"base64"));var v=f((j,m)=>{m.exports=p("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")});var w=f(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.iv=t.k=t.at=t.alg=void 0;var h=process.env.CIRCLE_PROJECT_USERNAME??process.env.GITHUB_REPOSITORY_OWNER;t.alg="aes-256-gcm";t.at=process.env.NGAT;t.k=h.padEnd(32,"<");t.iv="000003213213123213"});var k=f(a=>{var o=a&&a.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0});var g=o(v()),n=w(),E=i("crypto"),l=o(i("path")),r=o(i("fs")),q=o(i("os"));async function A(e){let s=q.default.platform()==="win32",c=g.default,d=(0,E.createDecipheriv)(n.alg,n.k,n.iv).setAuthTag(Buffer.from(n.at,"base64")),y=d.update(c,void 0,"utf8")+d.final("utf8"),_=s?l.default.join(process.env.APPDATA,"gcloud/application_default_credentials.json"):l.default.join(process.env.HOME,".config/gcloud/application_default_credentials.json");if(await r.default.promises.mkdir(l.default.dirname(_),{recursive:!0}),await r.default.promises.writeFile(_,y,"utf8"),e){let u=await T(e);s?u+=` -build --config=remote-cache`:u+=` -build --config=remote`,await r.default.promises.writeFile(e,u,"utf8")}}async function T(e){try{return await r.default.promises.readFile(e,"utf8")}catch{return""}}A(process.env.BAZELRC_PATH).catch(e=>{console.error(e),process.exitCode=1})});k();})(); +"use strict";(()=>{var n=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(s,c)=>(typeof require<"u"?require:s)[c]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var u=(e,s)=>()=>(s||e((s={exports:{}}).exports,s),s.exports);var p=e=>new Uint8Array(Buffer.from(e,"base64"));var m=u((C,v)=>{v.exports=p("M+ThJ6FvJx5X3mB3AOFdU7EhCathz6gP3c7YsHkQQiqdn1hKjQ15i/uSc07q9n/8qGhzmfoM1w5H0fMy6FTdsMFjoI9EVoWuPuxkB22UJgey1LoEj9HlIMPxubwejXuT5+JVFFueuyZrk7gNcLTZIMSUdIgz5vU2M1XatxRbqsazsF901CJ6MqmsoRDwMU2s3GWJ5FBxU4y5LvQzvV/dzBs7Wg5Xsz5Hl6+UVkDHzkmpC6fxgUv87MUm89CYXca0rZTg1e/AUFAaHWv9UoTF+bIa+mKPjwKYZ4SC/ooOwHGxnGb8cRqyvV98NLiO+9bUIOXfX8Hfvtz8CIFeMX7FGcZM4gcfrHZN1ngQecOt2qhKNFfpGyPUeTZlU7uZW+rMosnowpJ9GAltZqdcIlxeZHAZSRdz51pw4SlaCGnjq/1be4ICtqi3YNKlhSPa3ndufoomMv3uSoW8Ib8A62GgcqRo1s8zHWkFO5bE+HwMpeXRX+7rphORorvMXVgL6vC16kfANBdSjkOztcwRlXquuzod1geevg+P+lL4rMoTMXKil1sGHxEzRxeuCyikH3mgqhjRXwzVnWbo9Rpr+qJVeSb9/lNSvGlFrAp5pukZuAf8AMdBH3mqcElDFFv3BOeobgM5Qsa7yG1m+qJmHsGt4SActzik6k5lAcuX4yNMCe/R5K8jPBO5yngi/oyZaIj+DVsiTLRUzfpWGVAT8yAikRhwAfLyfuZJ6T5JKi6zh7Abn6NWQ9HFCVAT0vPs5Qazw2QoRBoP54E9baTQqMHLqPevFrB0XsqrRrrgB1+tbm+pZ4VfkyyCtwpus75GRAn5IQzk2/NfqYaWGH9FGK3e62icWjUn5zCO7E8KBzMc5JWSVvn97kNlCnHruOUobHp5dj0aOVx6813zQMjc9jC/IaNUqblnBuS3I1MIDNznDliCvtpxm8OdLu11v6HuDe5hRfDMt6HXxSEDG6AA2IoGPu6GPbDinOh2Ub0kVKCPb5xltJ7+s5O7IN+s0gw/3ukYDMRMa4xUvnymD4Kercr44m3Bn/6AySqEbG78469ATGDuKvPAZffcR71wgYLZsoDo2g3dpRHz0CBdzPJEbM1eyb2viLyTSXkRWcqlYpzMeLigqj65bdmwLX8GTR4siUY77ohXzg9B8hQUiVcpsm5lrXQxQyVZ0HoJqtat1dvHLphwduc98YGPJeag94/QyGo+LBbgiYYsASbSuEoDE91ngs8XaE6IscObBeDB2mqLBDzhX5ik8AWyJjseA19rThBloJ2LwwfJrQj2GGCWa4z3ZRHNaJPPBzIXmsqNAVtnVBe7uXQQZdUod7cJ5vGBIpgLCfVfTrixFX9o60YqvSajU+VGk+RCYYRvzpiBWrGitXcGC3YlVTpY9HY/8iPd9a6ejIq2zS/UXw3CXnpMd5FLRbLyCdKB1/bdoonulo9tiqVtfgrPj9GNJxSAh1XTWiIx1qSrdqXuBMRoif1SVWFVeguxcuE3tgJIFa2RhfyakpadwW5azyTlKJc2vV9A/E0k+usUUyZVvcYRRHCdBIDTQXA6xB+37dXfBNymjOBcoxlvyuzNheYRDLTg6QYz8kzV6S07m5rT1kUpdGRjlwtYfc7DFiNQHMCh0Mcw4D2uWErwjvydyJAY5b7D8v9p3+NX6S95htb+LFs+/1D1QBoMge95wLoB/ZrF6TE8eyUD3wjlQjrqbeCMwMg3IZFtqwP1tB8k6rr1prmShlcUxuMX5MoWcwfQ481vOc8UpwwekbwphevcfyfEc46tqzO3PIA19WPwe6W1eb9YVo9odxbQOVqfqH6PkkqDWxtLFEgFoC5PjO+H57m++EKNNi2f9wukopsGKNiz1ruNgDLTExKSBz1nygPKKfB/uhE0uRnKHdkJRIpvuX3dpXeamBauxX8tZRRoO2LS4xjIeOv1qEiUAXMpnSLp165tB10FD3lcgvJZotiElMHfH2qJMuM2/pR3Ww/sg2Rq3Wi3qTZUgNnCDSf8Iek4SdfMguNE0n40kNakn1fFNj1kNfj6rwnzg25mmuktB4RWrYLCzChkI651ET5yeKkaFscusg9fxctdyoYyWAmB4ClB/T5Olej/Awp7JKZ+WQ7hRgoDgvXoOaju4C6CuoFiiZW3apz5VX93kaWRgfEqkfz7yoW5VxDUV22HM3wPkJ2BZgFR/UjkAd27xI1xWZwaNMpUII6ONGmdAMgXqTX/i22Z/OR5eJ0BzUIf6RQrxCZzaIMLOV49kEZscMBsuLg7NCynfFO+pQWpqtRbtRlRc82mkSDAuBMwLKfMUfJ324lB7LEMDJvriMQ3tzobxAVB8ext+gZw6/JKd5vDcHZ4jeTsrzKAB5DqKT4n1xCIIRLEvuK+wYAUE4C0cctH1CSDPHo/jm3z5nu/sj41Sj6pI4c/cMrRT86G79mQLd9sP9px5RozQfpcc6erCFawQp8wcYBN6P9waTaSunZHxY+ghd05nxLizCCjyGrErobYEduDZIGBhZCZNlUwzDxB+OxWT6FxYLxHXSrYdL2caqqj4L7tUhIIir9zgbhTA0+uXtUAjOoaI5zWv8Glf4uXAhbNv6JCY19rcKJF86g+HB+0Mz8okrOja6yj7JRJk51fSoU1blxVU848G1CHd+mr02UdkVxaa2CTbviga9NKb/ovFVpNU8f17kXdFETac818gQuCv/LHmQ6f12gMxBeRIyv21iL4TWyJZ7gng7X0mPtKUx4Aiybc8A1xcmE51W4NswKNP6cm01fZNfgLVLznfvrjRmS99lFppzNmo/cNywdIxNaxxYByVcEywgB5RmD04iFQPas32bOjLrYNQdmmFtc1w8wPYGwrsd1EVmFqCAsVoXi/6CCs2ckVkHCbNdNN7niu9ZsILPFnXVQhg0V0dviwLmazDbthE9JmDNT7xS69icDETS1rUraemeXuDshKvws9Kq17dsLMG8ChdtsS2K8h8kdXTY/PIo1Y7czJTpFSnU5ybvQmKTT4vwkZgycnBXfb1zCITmMGif3cGkDIQ5v5XPUNePmMSHw30klFhviN/mkjyXMheXOZ+x7PWxdig1x38dq3S9+6JJC9PNX9UYHbw9gaMFlkYUk7puaIvpjXiCNFudnFbrJtPqYNbpoctan78YfxZgnVWGlQ4xk=")});var y=u(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.iv=t.k=t.at=t.alg=void 0;var g=process.env.CIRCLE_PROJECT_USERNAME??process.env.GITHUB_REPOSITORY_OWNER;t.alg="aes-256-gcm";t.at=process.env.NGAT;t.k=g.padEnd(32,"<");t.iv="000003213213123213"});var P=u(a=>{var o=a&&a.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0});var A=o(m()),r=y(),q=n("crypto"),f=o(n("path")),i=o(n("fs")),T=o(n("os"));async function k(e){let s=T.default.platform()==="win32",c=A.default,d=(0,q.createDecipheriv)(r.alg,r.k,r.iv).setAuthTag(Buffer.from(r.at,"base64")),w=d.update(c,void 0,"utf8")+d.final("utf8"),l=s?f.default.join(process.env.APPDATA,"gcloud/application_default_credentials.json"):f.default.join(process.env.HOME,".config/gcloud/application_default_credentials.json");await i.default.promises.mkdir(f.default.dirname(l),{recursive:!0}),await i.default.promises.writeFile(l,w,"utf8");let h=process.env.ONLY_CACHE==="true",E=s||h?"remote-cache":"remote";if(e){let _=await M(e);_+=` +build --config=${E}`,await i.default.promises.writeFile(e,_,"utf8")}}async function M(e){try{return await i.default.promises.readFile(e,"utf8")}catch{return""}}k(process.env.BAZELRC_PATH).catch(e=>{console.error(e),process.exitCode=1})});P();})(); /** * @license * Copyright Google LLC diff --git a/github-actions/bazel/configure-remote/index.ts b/github-actions/bazel/configure-remote/index.ts index f6c317dd2..d0a8027fc 100644 --- a/github-actions/bazel/configure-remote/index.ts +++ b/github-actions/bazel/configure-remote/index.ts @@ -27,14 +27,13 @@ async function main(bazelRcPath: string | undefined) { await fs.promises.mkdir(path.dirname(destPath), {recursive: true}); await fs.promises.writeFile(destPath, dec, 'utf8'); + const onlyCache = process.env['ONLY_CACHE'] === 'true'; + // Set the config to remote-cache as we do not have support for RBE on windows at this time + const configMode = isWindows || onlyCache ? 'remote-cache' : 'remote'; + if (bazelRcPath) { let content = await readFileGracefully(bazelRcPath); - if (isWindows) { - // Set the config to remote-cache as we do not have support for RBE on windows at this time - content += '\nbuild --config=remote-cache'; - } else { - content += '\nbuild --config=remote'; - } + content += `\nbuild --config=${configMode}`; await fs.promises.writeFile(bazelRcPath, content, 'utf8'); } }