auto release with github action (#1032)
* auto release with github action * build arm64 artifacts
This commit is contained in:
parent
315e0ef903
commit
01e611a9f9
|
@ -1,26 +1,32 @@
|
||||||
name: Go
|
name: Release
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
tags:
|
||||||
pull_request:
|
- 'v*'
|
||||||
branches: [ main ]
|
env:
|
||||||
|
GO_VERSION: 1.18
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
goreleaser:
|
||||||
build:
|
|
||||||
name: Build
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Checkout Source Code
|
||||||
- name: Set up Go 1.17
|
uses: actions/checkout@v3
|
||||||
uses: actions/setup-go@v1
|
with:
|
||||||
with:
|
fetch-depth: 0
|
||||||
go-version: 1.17
|
- name: Setup Go Environment
|
||||||
id: go
|
uses: actions/setup-go@v3
|
||||||
|
with:
|
||||||
- name: Check out code into the Go module directory
|
go-version: ${{ env.GO_VERSION }}
|
||||||
uses: actions/checkout@v2
|
- uses: docker/login-action@v2
|
||||||
|
with:
|
||||||
- name: Build
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||||
run: make
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||||
|
- name: Run GoReleaser
|
||||||
|
uses: goreleaser/goreleaser-action@v3
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
args: release --rm-dist
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
|
@ -0,0 +1,88 @@
|
||||||
|
before:
|
||||||
|
hooks:
|
||||||
|
# You may remove this if you don't use go modules.
|
||||||
|
- go mod tidy
|
||||||
|
|
||||||
|
snapshot:
|
||||||
|
name_template: '{{ .Tag }}'
|
||||||
|
checksum:
|
||||||
|
name_template: 'checksums.txt'
|
||||||
|
changelog:
|
||||||
|
skip: true
|
||||||
|
|
||||||
|
builds:
|
||||||
|
- id: build
|
||||||
|
hooks:
|
||||||
|
pre:
|
||||||
|
- ./fe.sh
|
||||||
|
main: ./src/
|
||||||
|
binary: n9e
|
||||||
|
env:
|
||||||
|
- CGO_ENABLED=0
|
||||||
|
goos:
|
||||||
|
- linux
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
ldflags:
|
||||||
|
- -s -w
|
||||||
|
- -X github.com/didi/nightingale/v5/src/pkg/version.VERSION={{ .Tag }}-{{.Commit}}
|
||||||
|
|
||||||
|
archives:
|
||||||
|
- id: n9e
|
||||||
|
builds:
|
||||||
|
- build
|
||||||
|
format: tar.gz
|
||||||
|
format_overrides:
|
||||||
|
- goos: windows
|
||||||
|
format: zip
|
||||||
|
name_template: "n9e-v{{ .Version }}-{{ .Os }}-{{ .Arch }}"
|
||||||
|
wrap_in_directory: false
|
||||||
|
files:
|
||||||
|
- docker/*
|
||||||
|
- etc/*
|
||||||
|
- pub/*
|
||||||
|
|
||||||
|
release:
|
||||||
|
github:
|
||||||
|
owner: ccfos
|
||||||
|
name: nightingale
|
||||||
|
name_template: "v{{ .Version }}"
|
||||||
|
|
||||||
|
dockers:
|
||||||
|
- image_templates:
|
||||||
|
- flashcatcloud/nightingale:{{ .Version }}-amd64
|
||||||
|
goos: linux
|
||||||
|
goarch: amd64
|
||||||
|
ids:
|
||||||
|
- build
|
||||||
|
dockerfile: docker/Dockerfile.goreleaser
|
||||||
|
extra_files:
|
||||||
|
- pub
|
||||||
|
use: buildx
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/amd64"
|
||||||
|
- image_templates:
|
||||||
|
- flashcatcloud/nightingale:{{ .Version }}-arm64v8
|
||||||
|
goos: linux
|
||||||
|
goarch: arm64
|
||||||
|
ids:
|
||||||
|
- build
|
||||||
|
dockerfile: docker/Dockerfile.goreleaser
|
||||||
|
extra_files:
|
||||||
|
- pub
|
||||||
|
use: buildx
|
||||||
|
build_flag_templates:
|
||||||
|
- "--platform=linux/arm64/v8"
|
||||||
|
|
||||||
|
docker_manifests:
|
||||||
|
|
||||||
|
- name_template: flashcatcloud/nightingale:{{ .Version }}
|
||||||
|
image_templates:
|
||||||
|
- flashcatcloud/nightingale:{{ .Version }}-amd64
|
||||||
|
- flashcatcloud/nightingale:{{ .Version }}-arm64v8
|
||||||
|
|
||||||
|
- name_template: flashcatcloud/nightingale:latest
|
||||||
|
image_templates:
|
||||||
|
- flashcatcloud/nightingale:{{ .Version }}-amd64
|
||||||
|
- flashcatcloud/nightingale:{{ .Version }}-arm64v8
|
|
@ -0,0 +1,14 @@
|
||||||
|
FROM --platform=$BUILDPLATFORM python:2
|
||||||
|
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
ADD n9e /app
|
||||||
|
ADD http://download.flashcat.cloud/wait /wait
|
||||||
|
RUN mkdir -p /app/pub && chmod +x /wait
|
||||||
|
ADD pub /app/pub/
|
||||||
|
RUN chmod +x n9e
|
||||||
|
|
||||||
|
EXPOSE 19000
|
||||||
|
EXPOSE 18000
|
||||||
|
|
||||||
|
CMD ["/app/n9e", "-h"]
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
TAG=$(curl -sX GET https://api.github.com/repos/n9e/fe-v5/releases/latest | awk '/tag_name/{print $4;exit}' FS='[""]')
|
||||||
|
VERSION=$(echo $TAG | sed 's/v//g')
|
||||||
|
|
||||||
|
curl -o n9e-fe-${VERSION}.tar.gz -L https://github.com/n9e/fe-v5/releases/download/${TAG}/n9e-fe-${VERSION}.tar.gz
|
||||||
|
|
||||||
|
tar zxvf n9e-fe-${VERSION}.tar.gz
|
Loading…
Reference in New Issue