Skip to content

Commit 3bfa6d8

Browse files
committed
feat(github-actions): support specifying shell for configure RBE action
This will be useful for running within WSL.
1 parent 002a34e commit 3bfa6d8

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed

github-actions/bazel/configure-remote/action.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,22 @@ inputs:
77
description: |
88
If specified, the given `bazelrc` file is being updated to always run
99
with the `--config=remote` flag. Defaults to `.bazelrc.user`
10+
only_cache:
11+
default: false
12+
description: |
13+
Whether to only set up remote caching, instead of allowing for full
14+
remote execution (on Linux/macOS).
15+
16+
shell:
17+
default: bash
18+
description: Shell to use for executing the configure script.
1019

1120
runs:
1221
using: composite
1322
steps:
1423
- run: node $GITHUB_ACTION_PATH/configure-remote.cjs
1524
env:
1625
BAZELRC_PATH: ${{ inputs.bazelrc }}
26+
ONLY_CACHE: ${{ inputs.only_cache }}
1727
NGAT: 'bKddxrYADouso3haW7lCFA=='
18-
shell: bash
28+
shell: ${{ inputs.shell }}

github-actions/bazel/configure-remote/configure-remote.cjs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
"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+=`
2-
build --config=remote-cache`:u+=`
3-
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();})();
1+
"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("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")});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);_+=`
2+
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();})();
43
/**
54
* @license
65
* Copyright Google LLC

github-actions/bazel/configure-remote/index.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,13 @@ async function main(bazelRcPath: string | undefined) {
2727
await fs.promises.mkdir(path.dirname(destPath), {recursive: true});
2828
await fs.promises.writeFile(destPath, dec, 'utf8');
2929

30+
const onlyCache = process.env['ONLY_CACHE'] === 'true';
31+
// Set the config to remote-cache as we do not have support for RBE on windows at this time
32+
const configMode = isWindows || onlyCache ? 'remote-cache' : 'remote';
33+
3034
if (bazelRcPath) {
3135
let content = await readFileGracefully(bazelRcPath);
32-
if (isWindows) {
33-
// Set the config to remote-cache as we do not have support for RBE on windows at this time
34-
content += '\nbuild --config=remote-cache';
35-
} else {
36-
content += '\nbuild --config=remote';
37-
}
36+
content += `\nbuild --config=${configMode}`;
3837
await fs.promises.writeFile(bazelRcPath, content, 'utf8');
3938
}
4039
}

0 commit comments

Comments
 (0)