-
Notifications
You must be signed in to change notification settings - Fork 3
81 lines (68 loc) · 2.7 KB
/
update2deb.yml
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
name: update2deb
# Controls when the workflow will run
on:
release:
types:
- created
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
create-update-deb:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: save working directory in variable 'DIR'
run: echo "DIR=$(pwd)" >> $GITHUB_ENV
- name: Clone repo
run: git clone https://github.com/Crilum/update
# Runs a single command using the runners shell
- name: Build DEB and RPM
run: |
LATEST=`curl -s https://api.github.com/repos/Crilum/update/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")' | tr -d 'v'`
cd update
mkdir updatedeb && cd updatedeb
mkdir -p usr/bin/
mv ../update usr/bin/update
mkdir DEBIAN
cd DEBIAN
wget -O control https://github.com/Crilum/update/raw/main/debian/control
echo "Version: ${LATEST}" >> control
wget -O postinst https://github.com/Crilum/update/raw/main/debian/postinst
chmod 775 postinst
cd ..
cd ..
dpkg-deb --build updatedeb update_${LATEST}_all.deb
echo "DEB=$(basename update*.deb)" >> $GITHUB_ENV
- name: Upload DEB to release
uses: docker://gacts/upload-to-release:latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
file: '${{ env.DIR }}/update/${{ env.DEB }}'
type: 'application/x-debian-package'
create-update-rpm:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: save working directory in variable 'DIR'
run: |
echo "DIR=$(pwd)" >> $GITHUB_ENV
echo "VER=$(curl -s https://api.github.com/repos/Crilum/update/releases/latest | grep -oP '\"tag_name\": \"\K(.*)(?=\")' | tr -d 'v')" >> $GITHUB_ENV
- name: Clone repo
run: git clone https://github.com/Crilum/update
- name: Build RPM
run: |
cd update
./rpm/build.sh
cp "$HOME"/rpmbuild/RPMS/noarch/*.rpm .
echo "RPM=$(basename update*.rpm)" >> $GITHUB_ENV
- name: Upload RPM to release
uses: docker://gacts/upload-to-release:latest
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
file: '${{ env.DIR }}/update/${{ env.RPM }}'
type: 'application/x-rpm'