update: goとリリース手順の更新
This commit is contained in:
17
.github/workflows/release.yml
vendored
17
.github/workflows/release.yml
vendored
@@ -15,17 +15,18 @@ env:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
container:
|
|
||||||
image: alpine:latest
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Add packages
|
- name: Checkout
|
||||||
run: apk add git nodejs
|
|
||||||
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version-file: go.mod
|
||||||
|
|
||||||
|
- name: Download dependencies
|
||||||
|
run: go mod download
|
||||||
|
|
||||||
- name: Run Go release script
|
- name: Run Go release script
|
||||||
run: |
|
run: |
|
||||||
chmod +x ./.devcontainer/initialize.sh
|
chmod +x ./.devcontainer/initialize.sh
|
||||||
|
|||||||
2
go.mod
2
go.mod
@@ -1,6 +1,6 @@
|
|||||||
module KamishiroUPM
|
module KamishiroUPM
|
||||||
|
|
||||||
go 1.22.6
|
go 1.26.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/google/uuid v1.6.0
|
github.com/google/uuid v1.6.0
|
||||||
|
|||||||
19
release.go
19
release.go
@@ -10,6 +10,7 @@ import (
|
|||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"slices"
|
||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
@@ -159,13 +160,7 @@ func processRepository(workRoot string, repoSetting RepoSetting, npmToken, npmRe
|
|||||||
}
|
}
|
||||||
|
|
||||||
// サーバーに存在するか確認
|
// サーバーに存在するか確認
|
||||||
existOnServer := false
|
existOnServer := slices.Contains(npmVersions[packageName], packageVersion)
|
||||||
for _, npmVersion := range npmVersions[packageName] {
|
|
||||||
if npmVersion == packageVersion {
|
|
||||||
existOnServer = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if existOnServer {
|
if existOnServer {
|
||||||
fmt.Printf("[Info] Already Published. %s:%s@%s\n", repositoryName, dir, tag)
|
fmt.Printf("[Info] Already Published. %s:%s@%s\n", repositoryName, dir, tag)
|
||||||
@@ -318,7 +313,7 @@ func getNpmTags(npmRepo string, packageName string) ([]string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// JSONをパースしてmapに変換
|
// JSONをパースしてmapに変換
|
||||||
var result map[string]interface{}
|
var result map[string]any
|
||||||
if err := json.Unmarshal(body, &result); err != nil {
|
if err := json.Unmarshal(body, &result); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -329,7 +324,7 @@ func getNpmTags(npmRepo string, packageName string) ([]string, error) {
|
|||||||
|
|
||||||
// バージョン情報一覧を取得
|
// バージョン情報一覧を取得
|
||||||
var versions []string
|
var versions []string
|
||||||
for version := range result["versions"].(map[string]interface{}) {
|
for version := range result["versions"].(map[string]any) {
|
||||||
versions = append(versions, version)
|
versions = append(versions, version)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -337,7 +332,7 @@ func getNpmTags(npmRepo string, packageName string) ([]string, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 指定されたリポジトリの package.json を取得する関数です。
|
// 指定されたリポジトリの package.json を取得する関数です。
|
||||||
func getPackageJson(repoType RepoType, author string, repository string, tag string, dir string) (map[string]interface{}, error) {
|
func getPackageJson(repoType RepoType, author string, repository string, tag string, dir string) (map[string]any, error) {
|
||||||
var url = fmt.Sprintf("%s/%s/%s/%s/%s/package.json", repoTypeMap[repoType], author, repository, tag, dir)
|
var url = fmt.Sprintf("%s/%s/%s/%s/%s/package.json", repoTypeMap[repoType], author, repository, tag, dir)
|
||||||
|
|
||||||
// HTTP GET リクエストを送信
|
// HTTP GET リクエストを送信
|
||||||
@@ -354,7 +349,7 @@ func getPackageJson(repoType RepoType, author string, repository string, tag str
|
|||||||
}
|
}
|
||||||
|
|
||||||
// JSONをパースしてmapに変換
|
// JSONをパースしてmapに変換
|
||||||
var result map[string]interface{}
|
var result map[string]any
|
||||||
if err := json.Unmarshal(body, &result); err != nil {
|
if err := json.Unmarshal(body, &result); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -397,7 +392,7 @@ func getNpmAuthToken(npmRegistry, npmUser, npmPass string) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
var returnData map[string]interface{}
|
var returnData map[string]any
|
||||||
if err := json.Unmarshal(body, &returnData); err != nil {
|
if err := json.Unmarshal(body, &returnData); err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user