Skip to content

Commit b88275d

Browse files
committed
: release publish
1 parent c7a507b commit b88275d

File tree

2 files changed

+112
-5
lines changed

2 files changed

+112
-5
lines changed

.github/workflows/release-publish.yml

+107
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
name: teamsacs release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
build:
10+
name: Build and Release
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Set up Go
14+
uses: actions/setup-go@v3
15+
with:
16+
go-version: '1.21'
17+
18+
- name: Check out code
19+
uses: actions/checkout@v3
20+
21+
# Build for ARM64
22+
- name: Build for ARM64
23+
run: |
24+
mkdir -p ./release
25+
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -a -ldflags '-s -w -extldflags "-static"' -o ./release/teamsacs_arm64 main.go
26+
27+
# Build for AMD64
28+
- name: Build for AMD64
29+
run: |
30+
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -ldflags '-s -w -extldflags "-static"' -o ./release/teamsacs_amd64 main.go
31+
32+
- name: Create Release
33+
id: create_release
34+
uses: actions/create-release@v1
35+
env:
36+
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
37+
with:
38+
tag_name: ${{ github.ref }}
39+
release_name: ${{ github.ref }}
40+
draft: false
41+
prerelease: false
42+
43+
# Upload ARM64 Asset
44+
- name: Upload Release Asset for ARM64
45+
uses: actions/upload-release-asset@v1
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
48+
with:
49+
upload_url: ${{ steps.create_release.outputs.upload_url }}
50+
asset_path: ./release/teamsacs_arm64
51+
asset_name: teamsacs_arm64
52+
asset_content_type: application/octet-stream
53+
54+
# Upload AMD64 Asset
55+
- name: Upload Release Asset for AMD64
56+
uses: actions/upload-release-asset@v1
57+
env:
58+
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
59+
with:
60+
upload_url: ${{ steps.create_release.outputs.upload_url }}
61+
asset_path: ./release/teamsacs_amd64
62+
asset_name: teamsacs_amd64
63+
asset_content_type: application/octet-stream
64+
65+
# define job to build and publish docker image
66+
build-and-push-docker-image:
67+
name: Build Docker image and push to repositories
68+
# run only when code is compiling and tests are passing
69+
runs-on: ubuntu-latest
70+
71+
# steps to perform in job
72+
steps:
73+
- name: Checkout code
74+
uses: actions/checkout@v3
75+
76+
# setup Docker buld action
77+
- name: Set up Docker Buildx
78+
id: buildx
79+
uses: docker/setup-buildx-action@v2
80+
81+
- name: Login to DockerHub
82+
uses: docker/login-action@v2
83+
with:
84+
username: ${{ secrets.DOCKERHUB_USERNAME }}
85+
password: ${{ secrets.DOCKERHUB_TOKEN }}
86+
87+
- name: Login to Github Packages
88+
uses: docker/login-action@v2
89+
with:
90+
registry: ghcr.io
91+
username: ${{ github.actor }}
92+
password: ${{ secrets.MY_GITHUB_TOKEN }}
93+
94+
- name: Build image and push to Docker Hub and GitHub Container Registry
95+
uses: docker/build-push-action@v2
96+
with:
97+
# 指向带有 Dockerfile 的源代码所在位置的相对路径
98+
context: ./
99+
# Note: tags has to be all lower-case
100+
tags: |
101+
ca17/teamsacs:${{ github.ref_name }}
102+
ghcr.io/ca17/teamsacs:${{ github.ref_name }}
103+
# build on feature branches, push only on main branch
104+
push: ${{ startsWith(github.ref, 'refs/tags/') }}
105+
106+
- name: Image digest
107+
run: echo ${{ steps.docker_build.outputs.digest }}

assets/buildinfo.txt

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
BuildVersion=latest v1.0.1 2023-06-24 10:52:00
1+
BuildVersion=latest v1.0.1 2024-03-08 22:18:44
22
ReleaseVersion=v1.0.1
3-
BuildTime=2023-06-24 10:52:00
3+
BuildTime=2024-03-08 22:18:44
44
BuildName=teamsacs
5-
CommitID=7aab1fd373463dfbc197640f32257e12018b2a34
6-
CommitDate=Sun, 26 Feb 2023 22:54:12 +0800
5+
CommitID=91e6fe7f72395b71c27ca63fc139cd279036c65e
6+
CommitDate=Sat, 24 Jun 2023 10:52:35 +0800
77
8-
CommitSubject=clear old code
8+
CommitSubject= :

0 commit comments

Comments
 (0)