Skip to content

feat: add flag --project-name #871

feat: add flag --project-name

feat: add flag --project-name #871

Workflow file for this run

name: Build
on:
push:
tags:
- v*
branches:
- master
- v*
- dev*
- ci*
- feat*
- fix*
paths:
- "**/*.go"
- "go.mod"
- "go.sum"
- ".github/workflows/*.yml"
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
goos: [ linux, darwin ]
goarch: [ amd64, arm64 ]
include:
- goos: windows
goarch: amd64
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
CGO_ENABLED: '0'
steps:
- uses: actions/checkout@v3
- name: Setup Go
uses: actions/setup-go@v4
with:
go-version: 1.19.2
check-latest: true
cache: true
- uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Download dependencies
run: go mod download
- name: Build
run: go build -v -ldflags '-s -w -buildid=' -trimpath -o out/murphysec-${{ matrix.goos }}-${{ matrix.goarch }}
- name: Rename for Windows
if: matrix.goos == 'windows'
run: mv out/murphysec-${{ matrix.goos }}-${{ matrix.goarch }} out/murphysec-${{ matrix.goos }}-${{ matrix.goarch }}.exe
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: murphysec-${{ matrix.goos }}-${{ matrix.goarch }}
path: out/*
merge:
needs:
- build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
with:
name: murphysec-linux-amd64
- uses: actions/download-artifact@v3
with:
name: murphysec-linux-arm64
- uses: actions/download-artifact@v3
with:
name: murphysec-windows-amd64
- uses: actions/download-artifact@v3
with:
name: murphysec-darwin-arm64
- uses: actions/download-artifact@v3
with:
name: murphysec-darwin-amd64
- name: 7zip
run: 7z a bundle.7z -mx=9 -ms=on murphy*
- run: ls -alh
if: always()
- name: Upload artifacts - 7zip-bundle
uses: actions/upload-artifact@v3
with:
name: 7zip-bundle
path: ./bundle.7z
internal-upload:
needs:
- merge
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' && github.actor != 'dependabot[bot]'
env:
COS_BASE64: ${{ secrets.COS_BASE64 }}
LARK_PUSH_KEY: ${{ secrets.LARK_PUSH_KEY }}
QCLOUD_COS_DOMAIN: ${{ secrets.QCLOUD_COS_DOMAIN }}
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: 7zip-bundle
- run: ls -lah
- name: Download upload tools
run: |
wget https://github.com/iseki0/tccos-tools/releases/download/v0.1.0/cosupload-linux-amd64
mv cosupload-linux-amd64 cosupload
chmod 0755 cosupload
- name: Internal upload
run: ./cosupload bundle.7z /client/$GITHUB_REF_NAME/
- uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Lark push
run: deno run --allow-all ci/lark-push.ts
release:
if: startsWith(github.ref, 'refs/tags/')
needs:
- build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v3
- name: Show files
run: |
pwd
find
- name: Calc hash
run: |
mkdir -p out
cp ./murphysec-linux-amd64/murphysec-linux-amd64 ./out/
cp ./murphysec-windows-amd64/murphysec-windows-amd64.exe ./out/
cp ./murphysec-darwin-amd64/murphysec-darwin-amd64 ./out/
cp ./murphysec-darwin-arm64/murphysec-darwin-arm64 ./out
cp ./murphysec-linux-arm64/murphysec-linux-arm64 ./out
cd out
sha256sum * > sha256sum
- name: Release
uses: softprops/action-gh-release@v1
with:
files: out/*
draft: true