Files
terminal/.github/workflows/build-docker-artifact.yml
T

65 lines
1.7 KiB
YAML

name: Build Docker Image Artifact
on:
workflow_dispatch:
inputs:
tag:
description: '镜像标签版本'
required: false
default: 'latest'
jobs:
build:
name: Build Docker Image
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: '1.22'
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Build web
run: |
cd web
npm install --global yarn
yarn
yarn build
cp -r build ../server/resource/
- name: Build binary
run: |
go mod tidy
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-s -w' -o next-terminal .
- name: Get version
id: version
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "VERSION=${{ inputs.tag }}" >> $GITHUB_OUTPUT
else
echo "VERSION=$(date +%Y%m%d-%H%M%S)" >> $GITHUB_OUTPUT
fi
- name: Create package
run: |
mkdir -p next-terminal
cp next-terminal next-terminal/
cp config.yml.example next-terminal/config.yml
cp LICENSE next-terminal/
tar zcvf next-terminal-${{ steps.version.outputs.VERSION }}-linux-amd64.tar.gz next-terminal/
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: next-terminal-${{ steps.version.outputs.VERSION }}-linux-amd64
path: next-terminal-${{ steps.version.outputs.VERSION }}-linux-amd64.tar.gz
retention-days: 7