Skip to content

Commit 4ebb499

Browse files
committed
CICD: artefact upload to github
1 parent fce48cc commit 4ebb499

File tree

2 files changed

+97
-1
lines changed

2 files changed

+97
-1
lines changed

.github/workflows/docker.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ on:
44
push:
55
branches:
66
- 'main'
7+
tags:
8+
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
79

810
jobs:
911
docker:
@@ -26,6 +28,6 @@ jobs:
2628
uses: docker/build-push-action@v3
2729
with:
2830
push: true
29-
tags: lovasoa/sqlsite:latest
31+
tags: lovasoa/sqlsite:latest,lovasoa/sqlsite:${{ github.ref }}
3032
cache-from: type=registry,ref=lovasoa/sqlsite:latest
3133
cache-to: type=inline

.github/workflows/release.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
on:
2+
push:
3+
# Sequence of patterns matched against refs/tags
4+
tags:
5+
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
6+
7+
name: Create Release
8+
9+
jobs:
10+
build:
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
matrix:
14+
# Use an older ubuntu to compile with an older glibc
15+
os: [macos-latest, windows-latest, ubuntu-18.04]
16+
include:
17+
- os: windows-latest
18+
binary_path: target/release/sqlpage.exe
19+
- os: macos-latest
20+
binary_path: target/release/sqlpage
21+
- os: ubuntu-18.04
22+
binary_path: target/release/sqlpage
23+
steps:
24+
- uses: actions/checkout@v2
25+
- uses: actions-rs/toolchain@v1
26+
with: {toolchain: stable, override: true}
27+
- name: build
28+
uses: actions-rs/cargo@v1
29+
with: { command: build, args: --release --locked }
30+
- uses: actions/upload-artifact@v1
31+
with:
32+
name: sqlpage ${{ matrix.os }}
33+
path: ${{ matrix.binary_path }}
34+
create_release:
35+
name: Create Release
36+
needs: build
37+
runs-on: ubuntu-18.04
38+
steps:
39+
- name: Checkout code
40+
uses: actions/checkout@master
41+
- name: get commit message
42+
run: echo commitmsg=$(git tag --format='%(subject)' -l | tail -n 1) >> $GITHUB_ENV
43+
- name: Create Release
44+
id: create_release
45+
uses: actions/create-release@latest
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
with:
49+
tag_name: ${{ github.ref }}
50+
release_name: Release ${{ github.ref }}
51+
body: ${{ env.commitmsg }}
52+
draft: false
53+
prerelease: false
54+
55+
- uses: actions/download-artifact@v1
56+
with: { name: sqlpage windows-latest, path: . }
57+
- name: Upload Windows binary
58+
uses: lovasoa/upload-release-asset@851d9cc59fe8113912edffbd8fddaa09470a5ac0
59+
env:
60+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61+
with:
62+
upload_url: ${{ steps.create_release.outputs.upload_url }}
63+
asset_path: sqlpage.exe
64+
asset_name: sqlpage.exe
65+
asset_label: sqlpage for Windows
66+
asset_content_type: application/vnd.microsoft.portable-executable
67+
68+
- uses: actions/download-artifact@v1
69+
with: { name: sqlpage macos-latest, path: . }
70+
- run: chmod +x sqlpage && tar --create --file sqlpage-macos.tgz --gzip sqlpage
71+
- name: Upload MacOs binary
72+
uses: lovasoa/upload-release-asset@851d9cc59fe8113912edffbd8fddaa09470a5ac0
73+
env:
74+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
75+
with:
76+
upload_url: ${{ steps.create_release.outputs.upload_url }}
77+
asset_path: sqlpage-macos.tgz
78+
asset_name: sqlpage-macos.tgz
79+
asset_label: sqlpage for MacOS
80+
asset_content_type: application/octet-stream
81+
82+
- uses: actions/download-artifact@v1
83+
with: { name: sqlpage ubuntu-18.04, path: . }
84+
- run: chmod +x sqlpage && tar --create --file sqlpage-linux.tgz --gzip sqlpage
85+
- name: Upload Linux binary
86+
uses: lovasoa/upload-release-asset@851d9cc59fe8113912edffbd8fddaa09470a5ac0
87+
env:
88+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
89+
with:
90+
upload_url: ${{ steps.create_release.outputs.upload_url }}
91+
asset_path: sqlpage-linux.tgz
92+
asset_name: sqlpage-linux.tgz
93+
asset_label: sqlpage for Linux
94+
asset_content_type: application/octet-stream

0 commit comments

Comments
 (0)