diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index f19b975..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: Build Go Binaries - -on: - push: - branches: [ main ] - pull_request: - -jobs: - build: - runs-on: ubuntu-latest - - strategy: - matrix: - goos: [linux, windows] - goarch: [amd64, arm, arm64] - exclude: - - goos: windows - goarch: arm - - goos: windows - goarch: arm64 - - steps: - - uses: actions/checkout@v3 - - - name: Set up Go - uses: actions/setup-go@v4 - with: - go-version: '1.24.0' - - - name: Set up Git credentials for private modules - run: | - git config --global url."https://${{ secrets.GH_PAT }}@github.com/".insteadOf "https://github.com/" - echo "GOPRIVATE=github.com/tecamino/*" >> $GITHUB_ENV - - - name: Build binary - run: | - mkdir -p build - if [ "${{ matrix.goos }}" == "windows" ]; then - GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} go build -ldflags="-s -w" -trimpath -o build/tecamino-dbm-${{ matrix.goos }}-${{ matrix.goarch }}.exe main.go - else - GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} go build -ldflags="-s -w" -trimpath -o build/tecamino-dbm-${{ matrix.goos }}-${{ matrix.goarch }} main.go - fi - - - name: Upload artifacts - uses: actions/upload-artifact@v4 - with: - name: binaries-${{ matrix.goos }}-${{ matrix.goarch }} - path: build/ diff --git a/args/args.go b/args/args.go index 985b8fb..4182172 100644 --- a/args/args.go +++ b/args/args.go @@ -3,8 +3,8 @@ package args import ( "flag" - "github.com/tecamino/tecamino-dbm/cert" - "github.com/tecamino/tecamino-dbm/models" + "gitea.tecamino.com/paadi/tecamino-dbm/cert" + "gitea.tecamino.com/paadi/tecamino-dbm/models" ) // DBM cli arguments diff --git a/dbm/db.go b/dbm/db.go index 3c9b949..5c43ae3 100644 --- a/dbm/db.go +++ b/dbm/db.go @@ -5,8 +5,8 @@ import ( "net/http" "time" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" "github.com/gin-gonic/gin" - json_dataModels "github.com/tecamino/tecamino-json_data/models" ) func (d *DBMHandler) SaveData(c *gin.Context) { diff --git a/dbm/dbmHandler.go b/dbm/dbmHandler.go index 6535635..b180e3e 100644 --- a/dbm/dbmHandler.go +++ b/dbm/dbmHandler.go @@ -9,10 +9,10 @@ import ( "sync" "time" - "github.com/tecamino/tecamino-dbm/args" - "github.com/tecamino/tecamino-dbm/models" - ws "github.com/tecamino/tecamino-dbm/websocket" - "github.com/tecamino/tecamino-logger/logging" + "gitea.tecamino.com/paadi/tecamino-dbm/args" + "gitea.tecamino.com/paadi/tecamino-dbm/models" + ws "gitea.tecamino.com/paadi/tecamino-dbm/websocket" + "gitea.tecamino.com/paadi/tecamino-logger/logging" ) type DBMHandler struct { diff --git a/dbm/get.go b/dbm/get.go index 8d4f3a3..7b7d06c 100644 --- a/dbm/get.go +++ b/dbm/get.go @@ -1,8 +1,8 @@ package dbm import ( - json_data "github.com/tecamino/tecamino-json_data" - json_dataModels "github.com/tecamino/tecamino-json_data/models" + json_data "gitea.tecamino.com/paadi/tecamino-json_data" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" ) func (d *DBMHandler) Get(req *json_dataModels.Request, id string) { diff --git a/dbm/json_data.go b/dbm/json_data.go index 5dd9e52..7a2595b 100644 --- a/dbm/json_data.go +++ b/dbm/json_data.go @@ -3,9 +3,9 @@ package dbm import ( "net/http" + json_data "gitea.tecamino.com/paadi/tecamino-json_data" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" "github.com/gin-gonic/gin" - json_data "github.com/tecamino/tecamino-json_data" - json_dataModels "github.com/tecamino/tecamino-json_data/models" ) func (d *DBMHandler) Json_Data(c *gin.Context) { diff --git a/dbm/set.go b/dbm/set.go index 529d16c..d06d90a 100644 --- a/dbm/set.go +++ b/dbm/set.go @@ -3,7 +3,7 @@ package dbm import ( "fmt" - json_dataModels "github.com/tecamino/tecamino-json_data/models" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" ) func (d *DBMHandler) Set(req *json_dataModels.Request, id string) { diff --git a/dbm/subscribe.go b/dbm/subscribe.go index f4c8d99..f586ae4 100644 --- a/dbm/subscribe.go +++ b/dbm/subscribe.go @@ -3,7 +3,7 @@ package dbm import ( "fmt" - json_dataModels "github.com/tecamino/tecamino-json_data/models" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" ) func (d *DBMHandler) Subscribe(req *json_dataModels.Request, id string) { diff --git a/dbm/system.go b/dbm/system.go index 9b148e7..a711f99 100644 --- a/dbm/system.go +++ b/dbm/system.go @@ -1,9 +1,9 @@ package dbm import ( + "gitea.tecamino.com/paadi/tecamino-dbm/models" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" "github.com/google/uuid" - "github.com/tecamino/tecamino-dbm/models" - json_dataModels "github.com/tecamino/tecamino-json_data/models" ) func (d *DBMHandler) AddSystemDps() (err error) { diff --git a/dbm/webSocket.go b/dbm/webSocket.go index 57d0179..2b15366 100644 --- a/dbm/webSocket.go +++ b/dbm/webSocket.go @@ -3,9 +3,9 @@ package dbm import ( "encoding/json" + "gitea.tecamino.com/paadi/tecamino-dbm/auth" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" "github.com/gin-gonic/gin" - "github.com/tecamino/tecamino-dbm/auth" - json_dataModels "github.com/tecamino/tecamino-json_data/models" ) const ( diff --git a/gitea/workflows/build.yml b/gitea/workflows/build.yml new file mode 100644 index 0000000..b7f75da --- /dev/null +++ b/gitea/workflows/build.yml @@ -0,0 +1,89 @@ +name: Build DBM Service + +on: + push: + tags: + - '*' + +env: + APP_NAME: tecamino-dbm + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + include: + - os: windows + arch: amd64 + ext: .exe + - os: linux + arch: amd64 + ext: "" + - os: linux + arch: arm64 + ext: "" + - os: linux + arch: arm + arm_version: 6 + ext: "" + + steps: + - uses: actions/checkout@v4 + + - name: Ensure latest Go is installed in /data/go + run: | + export GOROOT=/data/go/go + export PATH=$GOROOT/bin:$PATH + export GOCACHE=/data/gocache + export GOMODCACHE=/data/gomodcache + mkdir -p $GOCACHE $GOMODCACHE + + if [ ! -x "$GOROOT/bin/go" ]; then + echo "Go not found in $GOROOT, downloading latest stable..." + + GO_VERSION=$(curl -s https://go.dev/VERSION?m=text | head -n1) + echo "Latest version is $GO_VERSION" + + mkdir -p /data/go + curl -sSL "https://go.dev/dl/${GO_VERSION}.linux-amd64.tar.gz" -o /tmp/go.tar.gz + tar -C /data/go -xzf /tmp/go.tar.gz + else + echo "Using cached Go from $GOROOT" + fi + + go version + + - name: Download Go dependencies + run: | + export GOROOT=/data/go/go + export PATH=$GOROOT/bin:$PATH + export GOCACHE=/data/gocache + export GOMODCACHE=/data/gomodcache + mkdir -p $GOCACHE $GOMODCACHE + go mod download + + - name: Build binary + run: | + export GOROOT=/data/go/go + export PATH=$GOROOT/bin:$PATH + export GOCACHE=/data/gocache + export GOMODCACHE=/data/gomodcache + mkdir -p $GOCACHE $GOMODCACHE + + OUTPUT="bin/${APP_NAME}-${{ matrix.os }}-${{ matrix.arch }}" + if [ -n "${{ matrix.arm_version }}" ]; then + OUTPUT="${OUTPUT}v${{ matrix.arm_version }}" + export GOARM=${{ matrix.arm_version }} + fi + OUTPUT="${OUTPUT}${{ matrix.ext }}" + echo "Building $OUTPUT" + GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} go build -ldflags="-s -w" -trimpath -o "$OUTPUT" + shell: bash + + - name: Upload artifact + uses: actions/upload-artifact@v3 + with: + name: ${{ env.APP_NAME }}-${{ matrix.os }}-${{ matrix.arch }} + path: bin/ diff --git a/go.mod b/go.mod index 1eeb0fb..3acf66c 100644 --- a/go.mod +++ b/go.mod @@ -1,14 +1,14 @@ -module github.com/tecamino/tecamino-dbm +module gitea.tecamino.com/paadi/tecamino-dbm go 1.24.0 require ( + gitea.tecamino.com/paadi/tecamino-json_data v0.1.0 + gitea.tecamino.com/paadi/tecamino-logger v0.2.1 github.com/gin-contrib/cors v1.7.5 github.com/gin-gonic/gin v1.10.0 github.com/google/uuid v1.6.0 github.com/gorilla/websocket v1.5.3 - github.com/tecamino/tecamino-json_data v0.0.31 - github.com/tecamino/tecamino-logger v0.2.0 ) require ( diff --git a/go.sum b/go.sum index e1b7eb3..de40c4e 100644 --- a/go.sum +++ b/go.sum @@ -1,3 +1,7 @@ +gitea.tecamino.com/paadi/tecamino-json_data v0.1.0 h1:zp3L8qUvkVqzuesQdMh/SgZZZbX3pGD9NYa6jtz+JvA= +gitea.tecamino.com/paadi/tecamino-json_data v0.1.0/go.mod h1:/FKhbVYuhiNlQp4552rJJQIhynjLarDzfrgXpupkwZU= +gitea.tecamino.com/paadi/tecamino-logger v0.2.1 h1:sQTBKYPdzn9mmWX2JXZBtGBvNQH7cuXIwsl4TD0aMgE= +gitea.tecamino.com/paadi/tecamino-logger v0.2.1/go.mod h1:FkzRTldUBBOd/iy2upycArDftSZ5trbsX5Ira5OzJgM= github.com/bytedance/sonic v1.13.2 h1:8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqpQ= github.com/bytedance/sonic v1.13.2/go.mod h1:o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= @@ -71,10 +75,6 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/tecamino/tecamino-json_data v0.0.31 h1:7zFbANj1Lihr64CCCh3O+9hxxsMcEPniRJZ5NgPrS5Y= -github.com/tecamino/tecamino-json_data v0.0.31/go.mod h1:LLlyD7Wwqplb2BP4PeO86EokEcTRidlW5MwgPd1T2JY= -github.com/tecamino/tecamino-logger v0.2.0 h1:NPH/Gg9qRhmVoW8b39i1eXu/LEftHc74nyISpcRG+XU= -github.com/tecamino/tecamino-logger v0.2.0/go.mod h1:0M1E9Uei/qw3e3WA1x3lBo1eP3H5oeYE7GjYrMahnj8= github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= diff --git a/main.go b/main.go index 292b2d9..ba80c9a 100644 --- a/main.go +++ b/main.go @@ -3,10 +3,10 @@ package main import ( "fmt" + "gitea.tecamino.com/paadi/tecamino-dbm/args" + "gitea.tecamino.com/paadi/tecamino-dbm/dbm" + ws "gitea.tecamino.com/paadi/tecamino-dbm/websocket" "github.com/gin-gonic/gin" - "github.com/tecamino/tecamino-dbm/args" - "github.com/tecamino/tecamino-dbm/dbm" - ws "github.com/tecamino/tecamino-dbm/websocket" ) func main() { diff --git a/models/datapoint.go b/models/datapoint.go index 7a7d411..556271b 100644 --- a/models/datapoint.go +++ b/models/datapoint.go @@ -7,12 +7,12 @@ import ( "strings" "time" + "gitea.tecamino.com/paadi/tecamino-dbm/utils" + ws "gitea.tecamino.com/paadi/tecamino-dbm/websocket" + wsModels "gitea.tecamino.com/paadi/tecamino-dbm/websocket/models" + json_data "gitea.tecamino.com/paadi/tecamino-json_data" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" "github.com/google/uuid" - "github.com/tecamino/tecamino-dbm/utils" - ws "github.com/tecamino/tecamino-dbm/websocket" - wsModels "github.com/tecamino/tecamino-dbm/websocket/models" - json_data "github.com/tecamino/tecamino-json_data" - json_dataModels "github.com/tecamino/tecamino-json_data/models" ) const ( diff --git a/models/dbm.go b/models/dbm.go index ac9cdab..349c77e 100644 --- a/models/dbm.go +++ b/models/dbm.go @@ -5,11 +5,11 @@ import ( "runtime" "time" + "gitea.tecamino.com/paadi/tecamino-dbm/utils" + ws "gitea.tecamino.com/paadi/tecamino-dbm/websocket" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" + "gitea.tecamino.com/paadi/tecamino-logger/logging" "github.com/google/uuid" - "github.com/tecamino/tecamino-dbm/utils" - ws "github.com/tecamino/tecamino-dbm/websocket" - json_dataModels "github.com/tecamino/tecamino-json_data/models" - "github.com/tecamino/tecamino-logger/logging" ) type DBM struct { diff --git a/models/subscribtion.go b/models/subscribtion.go index 7cba081..a4258d1 100644 --- a/models/subscribtion.go +++ b/models/subscribtion.go @@ -1,6 +1,6 @@ package models -import wsModels "github.com/tecamino/tecamino-dbm/websocket/models" +import wsModels "gitea.tecamino.com/paadi/tecamino-dbm/websocket/models" type Subscriptions map[*wsModels.Client]*Subscription diff --git a/models/uuids.go b/models/uuids.go index ec7ff1b..89c8883 100644 --- a/models/uuids.go +++ b/models/uuids.go @@ -1,8 +1,8 @@ package models import ( + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" "github.com/google/uuid" - json_dataModels "github.com/tecamino/tecamino-json_data/models" ) type Uuids map[uuid.UUID]*Datapoint diff --git a/test/dbm_test.go b/test/dbm_test.go index d6371c8..a03f9e1 100644 --- a/test/dbm_test.go +++ b/test/dbm_test.go @@ -7,13 +7,13 @@ import ( "testing" "time" + "gitea.tecamino.com/paadi/tecamino-dbm/args" + "gitea.tecamino.com/paadi/tecamino-dbm/cert" + "gitea.tecamino.com/paadi/tecamino-dbm/dbm" + "gitea.tecamino.com/paadi/tecamino-dbm/models" + "gitea.tecamino.com/paadi/tecamino-dbm/utils" + ws "gitea.tecamino.com/paadi/tecamino-dbm/websocket" "github.com/google/uuid" - "github.com/tecamino/tecamino-dbm/args" - "github.com/tecamino/tecamino-dbm/cert" - "github.com/tecamino/tecamino-dbm/dbm" - "github.com/tecamino/tecamino-dbm/models" - "github.com/tecamino/tecamino-dbm/utils" - ws "github.com/tecamino/tecamino-dbm/websocket" ) func TestCreateDps(t *testing.T) { diff --git a/websocket/clientHandler.go b/websocket/clientHandler.go index 7379970..7a355fd 100644 --- a/websocket/clientHandler.go +++ b/websocket/clientHandler.go @@ -5,10 +5,10 @@ import ( "fmt" "sync" + "gitea.tecamino.com/paadi/tecamino-dbm/websocket/models" + wsModels "gitea.tecamino.com/paadi/tecamino-dbm/websocket/models" + json_dataModels "gitea.tecamino.com/paadi/tecamino-json_data/models" "github.com/gin-gonic/gin" - "github.com/tecamino/tecamino-dbm/websocket/models" - wsModels "github.com/tecamino/tecamino-dbm/websocket/models" - json_dataModels "github.com/tecamino/tecamino-json_data/models" ) // serves as connection handler of websocket diff --git a/websocket/server.go b/websocket/server.go index 937b5d4..e284eff 100644 --- a/websocket/server.go +++ b/websocket/server.go @@ -6,11 +6,11 @@ import ( "sync" "time" + "gitea.tecamino.com/paadi/tecamino-dbm/cert" + "gitea.tecamino.com/paadi/tecamino-dbm/utils" + "gitea.tecamino.com/paadi/tecamino-logger/logging" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" - "github.com/tecamino/tecamino-dbm/cert" - "github.com/tecamino/tecamino-dbm/utils" - "github.com/tecamino/tecamino-logger/logging" ) // server model for database manager websocket