-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1a89a34
commit d603fe1
Showing
4 changed files
with
224 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -e | ||
|
||
DIST_PREFIX="wscat-go" | ||
DEBUG_MODE=${2} | ||
TARGET_DIR="dist" | ||
PLATFORMS="darwin/amd64 darwin/arm64 linux/386 linux/amd64 linux/arm64 linux/mips linux/mips64 linux/mipsle linux/mips64le windows/amd64 windows/arm64 openbsd/amd64 openbsd/arm64 freebsd/amd64 freebsd/arm64" | ||
|
||
BUILD_VERSION="$(git describe --tags --always)" | ||
BUILD_DATE="$(date -u +'%Y-%m-%dT%H:%M:%SZ')" | ||
COMMIT_SHA1="$(git rev-parse --short HEAD)" | ||
|
||
rm -rf ${TARGET_DIR} | ||
mkdir ${TARGET_DIR} | ||
|
||
for pl in ${PLATFORMS}; do | ||
export CGO_ENABLED=0 | ||
export GOOS=$(echo ${pl} | cut -d'/' -f1) | ||
export GOARCH=$(echo ${pl} | cut -d'/' -f2) | ||
export TARGET=${TARGET_DIR}/${DIST_PREFIX}_${GOOS}_${GOARCH} | ||
if [ "${GOOS}" == "windows" ]; then | ||
export TARGET=${TARGET_DIR}/${DIST_PREFIX}_${GOOS}_${GOARCH}.exe | ||
fi | ||
|
||
echo "build => ${TARGET}" | ||
if [ "${DEBUG_MODE}" == "debug" ]; then | ||
go build -trimpath -gcflags "all=-N -l" -o ${TARGET} \ | ||
-ldflags "-w -s" | ||
else | ||
go build -trimpath -o ${TARGET} \ | ||
-ldflags "-w -s" | ||
fi | ||
done | ||
export CGO_ENABLED=0 | ||
export GOOS='linux' | ||
export GOARCH='arm' | ||
export GOARM='7' | ||
export TARGET=${TARGET_DIR}/${DIST_PREFIX}_${GOOS}_${GOARCH}v7 | ||
echo "build => ${TARGET}" | ||
if [ "${DEBUG_MODE}" == "debug" ]; then | ||
go build -trimpath -gcflags "all=-N -l" -o ${TARGET} \ | ||
-ldflags "-w -s" | ||
else | ||
go build -trimpath -o ${TARGET} \ | ||
-ldflags "-w -s" | ||
fi | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# To get started with Dependabot version updates, you'll need to specify which | ||
# package ecosystems to update and where the package manifests are located. | ||
# Please see the documentation for all configuration options: | ||
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates | ||
|
||
version: 2 | ||
updates: | ||
- package-ecosystem: "gomod" | ||
directory: "/" # Location of package manifests | ||
schedule: | ||
interval: "weekly" | ||
- package-ecosystem: "github-actions" | ||
directory: "/" | ||
schedule: | ||
interval: "weekly" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,159 @@ | ||
name: Build & Release | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
tags: | ||
- "v*" | ||
paths: | ||
- "**/*.go" | ||
- "go.mod" | ||
- "go.sum" | ||
- ".github/workflows/*.yml" | ||
pull_request: | ||
types: [opened, synchronize, reopened] | ||
paths: | ||
- "**/*.go" | ||
- "go.mod" | ||
- "go.sum" | ||
- ".github/workflows/*.yml" | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
# Include amd64 on all platforms. | ||
goos: [windows, freebsd, openbsd, linux, dragonfly, darwin] | ||
goarch: [amd64, 386] | ||
exclude: | ||
# Exclude i386 on darwin and dragonfly. | ||
- goarch: 386 | ||
goos: dragonfly | ||
- goarch: 386 | ||
goos: darwin | ||
include: | ||
# BEIGIN MacOS ARM64 | ||
- goos: darwin | ||
goarch: arm64 | ||
# END macOS ARM64 | ||
# BEGIN Linux ARM 5 6 7 | ||
- goos: linux | ||
goarch: arm | ||
goarm: 7 | ||
- goos: linux | ||
goarch: arm | ||
goarm: 6 | ||
- goos: linux | ||
goarch: arm | ||
goarm: 5 | ||
# END Linux ARM 5 6 7 | ||
# BEGIN Android ARM 8 | ||
- goos: android | ||
goarch: arm64 | ||
# END Android ARM 8 | ||
# Windows ARM | ||
- goos: windows | ||
goarch: arm64 | ||
- goos: windows | ||
goarch: arm | ||
goarm: 7 | ||
# BEGIN Other architectures | ||
# BEGIN riscv64 & ARM64 | ||
- goos: linux | ||
goarch: arm64 | ||
- goos: linux | ||
goarch: riscv64 | ||
# END riscv64 & ARM64 | ||
# BEGIN MIPS | ||
- goos: linux | ||
goarch: mips64 | ||
- goos: linux | ||
goarch: mips64le | ||
- goos: linux | ||
goarch: mipsle | ||
- goos: linux | ||
goarch: mips | ||
- goos: linux | ||
goarch: mipsle | ||
gomips: softfloat | ||
- goos: linux | ||
goarch: mips | ||
gomips: softfloat | ||
# END MIPS | ||
# BEGIN PPC | ||
- goos: linux | ||
goarch: ppc64 | ||
- goos: linux | ||
goarch: ppc64le | ||
# END PPC | ||
# BEGIN FreeBSD ARM | ||
- goos: freebsd | ||
goarch: arm64 | ||
- goos: freebsd | ||
goarch: arm | ||
goarm: 7 | ||
# END FreeBSD ARM | ||
# BEGIN S390X | ||
- goos: linux | ||
goarch: s390x | ||
# END S390X | ||
# END Other architectures | ||
# BEGIN OPENBSD ARM | ||
- goos: openbsd | ||
goarch: arm64 | ||
- goos: openbsd | ||
goarch: arm | ||
goarm: 7 | ||
env: | ||
GOOS: ${{ matrix.goos }} | ||
GOARCH: ${{ matrix.goarch }} | ||
GOARM: ${{ matrix.goarm }} | ||
GOMIPS: ${{ matrix.gomips }} | ||
CGO_ENABLED: 0 | ||
steps: | ||
- name: Checkout codebase | ||
uses: actions/checkout@v4 | ||
- name: Show workflow information | ||
run: | | ||
if [ ! -z $GOARM ]; then | ||
export GOARM=v$GOARM | ||
fi | ||
export _NAME="nexttrace_${GOOS}_${GOARCH}${GOARM}" | ||
if [ "$GOOS" == "windows" ]; then | ||
export _NAME="$_NAME.exe" | ||
fi | ||
if [ "$GOMIPS" == "softfloat" ]; then | ||
export _NAME="${_NAME}_softfolat" | ||
fi | ||
echo "GOOS: $GOOS, GOARCH: $GOARCH, GOARM: $GOARM, GOMIPS: $GOMIPS, RELEASE_NAME: $_NAME" | ||
echo "ASSET_NAME=$_NAME" >> $GITHUB_ENV | ||
echo "BUILD_VERSION=$(git describe --tags --always)" >> $GITHUB_ENV | ||
echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_ENV | ||
echo "COMMIT_SHA1=$(git rev-parse --short HEAD)" >> $GITHUB_ENV | ||
- name: Set up Go | ||
uses: actions/setup-go@v4 | ||
with: | ||
go-version: '1.21' | ||
- name: Get project dependencies | ||
run: go mod download | ||
- name: Build | ||
run: | | ||
go build -trimpath -o dist/${ASSET_NAME} \ | ||
-ldflags "-w -s" | ||
- name: Upload files to Artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
name: ${{ env.ASSET_NAME }} | ||
path: | | ||
dist/${{ env.ASSET_NAME }} | ||
- name: Release | ||
if: startsWith(github.ref, 'refs/tags/v') | ||
uses: softprops/action-gh-release@v1 | ||
with: # 将下述可执行文件 release 上去 | ||
draft: true # Release草稿 | ||
files: | | ||
dist/* | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GT_Token }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -79,4 +79,5 @@ fabric.properties | |
|
||
wscat-go | ||
.idea | ||
dist | ||
|