- added workflow for releasing
This commit is contained in:
Tiger Wang (王豫) 2022-08-06 22:52:14 -04:00 committed by GitHub
parent e2b617e510
commit 7792496f2d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 112 additions and 18 deletions

41
.github/workflows/release.yml vendored Normal file
View File

@ -0,0 +1,41 @@
name: goreleaser
on:
push:
branches:
- main
tags:
- v*.*.*
permissions:
contents: write
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
-
name: Fetch all tags
run: git fetch --force --tags
-
name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19
-
name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
with:
# either 'goreleaser' (default) or 'goreleaser-pro'
distribution: goreleaser
version: latest
args: release --rm-dist
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Your GoReleaser Pro key, if you are using the 'goreleaser-pro' distribution
# GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}

1
.gitignore vendored
View File

@ -17,4 +17,5 @@
# IDE
.vscode/
target/
dist/
__debug_bin

43
.goreleaser.yaml Normal file
View File

@ -0,0 +1,43 @@
# This is an example .goreleaser.yml file with some sensible defaults.
# Make sure to check the documentation at https://goreleaser.com
project_name: casaos-user-service
before:
hooks:
# You may remove this if you don't use go modules.
- go mod tidy
builds:
- binary: build/usr/bin/casaos-user-service
env:
- CGO_ENABLED=0
goos:
- linux
goarch:
- amd64
- arm64
- arm
goarm:
- 7
archives:
- name_template: "{{ .Os }}-{{ .Arch }}-{{ .ProjectName }}"
replacements:
arm: arm-7
files:
- build/**/*
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ incpatch .Version }}-snapshot"
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
release:
github:
owner: IceWhaleTech
name: CasaOS-UserService
draft: true
prerelease: auto
mode: replace
name_template: "v{{ .Version }}"

45
main.go
View File

@ -6,6 +6,7 @@ import (
"log"
"net"
"net/http"
"os"
"github.com/IceWhaleTech/CasaOS-Common/utils/logger"
"github.com/IceWhaleTech/CasaOS-Gateway/common"
@ -15,21 +16,27 @@ import (
"github.com/IceWhaleTech/CasaOS-UserService/pkg/utils/random"
"github.com/IceWhaleTech/CasaOS-UserService/route"
"github.com/IceWhaleTech/CasaOS-UserService/service"
"gorm.io/gorm"
)
const localhost = "127.0.0.1"
var (
sqliteDB *gorm.DB
configFlag = flag.String("c", "", "config address")
dbFlag = flag.String("db", "", "db path")
resetUser = flag.Bool("ru", false, "reset user")
user = flag.String("user", "", "user name")
const (
version = "0.3.5"
localhost = "127.0.0.1"
)
func init() {
configFlag := flag.String("c", "", "config address")
dbFlag := flag.String("db", "", "db path")
resetUserFlag := flag.Bool("ru", false, "reset user")
userFlag := flag.String("user", "", "user name")
versionFlag := flag.Bool("v", false, "version")
flag.Parse()
if *versionFlag {
fmt.Println(version)
os.Exit(0)
}
config.InitSetup(*configFlag)
logger.LogInit(config.AppInfo.LogPath, config.AppInfo.LogSaveName, config.AppInfo.LogFileExt)
@ -38,31 +45,33 @@ func init() {
*dbFlag = config.AppInfo.DBPath + "/db"
}
sqliteDB = sqlite.GetDb(*dbFlag)
sqliteDB := sqlite.GetDb(*dbFlag)
service.MyService = service.NewService(sqliteDB, config.CommonInfo.RuntimePath)
}
func main() {
r := route.InitRouter()
if *resetUser {
if user == nil || len(*user) == 0 {
if *resetUserFlag {
if userFlag == nil || len(*userFlag) == 0 {
fmt.Println("user is empty")
return
}
userData := service.MyService.User().GetUserAllInfoByName(*user)
userData := service.MyService.User().GetUserAllInfoByName(*userFlag)
if userData.Id == 0 {
fmt.Println("user not exist")
return
}
password := random.RandomString(6, false)
userData.Password = encryption.GetMD5ByStr(password)
service.MyService.User().UpdateUserPassword(userData)
fmt.Println("User reset successful")
fmt.Println("UserName:" + userData.Username)
fmt.Println("Password:" + password)
return
}
}
func main() {
r := route.InitRouter()
listener, err := net.Listen("tcp", net.JoinHostPort(localhost, "0"))
if err != nil {