Skip to content

Commit a23618c

Browse files
committed
update manual build workflow
1 parent 250f80c commit a23618c

File tree

2 files changed

+200
-167
lines changed

2 files changed

+200
-167
lines changed

.github/workflows/manual-build.yml

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,56 @@ on:
55

66

77
jobs:
8+
ci:
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
os: ['ubuntu-20.04', 'ubuntu-latest']
14+
steps:
15+
- uses: actions/checkout@v4
16+
- uses: actions/setup-python@v4
17+
with:
18+
python-version: 3.11
19+
- run: pip install -r requirements.txt
20+
- run: python scripts/download-tools.py
21+
- run: pip install black ruff pytest pytest-cov pytest-mock pytest-subprocess
22+
- run: black .
23+
- run: ruff check openandroidinstaller/ --ignore E501
24+
- run: PYTHONPATH=openandroidinstaller:$(PYTHONPATH) pytest --cov=openandroidinstaller tests/
25+
826
build:
27+
needs: ci
928
runs-on: ${{ matrix.os }}
1029
strategy:
1130
fail-fast: false
1231
matrix:
13-
os: ['ubuntu-20.04', 'ubuntu-latest', 'macos-latest', 'windows-latest']
32+
os: ['ubuntu-20.04', 'ubuntu-latest', 'macos-latest']
33+
steps:
34+
- uses: actions/checkout@v4
35+
- uses: actions/setup-python@v4
36+
with:
37+
python-version: 3.11
38+
- run: pip install -r requirements.txt
39+
- run: python scripts/download-tools.py
40+
- run: python scripts/build.py
41+
- uses: actions/upload-artifact@v4
42+
with:
43+
name: openandroidinstaller-${{ github.ref_name }}-${{ matrix.os }}
44+
path: dist/
1445

