Skip to content

Commit 1d38146

Browse files
committed
Add release CI
1 parent b43040f commit 1d38146

3 files changed

Lines changed: 69 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Go Build and Release
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
version:
7+
description: 'Release version'
8+
required: true
9+
10+
jobs:
11+
build:
12+
name: Build and Release
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Set up Go
16+
uses: actions/setup-go@v4
17+
with:
18+
go-version: '1.24'
19+
20+
- name: Check out code
21+
uses: actions/checkout@v4
22+
23+
- name: Build Binary
24+
run: make build-ci
25+
26+
- name: Create Release
27+
id: create_release
28+
uses: actions/create-release@v1
29+
env:
30+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
31+
with:
32+
tag_name: ${{ github.event.inputs.version }}
33+
release_name: Release ${{ github.event.inputs.version }}
34+
draft: false
35+
prerelease: false
36+
37+
- name: Upload Release Asset AMD64
38+
id: upload-release-asset-amd64
39+
uses: actions/upload-release-asset@v1
40+
env:
41+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42+
with:
43+
upload_url: ${{ steps.create_release.outputs.upload_url }}
44+
asset_path: ./build/rdproxy-linux-amd64.tar.gz
45+
asset_name: rdproxy-linux-amd64.tar.gz
46+
asset_content_type: application/octet-stream
47+
48+
- name: Upload Release Asset ARM64
49+
id: upload-release-asset-arm64
50+
uses: actions/upload-release-asset@v1
51+
env:
52+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53+
with:
54+
upload_url: ${{ steps.create_release.outputs.upload_url }}
55+
asset_path: ./build/rdproxy-linux-arm64.tar.gz
56+
asset_name: rdproxy-linux-arm64.tar.gz
57+
asset_content_type: application/octet-stream

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.vscode
22
__debug*
3+
build

Makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
.PHONY: build run
2+
3+
build:
4+
env go build -o ./build/rdproxy ./...
5+
chmod +x ./build/rdproxy
6+
7+
build-ci:
8+
env GOOS=linux GOARCH=amd64 go build -o ./build/rdproxy-linux-amd64 -ldflags="-w -s" ./...
9+
env GOOS=linux GOARCH=arm64 go build -o ./build/rdproxy-linux-arm64 -ldflags="-w -s" ./...
10+
cd ./build && tar -zcvf ./rdproxy-linux-amd64.tar.gz ./rdproxy-linux-amd64
11+
cd ./build && tar -zcvf ./rdproxy-linux-arm64.tar.gz ./rdproxy-linux-arm64

0 commit comments

Comments
 (0)