Skip to content

Commit 22a8105

Browse files
committed
Add GitHub CI.
新文件: .github/workflows/build.yml 修改: ChangeLog
1 parent 13cb7d6 commit 22a8105

File tree

2 files changed

+131
-0
lines changed

2 files changed

+131
-0
lines changed

.github/workflows/build.yml

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
name: 🛠️ Build cppp-platform
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
9+
build-dist:
10+
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
15+
#--------------------------------------------collect--------------------------------------------
16+
- uses: actions/checkout@v3
17+
18+
- name: 🏷️ Get infomations
19+
run: |
20+
tag="${GITHUB_REF#refs/tags/}"
21+
echo "tag=$tag" >> $GITHUB_ENV
22+
echo "pkgname=cppp-platform-$tag" >> $GITHUB_ENV
23+
echo "srcdir=$(pwd)" >> $GITHUB_ENV
24+
25+
- name: 📁 Collect dependencies
26+
run: |
27+
sudo apt-get update
28+
sudo apt-get install p7zip-full zip xz-utils -y
29+
sudo apt-get install cmake gcc python3 -y
30+
31+
#--------------------------------------------build--------------------------------------------
32+
- name: 🧳 Prepare for source distribution building
33+
run: |
34+
mkdir -p ./dist
35+
./setup.sh
36+
37+
- name: 🛠️ Build source distribution
38+
run: |
39+
./cpppdist.py
40+
41+
- name: 📦 Make packages
42+
run: |
43+
tar cvf ${{ env.pkgname }}.tar ${{ env.pkgname }}
44+
zip -r -9 dist/${{ env.pkgname }}.zip ${{ env.pkgname }}
45+
7z a dist/${{ env.pkgname }}.7z ${{ env.pkgname }}
46+
xz -c -9 -k ${{ env.pkgname }}.tar > dist/${{ env.pkgname }}.tar.xz
47+
gzip -c -9 -k ${{ env.pkgname }}.tar > dist/${{ env.pkgname }}.tar.gz
48+
49+
cd dist
50+
for i in $(ls) ; do md5sum $i > $i.md5 ; done
51+
cd ..
52+
53+
#--------------------------------------------publish--------------------------------------------
54+
55+
- name: ⬆️ Create release and upload assets
56+
uses: softprops/action-gh-release@v1
57+
with:
58+
tag_name: ${{ env.tag }}
59+
files: ./dist/*
60+
61+
build:
62+
63+
needs: build-dist
64+
65+
strategy:
66+
fail-fast: false
67+
matrix:
68+
arch: [
69+
any-any-any
70+
]
71+
72+
runs-on: ubuntu-latest
73+
74+
steps:
75+
76+
#--------------------------------------------collect--------------------------------------------
77+
- name: 🏷️ Get infomations
78+
run: |
79+
tag="${GITHUB_REF#refs/tags/}"
80+
echo "tag=$tag" >> $GITHUB_ENV
81+
echo "pkgname=cppp-platform-$tag" >> $GITHUB_ENV
82+
echo "srcdir=$(pwd)" >> $GITHUB_ENV
83+
84+
- name: 📁 Collect dependencies
85+
run: |
86+
sudo apt-get update
87+
sudo apt-get install p7zip-full zip xz-utils wget -y
88+
sudo apt-get install cmake -y
89+
sudo apt-get install gcc g++ -y
90+
91+
- name: 📁 Get source distribution tarball
92+
run: |
93+
wget https://github.com/${{ github.repository }}/releases/download/${{ env.tag }}/${{ env.pkgname }}.tar.gz
94+
tar zxvf ${{ env.pkgname }}.tar.gz
95+
mv ${{ env.pkgname }}/* .
96+
97+
#--------------------------------------------build--------------------------------------------
98+
- name: 🧳 Prepare for binary distribution building
99+
run: |
100+
mkdir -p dist
101+
102+
- name: 🛠️ Build binary distribution
103+
run: |
104+
mkdir build
105+
cd build
106+
cmake .. -DCMAKE_INSTALL_PREFIX=${{ env.srcdir }}/${{ env.pkgname }}-${{ matrix.arch }}
107+
cmake --build . --config=Release
108+
cmake --install .
109+
cd ..
110+
111+
- name: 📦 Make packages
112+
run: |
113+
tar cvf ${{ env.pkgname }}-${{ matrix.arch }}.tar ${{ env.pkgname }}-${{ matrix.arch }}
114+
zip -r -9 dist/${{ env.pkgname }}-${{ matrix.arch }}.zip ${{ env.pkgname }}-${{ matrix.arch }}
115+
7z a dist/${{ env.pkgname }}-${{ matrix.arch }}.7z ${{ env.pkgname }}-${{ matrix.arch }}
116+
xz -c -9 -k ${{ env.pkgname }}-${{ matrix.arch }}.tar > dist/${{ env.pkgname }}-${{ matrix.arch }}.tar.xz
117+
gzip -c -9 -k ${{ env.pkgname }}-${{ matrix.arch }}.tar > dist/${{ env.pkgname }}-${{ matrix.arch }}.tar.gz
118+
119+
cd dist
120+
for i in $(ls) ; do md5sum $i > $i.md5 ; done
121+
cd ..
122+
123+
#--------------------------------------------publish--------------------------------------------
124+
125+
- name: ⬆️ Create release and upload assets
126+
uses: softprops/action-gh-release@v1
127+
with:
128+
tag_name: ${{ env.tag }}
129+
files: ./dist/*

ChangeLog

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Add C++ Plus package infomation.
44
Update docs.
5+
Add GitHub CI.
6+
Prepare for release v1.3.0.
57

68
2023-08-08 ChenPi11 <wushengwuxi-msctinoulk@outlook.com>
79

0 commit comments

Comments
 (0)