Update dependencies, buildbarn ecosystem to latest (#29) #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"jobs": { | |
"build_and_test": { | |
"runs-on": "ubuntu-latest", | |
"steps": [ | |
{ | |
"name": "Installing Bazel", | |
"run": "curl -L https://github.com/bazelbuild/bazel/releases/download/6.0.0/bazel-6.0.0-linux-x86_64 > ~/bazel && chmod +x ~/bazel && echo ~ >> ${GITHUB_PATH}" | |
}, | |
{ | |
"name": "Check out source code", | |
"uses": "actions/checkout@v1" | |
}, | |
{ | |
"name": "Restore Bazel cache", | |
"uses": "actions/cache@v1", | |
"with": { | |
"key": "bazel", | |
"path": "~/.cache/bazel" | |
} | |
}, | |
{ | |
"name": "Gazelle", | |
"run": "bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro go_dependencies.bzl%go_dependencies -prune && bazel run //:gazelle" | |
}, | |
{ | |
"name": "Buildifier", | |
"run": "sed '/^$/d' go_dependencies.bzl > go_dependencies.bzl.new && mv go_dependencies.bzl.new go_dependencies.bzl && bazel run @com_github_bazelbuild_buildtools//:buildifier" | |
}, | |
{ | |
"name": "Gofmt", | |
"run": "bazel run @cc_mvdan_gofumpt//:gofumpt -- -lang 1.19 -w -extra $(pwd)" | |
}, | |
{ | |
"name": "Clang format", | |
"run": "find . -name '*.proto' -exec bazel run @llvm_toolchain_llvm//:bin/clang-format -- -i {} +" | |
}, | |
{ | |
"name": "GitHub workflows", | |
"run": "bazel build //tools/github_workflows && cp bazel-bin/tools/github_workflows/*.yaml .github/workflows" | |
}, | |
{ | |
"name": "Protobuf generation", | |
"run": "find . bazel-bin/pkg/proto -name '*.pb.go' -delete || true\nbazel build $(bazel query 'kind(\"go_proto_library\", //...)')\nfind bazel-bin/pkg/proto -name '*.pb.go' | while read f; do\n cat $f > $(echo $f | sed -e 's|.*/pkg/proto/|pkg/proto/|')\ndone\n" | |
}, | |
{ | |
"name": "Test style conformance", | |
"run": "git diff --exit-code HEAD --" | |
}, | |
{ | |
"name": "Golint", | |
"run": "bazel run @org_golang_x_lint//golint -- -set_exit_status $(pwd)/..." | |
}, | |
{ | |
"name": "linux_amd64: build and test", | |
"run": "bazel test --test_output=errors --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //..." | |
}, | |
{ | |
"name": "linux_amd64: copy bb_remote_asset", | |
"run": "rm -f bb_remote_asset && bazel run --run_under cp --platforms=@io_bazel_rules_go//go/toolchain:linux_amd64 //cmd/bb_remote_asset $(pwd)/bb_remote_asset" | |
}, | |
{ | |
"name": "linux_amd64: upload bb_remote_asset", | |
"uses": "actions/upload-artifact@v2-preview", | |
"with": { | |
"name": "bb_remote_asset.linux_amd64", | |
"path": "bb_remote_asset" | |
} | |
}, | |
{ | |
"name": "linux_386: build and test", | |
"run": "bazel test --test_output=errors --platforms=@io_bazel_rules_go//go/toolchain:linux_386 //..." | |
}, | |
{ | |
"name": "linux_386: copy bb_remote_asset", | |
"run": "rm -f bb_remote_asset && bazel run --run_under cp --platforms=@io_bazel_rules_go//go/toolchain:linux_386 //cmd/bb_remote_asset $(pwd)/bb_remote_asset" | |
}, | |
{ | |
"name": "linux_386: upload bb_remote_asset", | |
"uses": "actions/upload-artifact@v2-preview", | |
"with": { | |
"name": "bb_remote_asset.linux_386", | |
"path": "bb_remote_asset" | |
} | |
}, | |
{ | |
"name": "linux_arm: build and test", | |
"run": "bazel build --platforms=@io_bazel_rules_go//go/toolchain:linux_arm //..." | |
}, | |
{ | |
"name": "linux_arm: copy bb_remote_asset", | |
"run": "rm -f bb_remote_asset && bazel run --run_under cp --platforms=@io_bazel_rules_go//go/toolchain:linux_arm //cmd/bb_remote_asset $(pwd)/bb_remote_asset" | |
}, | |
{ | |
"name": "linux_arm: upload bb_remote_asset", | |
"uses": "actions/upload-artifact@v2-preview", | |
"with": { | |
"name": "bb_remote_asset.linux_arm", | |
"path": "bb_remote_asset" | |
} | |
}, | |
{ | |
"name": "linux_arm64: build and test", | |
"run": "bazel build --platforms=@io_bazel_rules_go//go/toolchain:linux_arm64 //..." | |
}, | |
{ | |
"name": "linux_arm64: copy bb_remote_asset", | |
"run": "rm -f bb_remote_asset && bazel run --run_under cp --platforms=@io_bazel_rules_go//go/toolchain:linux_arm64 //cmd/bb_remote_asset $(pwd)/bb_remote_asset" | |
}, | |
{ | |
"name": "linux_arm64: upload bb_remote_asset", | |
"uses": "actions/upload-artifact@v2-preview", | |
"with": { | |
"name": "bb_remote_asset.linux_arm64", | |
"path": "bb_remote_asset" | |
} | |
}, | |
{ | |
"name": "darwin_amd64: build and test", | |
"run": "bazel build --platforms=@io_bazel_rules_go//go/toolchain:darwin_amd64 //..." | |
}, | |
{ | |
"name": "darwin_amd64: copy bb_remote_asset", | |
"run": "rm -f bb_remote_asset && bazel run --run_under cp --platforms=@io_bazel_rules_go//go/toolchain:darwin_amd64 //cmd/bb_remote_asset $(pwd)/bb_remote_asset" | |
}, | |
{ | |
"name": "darwin_amd64: upload bb_remote_asset", | |
"uses": "actions/upload-artifact@v2-preview", | |
"with": { | |
"name": "bb_remote_asset.darwin_amd64", | |
"path": "bb_remote_asset" | |
} | |
}, | |
{ | |
"name": "darwin_arm64: build and test", | |
"run": "bazel build --platforms=@io_bazel_rules_go//go/toolchain:darwin_arm64 //..." | |
}, | |
{ | |
"name": "darwin_arm64: copy bb_remote_asset", | |
"run": "rm -f bb_remote_asset && bazel run --run_under cp --platforms=@io_bazel_rules_go//go/toolchain:darwin_arm64 //cmd/bb_remote_asset $(pwd)/bb_remote_asset" | |
}, | |
{ | |
"name": "darwin_arm64: upload bb_remote_asset", | |
"uses": "actions/upload-artifact@v2-preview", | |
"with": { | |
"name": "bb_remote_asset.darwin_arm64", | |
"path": "bb_remote_asset" | |
} | |
}, | |
{ | |
"name": "freebsd_amd64: build and test", | |
"run": "bazel build --platforms=@io_bazel_rules_go//go/toolchain:freebsd_amd64 //cmd/bb_remote_asset" | |
}, | |
{ | |
"name": "freebsd_amd64: copy bb_remote_asset", | |
"run": "rm -f bb_remote_asset && bazel run --run_under cp --platforms=@io_bazel_rules_go//go/toolchain:freebsd_amd64 //cmd/bb_remote_asset $(pwd)/bb_remote_asset" | |
}, | |
{ | |
"name": "freebsd_amd64: upload bb_remote_asset", | |
"uses": "actions/upload-artifact@v2-preview", | |
"with": { | |
"name": "bb_remote_asset.freebsd_amd64", | |
"path": "bb_remote_asset" | |
} | |
}, | |
{ | |
"name": "windows_amd64: build and test", | |
"run": "bazel build --platforms=@io_bazel_rules_go//go/toolchain:windows_amd64 //..." | |
}, | |
{ | |
"name": "windows_amd64: copy bb_remote_asset", | |
"run": "rm -f bb_remote_asset.exe && bazel run --run_under cp --platforms=@io_bazel_rules_go//go/toolchain:windows_amd64 //cmd/bb_remote_asset $(pwd)/bb_remote_asset.exe" | |
}, | |
{ | |
"name": "windows_amd64: upload bb_remote_asset", | |
"uses": "actions/upload-artifact@v2-preview", | |
"with": { | |
"name": "bb_remote_asset.windows_amd64", | |
"path": "bb_remote_asset.exe" | |
} | |
}, | |
{ | |
"env": { | |
"GITHUB_TOKEN": "${{ secrets.GITHUB_TOKEN }}" | |
}, | |
"name": "Install Docker credentials", | |
"run": "echo \"${GITHUB_TOKEN}\" | docker login ghcr.io -u $ --password-stdin" | |
}, | |
{ | |
"name": "Push container bb_remote_asset:bb_remote_asset", | |
"run": "bazel run --stamp //cmd/bb_remote_asset:bb_remote_asset_container_push" | |
} | |
] | |
} | |
}, | |
"name": "master", | |
"on": { | |
"push": { | |
"branches": [ | |
"master" | |
] | |
} | |
} | |
} |