Skip to content

Let symlinks be backed by path.Parser (#216) #31

Let symlinks be backed by path.Parser (#216)

Let symlinks be backed by path.Parser (#216) #31

Workflow file for this run

{
"jobs": {
"build_and_test": {
"name": "build_and_test ${{ matrix.host.os }}",
"runs-on": "${{ matrix.host.os }}",
"steps": [
{
"name": "Check out source code",
"uses": "actions/checkout@v1"
},
{
"name": "Installing Bazel",
"run": "v=$(cat .bazelversion) && curl -L https://github.com/bazelbuild/bazel/releases/download/${v}/bazel-${v}-${{matrix.host.bazel_os}}-x86_64 > ~/bazel && chmod +x ~/bazel && echo ~ >> ${GITHUB_PATH}",
"shell": "bash"
},
{
"if": "matrix.host.platform_name == 'windows_amd64'",
"name": "Override .bazelrc",
"run": "echo \"startup --output_base=D:/bazel_output\" >> .bazelrc"
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'linux_amd64'",
"name": "linux_amd64: build${{ matrix.host.platform_name == 'linux_amd64' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'linux_amd64' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64 --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.linux_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64 //cmd/bb_noop_worker $(pwd)/bb_noop_worker.linux_amd64"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.linux_amd64",
"path": "bb_noop_worker.linux_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: copy bb_runner",
"run": "rm -f bb_runner.linux_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64 //cmd/bb_runner $(pwd)/bb_runner.linux_amd64"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.linux_amd64",
"path": "bb_runner.linux_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: copy bb_scheduler",
"run": "rm -f bb_scheduler.linux_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64 //cmd/bb_scheduler $(pwd)/bb_scheduler.linux_amd64"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.linux_amd64",
"path": "bb_scheduler.linux_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.linux_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64 //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.linux_amd64"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.linux_amd64",
"path": "bb_virtual_tmp.linux_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: copy bb_worker",
"run": "rm -f bb_worker.linux_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64 //cmd/bb_worker $(pwd)/bb_worker.linux_amd64"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.linux_amd64",
"path": "bb_worker.linux_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: copy fake_python",
"run": "rm -f fake_python.linux_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64 //cmd/fake_python $(pwd)/fake_python.linux_amd64"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.linux_amd64",
"path": "fake_python.linux_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: copy fake_xcrun",
"run": "rm -f fake_xcrun.linux_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64 //cmd/fake_xcrun $(pwd)/fake_xcrun.linux_amd64"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.linux_amd64",
"path": "fake_xcrun.linux_amd64"
}
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'linux_amd64_v3'",
"name": "linux_amd64_v3: build${{ matrix.host.platform_name == 'linux_amd64_v3' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'linux_amd64_v3' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64_v3 --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.linux_amd64_v3 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64_v3 //cmd/bb_noop_worker $(pwd)/bb_noop_worker.linux_amd64_v3"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.linux_amd64_v3",
"path": "bb_noop_worker.linux_amd64_v3"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: copy bb_runner",
"run": "rm -f bb_runner.linux_amd64_v3 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64_v3 //cmd/bb_runner $(pwd)/bb_runner.linux_amd64_v3"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.linux_amd64_v3",
"path": "bb_runner.linux_amd64_v3"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: copy bb_scheduler",
"run": "rm -f bb_scheduler.linux_amd64_v3 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64_v3 //cmd/bb_scheduler $(pwd)/bb_scheduler.linux_amd64_v3"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.linux_amd64_v3",
"path": "bb_scheduler.linux_amd64_v3"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.linux_amd64_v3 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64_v3 //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.linux_amd64_v3"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.linux_amd64_v3",
"path": "bb_virtual_tmp.linux_amd64_v3"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: copy bb_worker",
"run": "rm -f bb_worker.linux_amd64_v3 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64_v3 //cmd/bb_worker $(pwd)/bb_worker.linux_amd64_v3"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.linux_amd64_v3",
"path": "bb_worker.linux_amd64_v3"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: copy fake_python",
"run": "rm -f fake_python.linux_amd64_v3 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64_v3 //cmd/fake_python $(pwd)/fake_python.linux_amd64_v3"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.linux_amd64_v3",
"path": "fake_python.linux_amd64_v3"
}
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: copy fake_xcrun",
"run": "rm -f fake_xcrun.linux_amd64_v3 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_amd64_v3 //cmd/fake_xcrun $(pwd)/fake_xcrun.linux_amd64_v3"
},
{
"if": "matrix.host.upload",
"name": "linux_amd64_v3: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.linux_amd64_v3",
"path": "fake_xcrun.linux_amd64_v3"
}
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'linux_386'",
"name": "linux_386: build${{ matrix.host.platform_name == 'linux_amd64' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'linux_amd64' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_386 --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "linux_386: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.linux_386 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_386 //cmd/bb_noop_worker $(pwd)/bb_noop_worker.linux_386"
},
{
"if": "matrix.host.upload",
"name": "linux_386: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.linux_386",
"path": "bb_noop_worker.linux_386"
}
},
{
"if": "matrix.host.upload",
"name": "linux_386: copy bb_runner",
"run": "rm -f bb_runner.linux_386 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_386 //cmd/bb_runner $(pwd)/bb_runner.linux_386"
},
{
"if": "matrix.host.upload",
"name": "linux_386: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.linux_386",
"path": "bb_runner.linux_386"
}
},
{
"if": "matrix.host.upload",
"name": "linux_386: copy bb_scheduler",
"run": "rm -f bb_scheduler.linux_386 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_386 //cmd/bb_scheduler $(pwd)/bb_scheduler.linux_386"
},
{
"if": "matrix.host.upload",
"name": "linux_386: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.linux_386",
"path": "bb_scheduler.linux_386"
}
},
{
"if": "matrix.host.upload",
"name": "linux_386: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.linux_386 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_386 //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.linux_386"
},
{
"if": "matrix.host.upload",
"name": "linux_386: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.linux_386",
"path": "bb_virtual_tmp.linux_386"
}
},
{
"if": "matrix.host.upload",
"name": "linux_386: copy bb_worker",
"run": "rm -f bb_worker.linux_386 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_386 //cmd/bb_worker $(pwd)/bb_worker.linux_386"
},
{
"if": "matrix.host.upload",
"name": "linux_386: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.linux_386",
"path": "bb_worker.linux_386"
}
},
{
"if": "matrix.host.upload",
"name": "linux_386: copy fake_python",
"run": "rm -f fake_python.linux_386 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_386 //cmd/fake_python $(pwd)/fake_python.linux_386"
},
{
"if": "matrix.host.upload",
"name": "linux_386: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.linux_386",
"path": "fake_python.linux_386"
}
},
{
"if": "matrix.host.upload",
"name": "linux_386: copy fake_xcrun",
"run": "rm -f fake_xcrun.linux_386 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_386 //cmd/fake_xcrun $(pwd)/fake_xcrun.linux_386"
},
{
"if": "matrix.host.upload",
"name": "linux_386: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.linux_386",
"path": "fake_xcrun.linux_386"
}
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'linux_arm'",
"name": "linux_arm: build${{ matrix.host.platform_name == 'linux_arm' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'linux_arm' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "linux_arm: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.linux_arm && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm //cmd/bb_noop_worker $(pwd)/bb_noop_worker.linux_arm"
},
{
"if": "matrix.host.upload",
"name": "linux_arm: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.linux_arm",
"path": "bb_noop_worker.linux_arm"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm: copy bb_runner",
"run": "rm -f bb_runner.linux_arm && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm //cmd/bb_runner $(pwd)/bb_runner.linux_arm"
},
{
"if": "matrix.host.upload",
"name": "linux_arm: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.linux_arm",
"path": "bb_runner.linux_arm"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm: copy bb_scheduler",
"run": "rm -f bb_scheduler.linux_arm && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm //cmd/bb_scheduler $(pwd)/bb_scheduler.linux_arm"
},
{
"if": "matrix.host.upload",
"name": "linux_arm: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.linux_arm",
"path": "bb_scheduler.linux_arm"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.linux_arm && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.linux_arm"
},
{
"if": "matrix.host.upload",
"name": "linux_arm: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.linux_arm",
"path": "bb_virtual_tmp.linux_arm"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm: copy bb_worker",
"run": "rm -f bb_worker.linux_arm && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm //cmd/bb_worker $(pwd)/bb_worker.linux_arm"
},
{
"if": "matrix.host.upload",
"name": "linux_arm: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.linux_arm",
"path": "bb_worker.linux_arm"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm: copy fake_python",
"run": "rm -f fake_python.linux_arm && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm //cmd/fake_python $(pwd)/fake_python.linux_arm"
},
{
"if": "matrix.host.upload",
"name": "linux_arm: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.linux_arm",
"path": "fake_python.linux_arm"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm: copy fake_xcrun",
"run": "rm -f fake_xcrun.linux_arm && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm //cmd/fake_xcrun $(pwd)/fake_xcrun.linux_arm"
},
{
"if": "matrix.host.upload",
"name": "linux_arm: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.linux_arm",
"path": "fake_xcrun.linux_arm"
}
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'linux_arm64'",
"name": "linux_arm64: build${{ matrix.host.platform_name == 'linux_arm64' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'linux_arm64' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm64 --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.linux_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm64 //cmd/bb_noop_worker $(pwd)/bb_noop_worker.linux_arm64"
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.linux_arm64",
"path": "bb_noop_worker.linux_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: copy bb_runner",
"run": "rm -f bb_runner.linux_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm64 //cmd/bb_runner $(pwd)/bb_runner.linux_arm64"
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.linux_arm64",
"path": "bb_runner.linux_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: copy bb_scheduler",
"run": "rm -f bb_scheduler.linux_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm64 //cmd/bb_scheduler $(pwd)/bb_scheduler.linux_arm64"
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.linux_arm64",
"path": "bb_scheduler.linux_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.linux_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm64 //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.linux_arm64"
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.linux_arm64",
"path": "bb_virtual_tmp.linux_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: copy bb_worker",
"run": "rm -f bb_worker.linux_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm64 //cmd/bb_worker $(pwd)/bb_worker.linux_arm64"
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.linux_arm64",
"path": "bb_worker.linux_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: copy fake_python",
"run": "rm -f fake_python.linux_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm64 //cmd/fake_python $(pwd)/fake_python.linux_arm64"
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.linux_arm64",
"path": "fake_python.linux_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: copy fake_xcrun",
"run": "rm -f fake_xcrun.linux_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:linux_arm64 //cmd/fake_xcrun $(pwd)/fake_xcrun.linux_arm64"
},
{
"if": "matrix.host.upload",
"name": "linux_arm64: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.linux_arm64",
"path": "fake_xcrun.linux_arm64"
}
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'darwin_amd64'",
"name": "darwin_amd64: build${{ matrix.host.platform_name == 'darwin_amd64' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'darwin_amd64' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_amd64 --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.darwin_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_amd64 //cmd/bb_noop_worker $(pwd)/bb_noop_worker.darwin_amd64"
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.darwin_amd64",
"path": "bb_noop_worker.darwin_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: copy bb_runner",
"run": "rm -f bb_runner.darwin_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_amd64 //cmd/bb_runner $(pwd)/bb_runner.darwin_amd64"
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.darwin_amd64",
"path": "bb_runner.darwin_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: copy bb_scheduler",
"run": "rm -f bb_scheduler.darwin_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_amd64 //cmd/bb_scheduler $(pwd)/bb_scheduler.darwin_amd64"
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.darwin_amd64",
"path": "bb_scheduler.darwin_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.darwin_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_amd64 //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.darwin_amd64"
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.darwin_amd64",
"path": "bb_virtual_tmp.darwin_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: copy bb_worker",
"run": "rm -f bb_worker.darwin_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_amd64 //cmd/bb_worker $(pwd)/bb_worker.darwin_amd64"
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.darwin_amd64",
"path": "bb_worker.darwin_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: copy fake_python",
"run": "rm -f fake_python.darwin_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_amd64 //cmd/fake_python $(pwd)/fake_python.darwin_amd64"
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.darwin_amd64",
"path": "fake_python.darwin_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: copy fake_xcrun",
"run": "rm -f fake_xcrun.darwin_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_amd64 //cmd/fake_xcrun $(pwd)/fake_xcrun.darwin_amd64"
},
{
"if": "matrix.host.upload",
"name": "darwin_amd64: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.darwin_amd64",
"path": "fake_xcrun.darwin_amd64"
}
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'darwin_arm64'",
"name": "darwin_arm64: build${{ matrix.host.platform_name == 'darwin_arm64' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'darwin_arm64' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_arm64 --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.darwin_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_arm64 //cmd/bb_noop_worker $(pwd)/bb_noop_worker.darwin_arm64"
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.darwin_arm64",
"path": "bb_noop_worker.darwin_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: copy bb_runner",
"run": "rm -f bb_runner.darwin_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_arm64 //cmd/bb_runner $(pwd)/bb_runner.darwin_arm64"
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.darwin_arm64",
"path": "bb_runner.darwin_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: copy bb_scheduler",
"run": "rm -f bb_scheduler.darwin_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_arm64 //cmd/bb_scheduler $(pwd)/bb_scheduler.darwin_arm64"
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.darwin_arm64",
"path": "bb_scheduler.darwin_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.darwin_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_arm64 //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.darwin_arm64"
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.darwin_arm64",
"path": "bb_virtual_tmp.darwin_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: copy bb_worker",
"run": "rm -f bb_worker.darwin_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_arm64 //cmd/bb_worker $(pwd)/bb_worker.darwin_arm64"
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.darwin_arm64",
"path": "bb_worker.darwin_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: copy fake_python",
"run": "rm -f fake_python.darwin_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_arm64 //cmd/fake_python $(pwd)/fake_python.darwin_arm64"
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.darwin_arm64",
"path": "fake_python.darwin_arm64"
}
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: copy fake_xcrun",
"run": "rm -f fake_xcrun.darwin_arm64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:darwin_arm64 //cmd/fake_xcrun $(pwd)/fake_xcrun.darwin_arm64"
},
{
"if": "matrix.host.upload",
"name": "darwin_arm64: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.darwin_arm64",
"path": "fake_xcrun.darwin_arm64"
}
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'freebsd_amd64'",
"name": "freebsd_amd64: build${{ matrix.host.platform_name == 'freebsd_amd64' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'freebsd_amd64' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:freebsd_amd64 --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.freebsd_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:freebsd_amd64 //cmd/bb_noop_worker $(pwd)/bb_noop_worker.freebsd_amd64"
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.freebsd_amd64",
"path": "bb_noop_worker.freebsd_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: copy bb_runner",
"run": "rm -f bb_runner.freebsd_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:freebsd_amd64 //cmd/bb_runner $(pwd)/bb_runner.freebsd_amd64"
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.freebsd_amd64",
"path": "bb_runner.freebsd_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: copy bb_scheduler",
"run": "rm -f bb_scheduler.freebsd_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:freebsd_amd64 //cmd/bb_scheduler $(pwd)/bb_scheduler.freebsd_amd64"
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.freebsd_amd64",
"path": "bb_scheduler.freebsd_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.freebsd_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:freebsd_amd64 //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.freebsd_amd64"
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.freebsd_amd64",
"path": "bb_virtual_tmp.freebsd_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: copy bb_worker",
"run": "rm -f bb_worker.freebsd_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:freebsd_amd64 //cmd/bb_worker $(pwd)/bb_worker.freebsd_amd64"
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.freebsd_amd64",
"path": "bb_worker.freebsd_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: copy fake_python",
"run": "rm -f fake_python.freebsd_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:freebsd_amd64 //cmd/fake_python $(pwd)/fake_python.freebsd_amd64"
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.freebsd_amd64",
"path": "fake_python.freebsd_amd64"
}
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: copy fake_xcrun",
"run": "rm -f fake_xcrun.freebsd_amd64 && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:freebsd_amd64 //cmd/fake_xcrun $(pwd)/fake_xcrun.freebsd_amd64"
},
{
"if": "matrix.host.upload",
"name": "freebsd_amd64: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.freebsd_amd64",
"path": "fake_xcrun.freebsd_amd64"
}
},
{
"if": "matrix.host.cross_compile || matrix.host.platform_name == 'windows_amd64'",
"name": "windows_amd64: build${{ matrix.host.platform_name == 'windows_amd64' && ' and test' || '' }}",
"run": "bazel ${{ matrix.host.platform_name == 'windows_amd64' && 'test --test_output=errors' || 'build --platforms=@com_github_buildbarn_bb_storage//tools/platforms:windows_amd64 --@bazel_tools//tools/test:incompatible_use_default_test_toolchain=False' }} //..."
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: copy bb_noop_worker",
"run": "rm -f bb_noop_worker.windows_amd64.exe && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:windows_amd64 //cmd/bb_noop_worker $(pwd)/bb_noop_worker.windows_amd64.exe"
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: upload bb_noop_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_noop_worker.windows_amd64",
"path": "bb_noop_worker.windows_amd64.exe"
}
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: copy bb_runner",
"run": "rm -f bb_runner.windows_amd64.exe && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:windows_amd64 //cmd/bb_runner $(pwd)/bb_runner.windows_amd64.exe"
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: upload bb_runner",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_runner.windows_amd64",
"path": "bb_runner.windows_amd64.exe"
}
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: copy bb_scheduler",
"run": "rm -f bb_scheduler.windows_amd64.exe && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:windows_amd64 //cmd/bb_scheduler $(pwd)/bb_scheduler.windows_amd64.exe"
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: upload bb_scheduler",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_scheduler.windows_amd64",
"path": "bb_scheduler.windows_amd64.exe"
}
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: copy bb_virtual_tmp",
"run": "rm -f bb_virtual_tmp.windows_amd64.exe && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:windows_amd64 //cmd/bb_virtual_tmp $(pwd)/bb_virtual_tmp.windows_amd64.exe"
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: upload bb_virtual_tmp",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_virtual_tmp.windows_amd64",
"path": "bb_virtual_tmp.windows_amd64.exe"
}
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: copy bb_worker",
"run": "rm -f bb_worker.windows_amd64.exe && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:windows_amd64 //cmd/bb_worker $(pwd)/bb_worker.windows_amd64.exe"
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: upload bb_worker",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "bb_worker.windows_amd64",
"path": "bb_worker.windows_amd64.exe"
}
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: copy fake_python",
"run": "rm -f fake_python.windows_amd64.exe && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:windows_amd64 //cmd/fake_python $(pwd)/fake_python.windows_amd64.exe"
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: upload fake_python",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_python.windows_amd64",
"path": "fake_python.windows_amd64.exe"
}
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: copy fake_xcrun",
"run": "rm -f fake_xcrun.windows_amd64.exe && bazel run --run_under cp --platforms=@com_github_buildbarn_bb_storage//tools/platforms:windows_amd64 //cmd/fake_xcrun $(pwd)/fake_xcrun.windows_amd64.exe"
},
{
"if": "matrix.host.upload",
"name": "windows_amd64: upload fake_xcrun",
"uses": "actions/upload-artifact@v4",
"with": {
"name": "fake_xcrun.windows_amd64",
"path": "fake_xcrun.windows_amd64.exe"
}
},
{
"if": "matrix.host.platform_name == 'windows_amd64'",
"name": "Install WinFSP",
"run": "choco install winfsp"
},
{
"if": "matrix.host.platform_name == 'windows_amd64'",
"name": "Execute WinFSP Integration Tests",
"run": "bazel test --test_output=errors //pkg/filesystem/virtual/winfsp:file_system_integration_test"
},
{
"env": {
"GITHUB_TOKEN": "${{ secrets.GITHUB_TOKEN }}"
},
"if": "matrix.host.upload",
"name": "Install Docker credentials",
"run": "echo \"${GITHUB_TOKEN}\" | docker login ghcr.io -u $ --password-stdin"
},
{
"if": "matrix.host.upload",
"name": "Clean Bazel cache from previous steps",
"run": "bazel clean"
},
{
"if": "matrix.host.upload",
"name": "Push container bb_noop_worker:bb_noop_worker",
"run": "bazel run --stamp //cmd/bb_noop_worker:bb_noop_worker_container_push"
},
{
"if": "matrix.host.upload",
"name": "Push container bb_runner:bb_runner_bare",
"run": "bazel run --stamp //cmd/bb_runner:bb_runner_bare_container_push"
},
{
"if": "matrix.host.upload",
"name": "Push container bb_runner_installer:bb_runner_installer",
"run": "bazel run --stamp //cmd/bb_runner_installer:bb_runner_installer_container_push"
},
{
"if": "matrix.host.upload",
"name": "Push container bb_scheduler:bb_scheduler",
"run": "bazel run --stamp //cmd/bb_scheduler:bb_scheduler_container_push"
},
{
"if": "matrix.host.upload",
"name": "Push container bb_worker:bb_worker",
"run": "bazel run --stamp //cmd/bb_worker:bb_worker_container_push"
}
],
"strategy": {
"matrix": {
"host": [
{
"bazel_os": "linux",
"cross_compile": true,
"os": "ubuntu-latest",
"platform_name": "linux_amd64",
"upload": true
},
{
"bazel_os": "windows",
"cross_compile": false,
"os": "windows-latest",
"platform_name": "windows_amd64",
"upload": false
}
]
}
}
},
"lint": {
"name": "lint",
"runs-on": "ubuntu-latest",
"steps": [
{
"name": "Check out source code",
"uses": "actions/checkout@v1"
},
{
"name": "Installing Bazel",
"run": "v=$(cat .bazelversion) && curl -L https://github.com/bazelbuild/bazel/releases/download/${v}/bazel-${v}-linux-x86_64 > ~/bazel && chmod +x ~/bazel && echo ~ >> ${GITHUB_PATH}",
"shell": "bash"
},
{
"name": "Reformat",
"run": "bazel run @com_github_buildbarn_bb_storage//tools:reformat"
},
{
"name": "Test style conformance",
"run": "git add . && git diff --exit-code HEAD --"
},
{
"name": "Golint",
"run": "bazel run @org_golang_x_lint//golint -- -set_exit_status $(pwd)/..."
}
]
},
"publish": {
"name": "publish",
"needs": [
"build_and_test"
],
"runs-on": "ubuntu-latest",
"steps": [
{
"name": "Checkout the repository",
"uses": "actions/checkout@v4 "
},
{
"name": "Download release artifacts",
"uses": "actions/download-artifact@v4",
"with": {
"merge-multiple": true,
"path": "assets"
}
},
{
"name": "Calculate shasum",
"run": "shasum -a 256 assets/* > sha256"
},
{
"name": "Set release Git user",
"run": "git config --global user.email \"41898282+github-actions[bot]@users.noreply.github.com\"\ngit config --global user.name \"github-actions[bot]\"\n"
},
{
"id": "create_tag",
"name": "Generate tag",
"run": "BUILD_SCM_REVISION=$(git rev-parse --short HEAD)\nBUILD_SCM_TIMESTAMP=$(TZ=UTC date --date \"@$(git show -s --format=%ct HEAD)\" +%Y%m%dT%H%M%SZ)\nRELEASE_TAG=\"${BUILD_SCM_TIMESTAMP}-${BUILD_SCM_REVISION}\"\ngit tag $RELEASE_TAG\ngit push --follow-tags\necho \"release_tag=$RELEASE_TAG\" >> $GITHUB_OUTPUT\n"
},
{
"name": "Create GitHub release and upload artifacts",
"uses": "softprops/action-gh-release@v2",
"with": {
"files": "assets/*\nsha256\n",
"make_latest": true,
"tag_name": "${{ steps.create_tag.outputs.release_tag }}"
}
}
]
}
},
"name": "main",
"on": {
"push": {
"branches": [
"main"
]
}
}
}