Compare commits

...

3 commits

Author SHA1 Message Date
c250e8e3bb
feat!: Moving handler to internal/handler
So people aware that the package is internal use and not using that
on their projects.
2024-07-07 01:42:29 +07:00
4c7d53547b
feat!: Change the module name to "URL based"
This make me easier to test the module with external services.
2024-07-07 01:28:44 +07:00
be43734663
chore(test): Add test shortcut to Makefile
Also rename `.github/workflows/lint.yml` to `.github/workflows/test.yml`
2024-07-07 00:51:54 +07:00
23 changed files with 105 additions and 49 deletions

View file

@ -1,19 +0,0 @@
on:
push:
branches:
- main
pull_request:
name: Test
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: golangci-lint
uses: golangci/golangci-lint-action@v4
with:
version: latest

View file

@ -39,7 +39,7 @@ jobs:
goarch: ${{ matrix.goarch }}
overwrite: true
pre_command: export CGO_ENABLED=0
ldflags: -s -w -X xmr-remote-nodes/internal/config.Version=${{github.ref_name}}
ldflags: -s -w -X github.com/ditatompel/xmr-remote-nodes/internal/config.Version=${{github.ref_name}}
build_flags: -tags server
project_path: .
binary_name: server
@ -53,7 +53,7 @@ jobs:
goarch: ${{ matrix.goarch }}
overwrite: true
pre_command: export CGO_ENABLED=0
ldflags: -s -w -X xmr-remote-nodes/internal/config.Version=${{github.ref_name}}
ldflags: -s -w -X github.com/ditatompel/xmr-remote-nodes/internal/config.Version=${{github.ref_name}}
binary_name: client
project_path: .
extra_files: LICENSE README.md

51
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,51 @@
on:
push:
branches:
- main
pull_request:
name: Test
jobs:
test:
name: test
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: 1.22.x
- name: Cache Go modules
uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Run lint
uses: golangci/golangci-lint-action@v4
with:
version: latest
- name: setup NodeJS
uses: actions/setup-node@v4
with:
node-version: "20"
registry-url: "https://registry.npmjs.org"
- name: Cache node modules
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Build UI
run: make ui
- name: Run test
run: make test

View file

@ -27,7 +27,7 @@ ifdef RELEASE_TAG
endif
# end modified rclone's Makefile
BUILD_LDFLAGS := -s -w -X xmr-remote-nodes/internal/config.Version=$(TAG)
BUILD_LDFLAGS := -s -w -X github.com/ditatompel/xmr-remote-nodes/internal/config.Version=$(TAG)
# This called from air cmd (see .air.toml)
.PHONY: dev
@ -65,6 +65,18 @@ clean:
rm -rfv ./bin
rm -rf ./frontend/build
.PHONY: lint
lint:
golangci-lint run ./...
.PHONY: test
test:
go test -race -cover ./...
.PHONY: bench
bench:
go test ./... -bench=. -benchmem -run=^#
# Deploying new binary file to server and probers host
# The deploy-* command doesn't build the binary file, so you need to run `make build` first.
# And make sure the inventory and deploy-*.yml file is properly configured.

View file

