mirror of
https://git.um-react.app/um/cli.git
synced 2025-11-28 19:53:01 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2ef27761f | ||
|
|
7f7cb66fe5 | ||
|
|
77729cf653 | ||
|
|
b317b89ae9 |
@@ -8,7 +8,10 @@ local CreateRelease() = {
|
|||||||
settings: {
|
settings: {
|
||||||
api_key: { from_secret: 'GITEA_API_KEY' },
|
api_key: { from_secret: 'GITEA_API_KEY' },
|
||||||
base_url: 'https://git.unlock-music.dev',
|
base_url: 'https://git.unlock-music.dev',
|
||||||
files: 'dist/*',
|
files: [
|
||||||
|
'um-*.tar.gz',
|
||||||
|
'um-*.zip',
|
||||||
|
],
|
||||||
checksum: 'sha256',
|
checksum: 'sha256',
|
||||||
draft: true,
|
draft: true,
|
||||||
title: '${DRONE_TAG}',
|
title: '${DRONE_TAG}',
|
||||||
@@ -19,14 +22,14 @@ local CreateRelease() = {
|
|||||||
local StepGoBuild(GOOS, GOARCH) = {
|
local StepGoBuild(GOOS, GOARCH) = {
|
||||||
local windows = GOOS == 'windows',
|
local windows = GOOS == 'windows',
|
||||||
local archiveExt = if windows then 'zip' else 'tar.gz',
|
local archiveExt = if windows then 'zip' else 'tar.gz',
|
||||||
local filepath = 'dist/um-%s-%s.%s' % [GOOS, GOARCH, archiveExt],
|
local filepath = 'dist/um-%s-%s-%s.%s' % [GOOS, GOARCH, '$(git describe --tags --always)', archiveExt],
|
||||||
|
|
||||||
local archive = if windows then [
|
local archive = if windows then [
|
||||||
// Ensure zip is installed
|
// Ensure zip is installed
|
||||||
'command -v zip >/dev/null || (apt update && apt install -y zip)',
|
'command -v zip >/dev/null || (apt update && apt install -y zip)',
|
||||||
'zip -9 -j -r "%s" $DIST_DIR' % filepath,
|
'zip -9 -j -r "%s" $DIST_DIR' % filepath,
|
||||||
] else [
|
] else [
|
||||||
'tar -zc -C $DIST_DIR um | gzip -9 > "%s"' % filepath,
|
'tar -c -C $DIST_DIR um | gzip -9 > "%s"' % filepath,
|
||||||
],
|
],
|
||||||
|
|
||||||
name: 'go build %s/%s' % [GOOS, GOARCH],
|
name: 'go build %s/%s' % [GOOS, GOARCH],
|
||||||
@@ -46,7 +49,7 @@ local StepGoBuild(GOOS, GOARCH) = {
|
|||||||
local StepUploadArtifact(GOOS, GOARCH) = {
|
local StepUploadArtifact(GOOS, GOARCH) = {
|
||||||
local windows = GOOS == 'windows',
|
local windows = GOOS == 'windows',
|
||||||
local archiveExt = if windows then 'zip' else 'tar.gz',
|
local archiveExt = if windows then 'zip' else 'tar.gz',
|
||||||
local filename = 'um-%s-%s.%s' % [GOOS, GOARCH, archiveExt],
|
local filename = 'um-%s-%s-%s.%s' % [GOOS, GOARCH, '$(git describe --tags --always)', archiveExt],
|
||||||
local filepath = 'dist/%s' % filename,
|
local filepath = 'dist/%s' % filename,
|
||||||
local pkgname = '${DRONE_REPO_NAME}-build',
|
local pkgname = '${DRONE_REPO_NAME}-build',
|
||||||
|
|
||||||
@@ -123,6 +126,13 @@ local PipelineRelease() = {
|
|||||||
StepGoBuild('windows', '386'),
|
StepGoBuild('windows', '386'),
|
||||||
StepGoBuild('darwin', 'amd64'),
|
StepGoBuild('darwin', 'amd64'),
|
||||||
StepGoBuild('darwin', 'arm64'),
|
StepGoBuild('darwin', 'arm64'),
|
||||||
|
{
|
||||||
|
name: 'prepare root',
|
||||||
|
image: 'golang:1.22',
|
||||||
|
commands: [
|
||||||
|
'mv dist/*.tar.gz dist/*.zip ./',
|
||||||
|
],
|
||||||
|
},
|
||||||
CreateRelease(),
|
CreateRelease(),
|
||||||
],
|
],
|
||||||
trigger: {
|
trigger: {
|
||||||
|
|||||||
57
.drone.yml
57
.drone.yml
@@ -17,7 +17,8 @@ steps:
|
|||||||
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-linux-amd64.tar.gz"
|
- tar -c -C $DIST_DIR um | gzip -9 > "dist/um-linux-amd64-$(git describe --tags
|
||||||
|
--always).tar.gz"
|
||||||
environment:
|
environment:
|
||||||
GOARCH: amd64
|
GOARCH: amd64
|
||||||
GOOS: linux
|
GOOS: linux
|
||||||
@@ -25,9 +26,10 @@ steps:
|
|||||||
image: golang:1.22
|
image: golang:1.22
|
||||||
name: go build linux/amd64
|
name: go build linux/amd64
|
||||||
- commands:
|
- commands:
|
||||||
- curl --fail --include --user "um-release-bot:$GITEA_API_KEY" --upload-file "dist/um-linux-amd64.tar.gz"
|
- curl --fail --include --user "um-release-bot:$GITEA_API_KEY" --upload-file "dist/um-linux-amd64-$(git
|
||||||
"$DRONE_GITEA_SERVER/api/packages/${DRONE_REPO_NAMESPACE}/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}/um-linux-amd64.tar.gz"
|
describe --tags --always).tar.gz" "$DRONE_GITEA_SERVER/api/packages/${DRONE_REPO_NAMESPACE}/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}/um-linux-amd64-$(git
|
||||||
- sha256sum dist/um-linux-amd64.tar.gz
|
describe --tags --always).tar.gz"
|
||||||
|
- sha256sum dist/um-linux-amd64-$(git describe --tags --always).tar.gz
|
||||||
- echo $DRONE_GITEA_SERVER/${DRONE_REPO_NAMESPACE}/-/packages/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}
|
- echo $DRONE_GITEA_SERVER/${DRONE_REPO_NAMESPACE}/-/packages/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}
|
||||||
environment:
|
environment:
|
||||||
DRONE_GITEA_SERVER: https://git.unlock-music.dev
|
DRONE_GITEA_SERVER: https://git.unlock-music.dev
|
||||||
@@ -54,7 +56,7 @@ steps:
|
|||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- command -v zip >/dev/null || (apt update && apt install -y zip)
|
- command -v zip >/dev/null || (apt update && apt install -y zip)
|
||||||
- zip -9 -j -r "dist/um-windows-amd64.zip" $DIST_DIR
|
- zip -9 -j -r "dist/um-windows-amd64-$(git describe --tags --always).zip" $DIST_DIR
|
||||||
environment:
|
environment:
|
||||||
GOARCH: amd64
|
GOARCH: amd64
|
||||||
GOOS: windows
|
GOOS: windows
|
||||||
@@ -62,9 +64,10 @@ steps:
|
|||||||
image: golang:1.22
|
image: golang:1.22
|
||||||
name: go build windows/amd64
|
name: go build windows/amd64
|
||||||
- commands:
|
- commands:
|
||||||
- curl --fail --include --user "um-release-bot:$GITEA_API_KEY" --upload-file "dist/um-windows-amd64.zip"
|
- curl --fail --include --user "um-release-bot:$GITEA_API_KEY" --upload-file "dist/um-windows-amd64-$(git
|
||||||
"$DRONE_GITEA_SERVER/api/packages/${DRONE_REPO_NAMESPACE}/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}/um-windows-amd64.zip"
|
describe --tags --always).zip" "$DRONE_GITEA_SERVER/api/packages/${DRONE_REPO_NAMESPACE}/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}/um-windows-amd64-$(git
|
||||||
- sha256sum dist/um-windows-amd64.zip
|
describe --tags --always).zip"
|
||||||
|
- sha256sum dist/um-windows-amd64-$(git describe --tags --always).zip
|
||||||
- echo $DRONE_GITEA_SERVER/${DRONE_REPO_NAMESPACE}/-/packages/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}
|
- echo $DRONE_GITEA_SERVER/${DRONE_REPO_NAMESPACE}/-/packages/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}
|
||||||
environment:
|
environment:
|
||||||
DRONE_GITEA_SERVER: https://git.unlock-music.dev
|
DRONE_GITEA_SERVER: https://git.unlock-music.dev
|
||||||
@@ -90,7 +93,8 @@ steps:
|
|||||||
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-darwin-amd64.tar.gz"
|
- tar -c -C $DIST_DIR um | gzip -9 > "dist/um-darwin-amd64-$(git describe --tags
|
||||||
|
--always).tar.gz"
|
||||||
environment:
|
environment:
|
||||||
GOARCH: amd64
|
GOARCH: amd64
|
||||||
GOOS: darwin
|
GOOS: darwin
|
||||||
@@ -98,9 +102,10 @@ steps:
|
|||||||
image: golang:1.22
|
image: golang:1.22
|
||||||
name: go build darwin/amd64
|
name: go build darwin/amd64
|
||||||
- commands:
|
- commands:
|
||||||
- curl --fail --include --user "um-release-bot:$GITEA_API_KEY" --upload-file "dist/um-darwin-amd64.tar.gz"
|
- curl --fail --include --user "um-release-bot:$GITEA_API_KEY" --upload-file "dist/um-darwin-amd64-$(git
|
||||||
"$DRONE_GITEA_SERVER/api/packages/${DRONE_REPO_NAMESPACE}/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}/um-darwin-amd64.tar.gz"
|
describe --tags --always).tar.gz" "$DRONE_GITEA_SERVER/api/packages/${DRONE_REPO_NAMESPACE}/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}/um-darwin-amd64-$(git
|
||||||
- sha256sum dist/um-darwin-amd64.tar.gz
|
describe --tags --always).tar.gz"
|
||||||
|
- sha256sum dist/um-darwin-amd64-$(git describe --tags --always).tar.gz
|
||||||
- echo $DRONE_GITEA_SERVER/${DRONE_REPO_NAMESPACE}/-/packages/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}
|
- echo $DRONE_GITEA_SERVER/${DRONE_REPO_NAMESPACE}/-/packages/generic/${DRONE_REPO_NAME}-build/${DRONE_BUILD_NUMBER}
|
||||||
environment:
|
environment:
|
||||||
DRONE_GITEA_SERVER: https://git.unlock-music.dev
|
DRONE_GITEA_SERVER: https://git.unlock-music.dev
|
||||||
@@ -132,7 +137,8 @@ steps:
|
|||||||
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-linux-amd64.tar.gz"
|
- tar -c -C $DIST_DIR um | gzip -9 > "dist/um-linux-amd64-$(git describe --tags
|
||||||
|
--always).tar.gz"
|
||||||
environment:
|
environment:
|
||||||
GOARCH: amd64
|
GOARCH: amd64
|
||||||
GOOS: linux
|
GOOS: linux
|
||||||
@@ -144,7 +150,8 @@ steps:
|
|||||||
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-linux-arm64.tar.gz"
|
- tar -c -C $DIST_DIR um | gzip -9 > "dist/um-linux-arm64-$(git describe --tags
|
||||||
|
--always).tar.gz"
|
||||||
environment:
|
environment:
|
||||||
GOARCH: arm64
|
GOARCH: arm64
|
||||||
GOOS: linux
|
GOOS: linux
|
||||||
@@ -156,7 +163,7 @@ steps:
|
|||||||
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-linux-386.tar.gz"
|
- tar -c -C $DIST_DIR um | gzip -9 > "dist/um-linux-386-$(git describe --tags --always).tar.gz"
|
||||||
environment:
|
environment:
|
||||||
GOARCH: "386"
|
GOARCH: "386"
|
||||||
GOOS: linux
|
GOOS: linux
|
||||||
@@ -169,7 +176,7 @@ steps:
|
|||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- command -v zip >/dev/null || (apt update && apt install -y zip)
|
- command -v zip >/dev/null || (apt update && apt install -y zip)
|
||||||
- zip -9 -j -r "dist/um-windows-amd64.zip" $DIST_DIR
|
- zip -9 -j -r "dist/um-windows-amd64-$(git describe --tags --always).zip" $DIST_DIR
|
||||||
environment:
|
environment:
|
||||||
GOARCH: amd64
|
GOARCH: amd64
|
||||||
GOOS: windows
|
GOOS: windows
|
||||||
@@ -182,7 +189,7 @@ steps:
|
|||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- command -v zip >/dev/null || (apt update && apt install -y zip)
|
- command -v zip >/dev/null || (apt update && apt install -y zip)
|
||||||
- zip -9 -j -r "dist/um-windows-arm64.zip" $DIST_DIR
|
- zip -9 -j -r "dist/um-windows-arm64-$(git describe --tags --always).zip" $DIST_DIR
|
||||||
environment:
|
environment:
|
||||||
GOARCH: arm64
|
GOARCH: arm64
|
||||||
GOOS: windows
|
GOOS: windows
|
||||||
@@ -195,7 +202,7 @@ steps:
|
|||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- command -v zip >/dev/null || (apt update && apt install -y zip)
|
- command -v zip >/dev/null || (apt update && apt install -y zip)
|
||||||
- zip -9 -j -r "dist/um-windows-386.zip" $DIST_DIR
|
- zip -9 -j -r "dist/um-windows-386-$(git describe --tags --always).zip" $DIST_DIR
|
||||||
environment:
|
environment:
|
||||||
GOARCH: "386"
|
GOARCH: "386"
|
||||||
GOOS: windows
|
GOOS: windows
|
||||||
@@ -207,7 +214,8 @@ steps:
|
|||||||
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-darwin-amd64.tar.gz"
|
- tar -c -C $DIST_DIR um | gzip -9 > "dist/um-darwin-amd64-$(git describe --tags
|
||||||
|
--always).tar.gz"
|
||||||
environment:
|
environment:
|
||||||
GOARCH: amd64
|
GOARCH: amd64
|
||||||
GOOS: darwin
|
GOOS: darwin
|
||||||
@@ -219,13 +227,18 @@ steps:
|
|||||||
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
- go build -v -trimpath -ldflags="-w -s -X main.AppVersion=$(git describe --tags
|
||||||
--always)" -o $DIST_DIR ./cmd/um
|
--always)" -o $DIST_DIR ./cmd/um
|
||||||
- mkdir -p dist
|
- mkdir -p dist
|
||||||
- tar -zc -C $DIST_DIR um | gzip -9 > "dist/um-darwin-arm64.tar.gz"
|
- tar -c -C $DIST_DIR um | gzip -9 > "dist/um-darwin-arm64-$(git describe --tags
|
||||||
|
--always).tar.gz"
|
||||||
environment:
|
environment:
|
||||||
GOARCH: arm64
|
GOARCH: arm64
|
||||||
GOOS: darwin
|
GOOS: darwin
|
||||||
GOPROXY: https://goproxy.io,direct
|
GOPROXY: https://goproxy.io,direct
|
||||||
image: golang:1.22
|
image: golang:1.22
|
||||||
name: go build darwin/arm64
|
name: go build darwin/arm64
|
||||||
|
- commands:
|
||||||
|
- mv dist/*.tar.gz dist/*.zip ./
|
||||||
|
image: golang:1.22
|
||||||
|
name: prepare root
|
||||||
- image: plugins/gitea-release
|
- image: plugins/gitea-release
|
||||||
name: create release
|
name: create release
|
||||||
settings:
|
settings:
|
||||||
@@ -234,7 +247,9 @@ steps:
|
|||||||
base_url: https://git.unlock-music.dev
|
base_url: https://git.unlock-music.dev
|
||||||
checksum: sha256
|
checksum: sha256
|
||||||
draft: true
|
draft: true
|
||||||
files: dist/*
|
files:
|
||||||
|
- um-*.tar.gz
|
||||||
|
- um-*.zip
|
||||||
title: ${DRONE_TAG}
|
title: ${DRONE_TAG}
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
|
|||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -2,3 +2,6 @@
|
|||||||
|
|
||||||
/dist
|
/dist
|
||||||
*.exe
|
*.exe
|
||||||
|
|
||||||
|
/um-*.tar.gz
|
||||||
|
/um-*.zip
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ import (
|
|||||||
"unlock-music.dev/cli/internal/utils"
|
"unlock-music.dev/cli/internal/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var AppVersion = "v0.2.6"
|
var AppVersion = "v0.2.8"
|
||||||
|
|
||||||
var logger, _ = logging.NewZapLogger() // TODO: inject logger to application, instead of using global logger
|
var logger, _ = logging.NewZapLogger() // TODO: inject logger to application, instead of using global logger
|
||||||
|
|
||||||
@@ -121,13 +121,16 @@ func appMain(c *cli.Context) (err error) {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if output == "" {
|
var inputDir string
|
||||||
// Default to where the input is
|
|
||||||
if inputStat.IsDir() {
|
if inputStat.IsDir() {
|
||||||
output = input
|
inputDir = input
|
||||||
} else {
|
} else {
|
||||||
output = path.Dir(input)
|
inputDir = path.Dir(input)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if output == "" {
|
||||||
|
// Default to where the input dir is
|
||||||
|
output = inputDir
|
||||||
}
|
}
|
||||||
|
|
||||||
outputStat, err := os.Stat(output)
|
outputStat, err := os.Stat(output)
|
||||||
@@ -152,7 +155,7 @@ func appMain(c *cli.Context) (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
proc := &processor{
|
proc := &processor{
|
||||||
inputDir: input,
|
inputDir: inputDir,
|
||||||
outputDir: output,
|
outputDir: output,
|
||||||
skipNoopDecoder: c.Bool("skip-noop"),
|
skipNoopDecoder: c.Bool("skip-noop"),
|
||||||
removeSource: c.Bool("remove-source"),
|
removeSource: c.Bool("remove-source"),
|
||||||
|
|||||||
Reference in New Issue
Block a user