46+
build-windows:
47+
needs: ci
48+
runs-on: 'windows-latest'
1549
steps:
1650
- uses: actions/checkout@v4
1751
- uses: actions/setup-python@v4
1852
with:
19-
python-version: 3.9
53+
python-version: 3.11
2054
- run: pip install -r requirements.txt
2155
- run: python scripts/download-tools.py
2256
- run: python scripts/build.py
23-
# Optionally verify that it works (provided that it does not need user interaction)
24-
#- run: ./dist/your-code/your-code
25-
- uses: actions/upload-artifact@v3
57+
- uses: actions/upload-artifact@v4
2658
with:
27-
name: openandroidinstaller-${{ github.sha }}-${{ matrix.os }}
59+
name: openandroidinstaller-${{ github.ref_name }}-windows-latest
2860
path: dist/
Lines changed: 162 additions & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -1,165 +1,166 @@
11
{
2-
"app-id": "org.openandroidinstaller.OpenAndroidInstaller",
3-
"runtime": "org.freedesktop.Platform",
4-
"runtime-version": "22.08",
5-
"sdk": "org.freedesktop.Sdk",
6-
"command": "openandroidinstaller",
7-
"finish-args": [
8-
"--share=ipc",
9-
"--share=network",
10-
"--socket=fallback-x11",
11-
"--socket=wayland",
12-
"--device=all"
13-
],
14-
"modules": [
15-
{
16-
"name": "cython",
17-
"buildsystem": "simple",
18-
"build-commands": [
19-
"python3 setup.py install --prefix=/app --root=/"
20-
],
21-
"sources": [
22-
{
23-
"type": "archive",
24-
"url": "https://files.pythonhosted.org/packages/0a/70/1500f05bddb16d795b29fac42954b3c8764c82367b8326c10f038471ae7f/Cython-0.29.34.tar.gz",
25-
"sha256": "1909688f5d7b521a60c396d20bba9e47a1b2d2784bfb085401e1e1e7d29a29a8"
26-
}
27-
]
28-
},
29-
{
30-
"name": "PyYAML",
31-
"buildsystem": "simple",
32-
"build-commands": [
33-
"pip3 install --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyyaml\" --no-build-isolation"
34-
],
35-
"sources": [
36-
{
37-
"type": "file",
38-
"url": "https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz",
39-
"sha256": "607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"
40-
}
41-
]
42-
},
43-
{
44-
"name": "watchdog",
45-
"buildsystem": "simple",
46-
"build-commands": [
47-
"pip3 install --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"watchdog\" --no-build-isolation"
48-
],
49-
"sources": [
50-
{
51-
"type": "file",
52-
"url": "https://files.pythonhosted.org/packages/95/a6/d6ef450393dac5734c63c40a131f66808d2e6f59f6165ab38c98fbe4e6ec/watchdog-3.0.0.tar.gz",
53-
"sha256": "4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"
54-
}
55-
]
56-
},
57-
"flatpak/generated-poetry-sources.json",
58-
{
59-
"name": "brotlicffi",
60-
"buildsystem": "simple",
61-
"build-commands": [
62-
"pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} brotlicffi"
63-
],
64-
"sources": [
65-
{
66-
"type": "file",
67-
"url": "https://files.pythonhosted.org/packages/d3/d8/6acbb65e350213ad6bd96180593fad0a269a3baa845c67fed21adee3959d/brotlicffi-1.0.9.2.tar.gz",
68-
"sha256": "0c248a68129d8fc6a217767406c731e498c3e19a7be05ea0a90c3c86637b7d96"
69-
}
70-
]
71-
},
72-
{
73-
"name": "openandroidinstaller",
74-
"buildsystem": "simple",
75-
"sources": [
76-
{
77-
"type": "dir",
78-
"path": "."
79-
},
80-
{
81-
"type": "file",
82-
"url": "https://files.pythonhosted.org/packages/09/79/5ab16fbf2d9354c242e9f9e784d604dd06842405f7797e71238f3c053200/poetry_core-1.0.7-py2.py3-none-any.whl",
83-
"sha256": "4f8a7f5390d772f42c4c4c3f188e6424b802cb4b57466c6633a1b9ac36f18a43"
84-
},
85-
{
86-
"type": "script",
87-
"commands": [
88-
"python3 /app/lib/python3.10/site-packages/openandroidinstaller/openandroidinstaller.py"
89-
],
90-
"dest-filename": "openandroidinstaller.sh"
91-
},
92-
{
93-
"type": "file",
94-
"path": "flatpak/org.openandroidinstaller.OpenAndroidInstaller.appdata.xml"
95-
},
96-
{
97-
"type": "file",
98-
"path": "flatpak/org.openandroidinstaller.OpenAndroidInstaller.desktop"
99-
},
100-
{
101-
"type": "file",
102-
"path": "flatpak/org.openandroidinstaller.OpenAndroidInstaller.png"
103-
}
104-
105-
],
106-
"build-commands": [
107-
"mkdir -p /app/{bin,share/{appdata,applications,icons/hicolor/512x512/apps}}",
108-
"pip3 install --prefix=/app --no-deps --find-links=\"file://${PWD}\" --no-index poetry-core==1.0.7 .",
109-
"mkdir -p /app/lib/python3.10/site-packages/openandroidinstaller/bin",
110-
"install -Dm755 openandroidinstaller.sh /app/bin/openandroidinstaller",
111-
"install -Dm755 ${FLATPAK_ID}.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.png",
112-
"install -Dm755 ${FLATPAK_ID}.appdata.xml /app/share/appdata/${FLATPAK_ID}.appdata.xml",
113-
"install -Dm755 ${FLATPAK_ID}.desktop /app/share/applications/${FLATPAK_ID}.desktop"
114-
]
115-
},
116-
{
117-
"name": "libusb",
118-
"config-opts": [ "--disable-static" ],
119-
"cleanup": [
120-
"/lib/*.la",
121-
"/lib/pkgconfig",
122-
"/include"
123-
],
124-
"sources": [
125-
{
126-
"type":"archive",
127-
"url":"https://github.com/libusb/libusb/archive/v1.0.26.tar.gz",
128-
"sha256": "a09bff99c74e03e582aa30759cada218ea8fa03580517e52d463c59c0b25e240"
129-
}
130-
],
131-
"post-install": [
132-
"install -Dm644 COPYING /app/share/licenses/libusb/COPYING"
133-
]
134-
},
135-
{
136-
"name": "android-tools",
137-
"buildsystem": "simple",
138-
"sources": [
2+
"app-id": "org.openandroidinstaller.OpenAndroidInstaller",
3+
"runtime": "org.freedesktop.Platform",
4+
"runtime-version": "24.08",
5+
"sdk": "org.freedesktop.Sdk",
6+
"command": "openandroidinstaller",
7+
"finish-args": [
8+
"--share=ipc",
9+
"--share=network",
10+
"--socket=fallback-x11",
11+
"--socket=wayland",
12+
"--device=all"
13+
],
14+
"modules": [
13915
{
140-
"type": "archive",
141-
"url": "https://dl.google.com/android/repository/platform-tools_r34.0.1-linux.zip",
142-
"sha256": "09aa9346b7c61adbf79f15378cbd61666899a20678b8cb9872f078c38fe3833f"
16+
"name": "cython",
17+
"buildsystem": "simple",
18+
"build-commands": [
19+
"python3 setup.py install --prefix=/app --root=/"
20+
],
21+
"sources": [
22+
{
23+
"type": "archive",
24+
"url": "https://files.pythonhosted.org/packages/0a/70/1500f05bddb16d795b29fac42954b3c8764c82367b8326c10f038471ae7f/Cython-0.29.34.tar.gz",
25+
"sha256": "1909688f5d7b521a60c396d20bba9e47a1b2d2784bfb085401e1e1e7d29a29a8"
26+
}
27+
]
28+
},
29+
{
30+
"name": "PyYAML",
31+
"buildsystem": "simple",
32+
"build-commands": [
33+
"pip3 install --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"pyyaml\" --no-build-isolation"
34+
],
35+
"sources": [
36+
{
37+
"type": "file",
38+
"url": "https://files.pythonhosted.org/packages/a0/a4/d63f2d7597e1a4b55aa3b4d6c5b029991d3b824b5bd331af8d4ab1ed687d/PyYAML-5.4.1.tar.gz",
39+
"sha256": "607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"
40+
}
41+
]
42+
},
43+
{
44+
"name": "watchdog",
45+
"buildsystem": "simple",
46+
"build-commands": [
47+
"pip3 install --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"watchdog\" --no-build-isolation"
48+
],
49+
"sources": [
50+
{
51+
"type": "file",
52+
"url": "https://files.pythonhosted.org/packages/95/a6/d6ef450393dac5734c63c40a131f66808d2e6f59f6165ab38c98fbe4e6ec/watchdog-3.0.0.tar.gz",
53+
"sha256": "4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"
54+
}
55+
]
56+
},
57+
"flatpak/generated-poetry-sources.json",
58+
{
59+
"name": "brotlicffi",
60+
"buildsystem": "simple",
61+
"build-commands": [
62+
"pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} brotlicffi"
63+
],
64+
"sources": [
65+
{
66+
"type": "file",
67+
"url": "https://files.pythonhosted.org/packages/d3/d8/6acbb65e350213ad6bd96180593fad0a269a3baa845c67fed21adee3959d/brotlicffi-1.0.9.2.tar.gz",
68+
"sha256": "0c248a68129d8fc6a217767406c731e498c3e19a7be05ea0a90c3c86637b7d96"
69+
}
70+
]
71+
},
72+
{
73+
"name": "openandroidinstaller",
74+
"buildsystem": "simple",
75+
"sources": [
76+
{
77+
"type": "dir",
78+
"path": "."
79+
},
80+
{
81+
"type": "file",
82+
"url": "https://files.pythonhosted.org/packages/09/79/5ab16fbf2d9354c242e9f9e784d604dd06842405f7797e71238f3c053200/poetry_core-1.0.7-py2.py3-none-any.whl",
83+
"sha256": "4f8a7f5390d772f42c4c4c3f188e6424b802cb4b57466c6633a1b9ac36f18a43"
84+
},
85+
{
86+
"type": "script",
87+
"commands": [
88+
"python3 /app/lib/python3.10/site-packages/openandroidinstaller/openandroidinstaller.py"
89+
],
90+
"dest-filename": "openandroidinstaller.sh"
91+
},
92+
{
93+
"type": "file",
94+
"path": "flatpak/org.openandroidinstaller.OpenAndroidInstaller.appdata.xml"
95+
},
96+
{
97+
"type": "file",
98+
"path": "flatpak/org.openandroidinstaller.OpenAndroidInstaller.desktop"
99+
},
100+
{
101+
"type": "file",
102+
"path": "flatpak/org.openandroidinstaller.OpenAndroidInstaller.png"
103+
}
104+
],
105+
"build-commands": [
106+
"mkdir -p /app/{bin,share/{appdata,applications,icons/hicolor/512x512/apps}}",
107+
"pip3 install --prefix=/app --no-deps --find-links=\"file://${PWD}\" --no-index poetry-core==1.0.7 .",
108+
"mkdir -p /app/lib/python3.10/site-packages/openandroidinstaller/bin",
109+
"install -Dm755 openandroidinstaller.sh /app/bin/openandroidinstaller",
110+
"install -Dm755 ${FLATPAK_ID}.png /app/share/icons/hicolor/512x512/apps/${FLATPAK_ID}.png",
111+
"install -Dm755 ${FLATPAK_ID}.appdata.xml /app/share/appdata/${FLATPAK_ID}.appdata.xml",
112+
"install -Dm755 ${FLATPAK_ID}.desktop /app/share/applications/${FLATPAK_ID}.desktop"
113+
]
114+
},
115+
{
116+
"name": "libusb",
117+
"config-opts": [
118+
"--disable-static"
119+
],
120+
"cleanup": [
121+
"/lib/*.la",
122+
"/lib/pkgconfig",
123+
"/include"
124+
],
125+
"sources": [
126+
{
127+
"type": "archive",
128+
"url": "https://github.com/libusb/libusb/archive/v1.0.26.tar.gz",
129+
"sha256": "a09bff99c74e03e582aa30759cada218ea8fa03580517e52d463c59c0b25e240"
130+
}
131+
],
132+
"post-install": [
133+
"install -Dm644 COPYING /app/share/licenses/libusb/COPYING"
134+
]
135+
},
136+
{
137+
"name": "android-tools",
138+
"buildsystem": "simple",
139+
"sources": [
140+
{
141+
"type": "archive",
142+
"url": "https://dl.google.com/android/repository/platform-tools_r34.0.1-linux.zip",
143+
"sha256": "09aa9346b7c61adbf79f15378cbd61666899a20678b8cb9872f078c38fe3833f"
144+
}
145+
],
146+
"build-commands": [
147+
"install -Dm755 adb /app/lib/python3.10/site-packages/openandroidinstaller/bin/adb",
148+
"install -Dm755 fastboot /app/lib/python3.10/site-packages/openandroidinstaller/bin/fastboot"
149+
]
150+
},
151+
{
152+
"name": "heimdall",
153+
"buildsystem": "simple",
154+
"sources": [
155+
{
156+
"type": "archive",
157+
"url": "https://people.ubuntu.com/~neothethird/heimdall-linux.zip",
158+
"sha256": "b8abc6e274dedf98263ede30cbceef69f21134298905f319474c7814008eb78d"
159+
}
160+
],
161+
"build-commands": [
162+
"install -Dm755 heimdall /app/lib/python3.10/site-packages/openandroidinstaller/bin/heimdall"
163+
]
143164
}
144-
],
145-
"build-commands": [
146-
"install -Dm755 adb /app/lib/python3.10/site-packages/openandroidinstaller/bin/adb",
147-
"install -Dm755 fastboot /app/lib/python3.10/site-packages/openandroidinstaller/bin/fastboot"
148-
]
149-
},
150-
{
151-
"name": "heimdall",
152-
"buildsystem": "simple",
153-
"sources": [
154-
{
155-
"type": "archive",
156-
"url": "https://people.ubuntu.com/~neothethird/heimdall-linux.zip",
157-
"sha256": "b8abc6e274dedf98263ede30cbceef69f21134298905f319474c7814008eb78d"
158-
}
159-
],
160-
"build-commands": [
161-
"install -Dm755 heimdall /app/lib/python3.10/site-packages/openandroidinstaller/bin/heimdall"
162-
]
163-
}
164-
]
165+
]
165166
}

0 commit comments

Comments
 (0)