uses: actions/upload-artifact@v2
with:
name: all-${{ matrix.os }}
- path: bazel-bin*/**/*
+ path: bazel-bin/package*
+++ /dev/null
-[submodule "third_party/libsodium"]
- path = third_party/libsodium
- url = https://github.com/jedisct1/libsodium.git
load("@bazel_gazelle//:def.bzl", "gazelle")
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
+load("@rules_pkg//:pkg.bzl", "pkg_zip", "pkg_tar")
# gazelle:prefix github.com/discordnova/nova
gazelle(name = "gazelle")
+filegroup(
+ name = "package_bin",
+ srcs = [
+ "//novactl",
+ ] + select({
+ "@bazel_tools//src/conditions:windows": [],
+ "//conditions:default": ["//webhook", "//gateway", "//ratelimiter"],
+ }),
+)
+
pkg_tar(
- name = "package",
+ name = "package_tar",
extension = "tar.gz",
- deps = [
- "//gateway:gateway_pkg",
- "//novactl:novactl_pkg",
- "//ratelimiter:ratelimiter_pkg",
- "//webhook:webhook_pkg",
+ srcs = [
+ ":package_bin"
],
)
+
+pkg_zip(
+ name = "package_zip",
+ srcs = [
+ ":package_bin"
+ ],
+)
+
+filegroup(
+ name = "package",
+ srcs = [
+ ":package_zip",
+ ":package_tar",
+ ],
+)
\ No newline at end of file
],
)
+http_archive(
+ name = "rules_pkg",
+ urls = [
+ "https://mirror.bazel.build/github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz",
+ "https://github.com/bazelbuild/rules_pkg/releases/download/0.5.1/rules_pkg-0.5.1.tar.gz",
+ ],
+ sha256 = "a89e203d3cf264e564fcb96b6e06dd70bc0557356eb48400ce4b5d97c2c3720d",
+)
+
# golang configuration
load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
),
"libsodium-sys": crate.override(
extra_build_script_env_vars = {
- "NUM_JOBS": "2"
+ "NUM_JOBS": "2",
+ "PATH": "/usr/sbin:/usr/bin:/sbin:/bin"
}
- ),
+ )
},
resolver_download_url_template = DEFAULT_URL_TEMPLATE,
resolver_sha256s = DEFAULT_SHA256_CHECKSUMS,
load("@crates//:defs.bzl", "pinned_rust_install")
pinned_rust_install()
+
+load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
+rules_pkg_dependencies()
\ No newline at end of file
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
go_library(
name = "gateway_lib",
name = "gateway",
embed = [":gateway_lib"],
visibility = ["//visibility:public"],
-)
-
-pkg_tar(
- name = "gateway_pkg",
- srcs = [":gateway"],
- mode = "0755",
- visibility = ["//visibility:public"],
-)
+)
\ No newline at end of file
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
go_library(
name = "novactl_lib",
embed = [":novactl_lib"],
visibility = ["//visibility:public"],
)
-
-pkg_tar(
- name = "novactl_pkg",
- srcs = [":novactl"],
- mode = "0755",
- visibility = ["//visibility:public"],
-)
load("@rules_rust//rust:rust.bzl", "rust_binary")
load("@rules_rust//cargo:cargo_build_script.bzl", "cargo_build_script")
load("@crates//:defs.bzl", "build_crates_from", "crates_from")
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
exports_files(["Cargo.toml"])
srcs = ["src/main.rs"],
rustc_env = {},
deps = crates_from("Cargo.toml") + [":build_script"],
-)
-
-pkg_tar(
- name = "ratelimiter_pkg",
- srcs = [":ratelimiter"],
- mode = "0755",
visibility = ["//visibility:public"],
)
load("@rules_rust//rust:rust.bzl", "rust_binary", "rust_library", "rust_test")
load("@crates//:defs.bzl", "crates_from")
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
exports_files(["Cargo.toml"])
name = "webhook",
srcs = glob(["src/**"]),
deps = crates_from("Cargo.toml"),
+ visibility = ["//visibility:public"],
)
rust_test(
crate = ":webhook",
deps = crates_from("Cargo.toml"),
)
-
-pkg_tar(
- name = "webhook_pkg",
- srcs = [":webhook"],
- mode = "0755",
- visibility = ["//visibility:public"],
-)