forked from cmmorrow/build-magic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.yaml
121 lines (121 loc) · 5.46 KB
/
package.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
maintainer: Chris Morrow <[email protected]>
version: 1.0.4
prepare:
- &upgrade_pip
pip3 install --upgrade pip
- &install_pyinstaller
pip3 install pyinstaller
- &clone_repo
git clone --depth 1 --branch v{{ version }} https://github.com/cmmorrow/build-magic.git
- &install_repo
pip3 install ./build-magic
- &run_pyinstaller >
pyinstaller
-n "build-magic_{{ version }}" -D
--clean
--add-data build-magic/build_magic/static:build_magic/static
build-magic/build_magic/__main__.py
- &clean_pyinstaller
rm -rf /usr/local/bin/*
- &get_release_id
curl -s -u {{ user }}:{{ password }} https://api.github.com/repos/cmmorrow/build-magic/releases/tags/v{{ version }} | jq .id > RELEASE_ID
build-magic:
- stage:
name: debian
runner: docker
environment: debian:buster
working directory: /app
commands:
# Install requirements
- execute: apt update
- install: apt install -y python3 python3-dev python3-pip zlib1g-dev gpg curl jq libdigest-sha-perl git
- install: *upgrade_pip
- install: *install_pyinstaller
# Clone the repo
- execute: *clone_repo
# Install the repo
- install: *install_repo
# Build the application
- build: *run_pyinstaller
- execute: *clean_pyinstaller
# - test: &test_build
# dist/build-magic_{{ version }}/build-magic_{{ version }}
# Prep
- execute: mkdir -p $HOME/build-magic/usr/local/bin
- execute: mkdir -p $HOME/build-magic/DEBIAN
- execute: cp build-magic/package/debian/build-magic/control $HOME/build-magic/DEBIAN
- execute: sed -i 's/Version\x3a .*/Version\x3a {{ version }}/g' $HOME/build-magic/DEBIAN/control
- execute: cp -r dist/build-magic_{{ version }}/ $HOME/build-magic/usr/local/bin/
- execute: ln -s /usr/local/bin/build-magic_{{ version }}/build-magic_{{ version }} /usr/local/bin/build-magic
- execute: mv /usr/local/bin/build-magic $HOME/build-magic/usr/local/bin
# Build the package
- build: dpkg-deb --build $HOME/build-magic
- execute: mv $HOME/build-magic.deb $HOME/build-magic-{{ version }}_amd64.deb
# Install and test the package
- install: dpkg --install $HOME/build-magic-{{ version }}_amd64.deb
# - test: build-magic
# Upload the package to GitHub
- execute: *get_release_id
- execute: >
shasum -a 256 $HOME/build-magic-{{ version }}_amd64.deb
| tr -s ' '
| cut -d ' ' -f 1
> $HOME/build-magic-{{ version }}_amd64.hash
- release: >
curl -u {{ user }}:{{ password }}
--data-binary @"$HOME/build-magic-{{ version }}_amd64.deb"
-H "Content-Type: application/octet-stream"
https://uploads.github.com/repos/cmmorrow/build-magic/releases/$(cat RELEASE_ID)/assets?name=build-magic-{{ version }}_amd64.deb
- release: >
curl -u {{ user }}:{{ password }}
--data-binary @"$HOME/build-magic-{{ version }}_amd64.hash"
-H "Content-Type: application/octet-stream"
https://uploads.github.com/repos/cmmorrow/build-magic/releases/$(cat RELEASE_ID)/assets?name=build-magic-{{ version }}_amd64.hash
- stage:
name: centos
runner: docker
environment: centos:7
working directory: /app
commands:
# Install requirements
- install: yum install -y rpmdevtools python3 git
- install: yum install -y epel-release
- install: yum install -y jq
- install: *upgrade_pip
- install: *install_pyinstaller
# Clone the repo
- execute: *clone_repo
- execute: cp /build_magic/setup.py /app/build-magic
- install: *install_repo
# Build the application
- build: *run_pyinstaller
- execute: *clean_pyinstaller
# - test: *test_build
# Prep
- execute: rpmdev-setuptree
- execute: mkdir -p $HOME/rpmbuild/RPMS/x86_64
- execute: cp build-magic/package/centos/build-magic/build-magic.spec $HOME/rpmbuild/SPECS
- execute: sed -i 's/Version\x3a .*/Version\x3a {{ version }}/g' $HOME/rpmbuild/SPECS/build-magic.spec
- execute: cp -r dist/build-magic_{{ version }}/ $HOME
# Build the package
- build: rpmbuild -bb --target x86_64 $HOME/rpmbuild/SPECS/build-magic.spec
# Install and test the package
- install: ls -d $HOME/rpmbuild/RPMS/x86_64/* | xargs yum install -y
# - test: build-magic
# Upload the package
- execute: *get_release_id
- execute: >
sha256sum $HOME/rpmbuild/RPMS/x86_64/build-magic*
| tr -s ' '
| cut -d ' ' -f 1
> $HOME/$(basename $HOME/rpmbuild/RPMS/x86_64/build-magic* .rpm).hash
- release: >
curl -u {{ user }}:{{ password }}
--data-binary @$(ls $HOME/build-magic*.hash)
-H "Content-Type: application/octet-stream"
https://uploads.github.com/repos/cmmorrow/build-magic/releases/$(cat RELEASE_ID)/assets?name=$(ls $HOME/build-magic*.hash | xargs basename)
- release: >
curl -u {{ user }}:{{ password }}
--data-binary @$(ls $HOME/rpmbuild/RPMS/x86_64/*)
-H "Content-Type: application/octet-stream"
https://uploads.github.com/repos/cmmorrow/build-magic/releases/$(cat RELEASE_ID)/assets?name=$(ls $HOME/rpmbuild/RPMS/x86_64/* | xargs basename)