@ -1,6 +1,6 @@
# XMR Remote Nodes
[![Lint](https://github.com/ditatompel/xmr-remote-nodes/actions/workflows/lint.yml/badge.svg)](https://github.com/ditatompel/xmr-remote-nodes/actions/workflows/lint.yml)
[![Test](https://github.com/ditatompel/xmr-remote-nodes/actions/workflows/test.yml/badge.svg)](https://github.com/ditatompel/xmr-remote-nodes/actions/workflows/test.yml)
[![BUild](https://github.com/ditatompel/xmr-remote-nodes/actions/workflows/build.yml/badge.svg)](https://github.com/ditatompel/xmr-remote-nodes/actions/workflows/build.yml)
[![Release Binaries](https://github.com/ditatompel/xmr-remote-nodes/actions/workflows/release.yml/badge.svg)](https://github.com/ditatompel/xmr-remote-nodes/actions/workflows/release.yml)

View file

@ -12,8 +12,9 @@ import (
"net/http"
"os"
"time"
"xmr-remote-nodes/internal/config"
"xmr-remote-nodes/internal/monero"
"github.com/ditatompel/xmr-remote-nodes/internal/config"
"github.com/ditatompel/xmr-remote-nodes/internal/monero"
"github.com/spf13/cobra"
"golang.org/x/net/proxy"

View file

@ -2,8 +2,9 @@ package cmd
import (
"os"
"xmr-remote-nodes/cmd/client"
"xmr-remote-nodes/internal/config"
"github.com/ditatompel/xmr-remote-nodes/cmd/client"
"github.com/ditatompel/xmr-remote-nodes/internal/config"
"github.com/spf13/cobra"
)

View file

@ -5,8 +5,9 @@ import (
"os"
"text/tabwriter"
"time"
"xmr-remote-nodes/internal/cron"
"xmr-remote-nodes/internal/database"
"github.com/ditatompel/xmr-remote-nodes/internal/cron"
"github.com/ditatompel/xmr-remote-nodes/internal/database"
"github.com/spf13/cobra"
)

View file

@ -1,6 +1,6 @@
package server
import "xmr-remote-nodes/cmd"
import "github.com/ditatompel/xmr-remote-nodes/cmd"
func init() {
cmd.Root.AddCommand(serveCmd)

View file

@ -9,8 +9,9 @@ import (
"strings"
"text/tabwriter"
"time"
"xmr-remote-nodes/internal/database"
"xmr-remote-nodes/internal/monero"
"github.com/ditatompel/xmr-remote-nodes/internal/database"
"github.com/ditatompel/xmr-remote-nodes/internal/monero"
"github.com/spf13/cobra"
)

View file

@ -7,11 +7,12 @@ import (
"os/signal"
"syscall"
"time"
"xmr-remote-nodes/frontend"
"xmr-remote-nodes/handler"
"xmr-remote-nodes/internal/config"
"xmr-remote-nodes/internal/cron"
"xmr-remote-nodes/internal/database"
"github.com/ditatompel/xmr-remote-nodes/frontend"
"github.com/ditatompel/xmr-remote-nodes/internal/config"
"github.com/ditatompel/xmr-remote-nodes/internal/cron"
"github.com/ditatompel/xmr-remote-nodes/internal/database"
"github.com/ditatompel/xmr-remote-nodes/internal/handler"
"github.com/gofiber/fiber/v2"
"github.com/gofiber/fiber/v2/middleware/cors"

2
go.mod
View file

@ -1,4 +1,4 @@
module xmr-remote-nodes
module github.com/ditatompel/xmr-remote-nodes
go 1.22.2

View file

@ -5,7 +5,8 @@ import (
"log/slog"
"math"
"time"
"xmr-remote-nodes/internal/database"
"github.com/ditatompel/xmr-remote-nodes/internal/database"
)
type CronRepository interface {

View file

@ -2,7 +2,8 @@ package database
import (
"fmt"
"xmr-remote-nodes/internal/config"
"github.com/ditatompel/xmr-remote-nodes/internal/config"
_ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"

View file

@ -1,7 +1,7 @@
package handler
import (
"xmr-remote-nodes/internal/monero"
"github.com/ditatompel/xmr-remote-nodes/internal/monero"
"github.com/gofiber/fiber/v2"
)

View file

@ -2,7 +2,8 @@ package handler
import (
"strconv"
"xmr-remote-nodes/internal/monero"
"github.com/ditatompel/xmr-remote-nodes/internal/monero"
"github.com/gofiber/fiber/v2"
)

View file

@ -10,7 +10,8 @@ import (
"slices"
"strings"
"time"
"xmr-remote-nodes/internal/database"
"github.com/ditatompel/xmr-remote-nodes/internal/database"
"github.com/jmoiron/sqlx/types"
)

View file

@ -5,8 +5,9 @@ import (
"reflect"
"strconv"
"testing"
"xmr-remote-nodes/internal/config"
"xmr-remote-nodes/internal/database"
"github.com/ditatompel/xmr-remote-nodes/internal/config"
"github.com/ditatompel/xmr-remote-nodes/internal/database"
)
var testMySQL = true

View file

@ -4,7 +4,8 @@ import (
"fmt"
"slices"
"strings"
"xmr-remote-nodes/internal/database"
"github.com/ditatompel/xmr-remote-nodes/internal/database"
"github.com/google/uuid"
)

View file

@ -9,7 +9,8 @@ import (
"slices"
"strings"
"time"
"xmr-remote-nodes/internal/geo"
"github.com/ditatompel/xmr-remote-nodes/internal/geo"
)
type QueryLogs struct {

View file

@ -1,7 +1,7 @@
package main
import (
"xmr-remote-nodes/cmd"
"github.com/ditatompel/xmr-remote-nodes/cmd"
)
func main() {

View file

@ -2,4 +2,4 @@
package main
import _ "xmr-remote-nodes/cmd/server"
import _ "github.com/ditatompel/xmr-remote-nodes/cmd/server"