sync project

This commit is contained in:
matthieu 2021-09-03 22:17:51 +04:00
parent 3ef87c0b6c
commit c1b170dfec
13 changed files with 363 additions and 518 deletions

View file

@ -1,49 +0,0 @@
# This is a basic workflow to help you get started with Actions
name: Build
# Controls when the workflow will run
on:
push:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Setup Bazelisk
# You may pin to the exact commit or the version.
# uses: bazelbuild/setup-bazelisk@2351cf5a7584ce72638fbce7c22e5128a5fcd5b2
uses: bazelbuild/setup-bazelisk@v1.0.1
with:
# The Bazelisk version to download (if necessary) and use. Supports semver spec and ranges.
bazelisk-version: 1.x # optional, default is 1.x
# Used to query bazelisk releases. Since there's a default, this is typically not supplied by the user.
token: ${{ github.token }}
# Runs a single command using the runners shell
- name: Mount bazel cache # Optional
uses: actions/cache@v2
with:
path: "~/.cache/bazel"
key: bazel-${{ matrix.os }}
# Runs a set of commands using the runners shell
- name: Execute build script
shell: bash
run: |
bazel build //:package
- name: Bazel artifacts
uses: actions/upload-artifact@v2
with:
name: all-${{ matrix.os }}
path: bazel-bin*/**/*

View file

@ -1,22 +0,0 @@
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 = "novalet_lib",
srcs = ["main.go"],
importpath = "github.com/discordnova/nova/novalet",
visibility = ["//visibility:private"],
)
go_binary(
name = "novalet",
embed = [":novalet_lib"],
visibility = ["//visibility:public"],
)
pkg_tar(
name = "novalet_pkg",
srcs = [":novalet"],
mode = "0755",
visibility = ["//visibility:public"],
)

View file

@ -1,12 +0,0 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "lib",
srcs = ["internal_transporter.go"],
importpath = "github.com/discordnova/nova/novalet/lib",
visibility = ["//visibility:public"],
deps = [
"//common/gateway",
"@com_github_rs_zerolog//log",
],
)

View file

@ -1,37 +0,0 @@
package lib
import (
"github.com/discordnova/nova/common/gateway"
"github.com/rs/zerolog/log"
)
type InternalTransporter struct {
pullChannel chan []byte
pushChannel chan gateway.PushData
}
// NewRabbitMqTransporter creates a rabbitmq transporter using a given url
func NewInternalTransporter() (gateway.Transporter, error) {
log.Info().Msg("using the memory transporter")
pullChannel, pushChannel := make(chan []byte), make(chan gateway.PushData)
go func() {
for {
// TODO(matthieu): Implement push channel for the internal transporter.
<-pushChannel
}
}()
return &InternalTransporter{
pullChannel: pullChannel,
pushChannel: pushChannel,
}, nil
}
func (t InternalTransporter) PushChannel() chan gateway.PushData {
return t.pushChannel
}
func (t InternalTransporter) PullChannel() chan []byte {
return t.pullChannel
}

View file

@ -1,19 +0,0 @@
package lib
import (
stand "github.com/nats-io/nats-streaming-server/server"
)
type NatsStandalone struct {
streamingServer *stand.StanServer
}
func NewNatsStandalone() *NatsStandalone {
server, err := stand.RunServer("standalone_server")
if err != nil {
panic("failed to start the server")
}
return &NatsStandalone{
streamingServer: server,
}
}

View file

@ -1,16 +0,0 @@
package main
import (
websocketLib "github.com/discordnova/nova/gateway/lib/gateway"
"github.com/discordnova/nova/novalet/lib"
)
func main() {
go lib.NewNatsStandalone()
transporter, _ := lib.NewInternalTransporter()
websocket := websocketLib.NewGateway(websocketLib.GatewayConnectorOptions{
Transporter: transporter,
})
go websocket.Start()
}