Compare commits

...

7 Commits

Author SHA1 Message Date
34982c122f config: add ListKeys 2023-05-06 01:13:41 -07:00
fb11c0c27c syslog: support not using syslog 2023-05-06 00:57:42 -07:00
27cc67d2cf this is why i hate computers 2023-05-04 23:58:51 -07:00
0fe13439b6 moving circleci file to the right place. 2023-05-04 23:57:40 -07:00
fb9caec663 Update CircleCI configuration. 2023-05-04 23:55:26 -07:00
e3e83630b5 Add CircleCI configuration. 2023-05-04 23:54:47 -07:00
c1f06604e3 fix dependency issues. 2023-05-04 23:45:08 -07:00
8 changed files with 135 additions and 17 deletions

59
.circleci/config.yml Normal file
View File

@@ -0,0 +1,59 @@
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1
commands:
setup-bazel:
description: |
Setup the Bazel build system used for building the repo
steps:
- run:
name: Add Bazel Apt repository
command: |
sudo apt install curl gnupg
curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg
sudo mv bazel.gpg /etc/apt/trusted.gpg.d/
echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
- run:
name: Install Bazel from Apt
command: sudo apt update && sudo apt install bazel
# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
testbuild:
working_directory: ~/repo
# Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor
docker:
- image: circleci/golang:1.15.8
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
steps:
- checkout
- setup-bazel
- restore_cache:
keys:
- go-mod-v4-{{ checksum "go.sum" }}
- run:
name: Install Dependencies
command: go mod download
- save_cache:
key: go-mod-v4-{{ checksum "go.sum" }}
paths:
- "/go/pkg/mod"
- run:
name: Run tests
command: bazel test //...
- run:
name: Run build
command: bazel build //...
- store_test_results:
path: /tmp/test-reports
# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
testbuild:
jobs:
- testbuild

View File

@@ -5,7 +5,10 @@ go_library(
srcs = ["main.go"],
importpath = "git.wntrmute.dev/kyle/goutils/cmd/cruntar",
visibility = ["//visibility:private"],
deps = ["//die"],
deps = [
"//die",
"//fileutil",
],
)
go_binary(

View File

@@ -6,8 +6,8 @@ go_library(
importpath = "git.wntrmute.dev/kyle/goutils/cmd/showimp",
visibility = ["//visibility:private"],
deps = [
"//dbg",
"//die",
"//logging",
],
)

View File

@@ -13,6 +13,7 @@ import (
"fmt"
"log"
"os"
"sort"
"strings"
"git.wntrmute.dev/kyle/goutils/config/iniconf"
@@ -139,3 +140,14 @@ func Require(key string) string {
return v
}
// ListKeys returns a slice of the currently known keys.
func ListKeys() []string {
keyList := []string{}
for k := range vars {
keyList = append(keyList, k)
}
sort.Strings(keyList)
return keyList
}

View File

@@ -2,8 +2,53 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "fileutil",
srcs = ["fileutil.go"],
srcs = [
"fileutil.go",
"fileutil_windows.go",
"symlinks.go",
],
importpath = "git.wntrmute.dev/kyle/goutils/fileutil",
visibility = ["//visibility:public"],
deps = ["@org_golang_x_sys//unix"],
deps = select({
"@io_bazel_rules_go//go/platform:aix": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:android": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:darwin": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:dragonfly": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:freebsd": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:illumos": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:ios": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:js": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:linux": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:netbsd": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:openbsd": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:plan9": [
"@org_golang_x_sys//unix",
],
"@io_bazel_rules_go//go/platform:solaris": [
"@org_golang_x_sys//unix",
],
"//conditions:default": [],
}),
)

2
go.mod
View File

@@ -13,3 +13,5 @@ require (
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad
gopkg.in/yaml.v2 v2.4.0
)
require github.com/davecgh/go-spew v1.1.1

View File

@@ -1,17 +1,12 @@
load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "log",
srcs = ["logger.go"],
importpath = "git.wntrmute.dev/kyle/kdhcp/log",
visibility = ["//visibility:public"],
deps = ["@com_github_hashicorp_go_syslog//:go-syslog"],
)
go_library(
name = "syslog",
srcs = ["logger.go"],
importpath = "git.wntrmute.dev/kyle/goutils/syslog",
visibility = ["//visibility:public"],
deps = ["@com_github_hashicorp_go_syslog//:go-syslog"],
deps = [
"@com_github_davecgh_go_spew//spew",
"@com_github_hashicorp_go_syslog//:go-syslog",
],
)

View File

@@ -143,10 +143,12 @@ func Setup(opts *Options) error {
log.p = priority
var err error
log.l, err = gsyslog.NewLogger(priority, opts.Facility, opts.Tag)
if err != nil {
return err
if opts.WriteSyslog {
var err error
log.l, err = gsyslog.NewLogger(priority, opts.Facility, opts.Tag)
if err != nil {
return err
}
}
return nil