-
Notifications
You must be signed in to change notification settings - Fork 0
/
devfile.yaml
68 lines (67 loc) · 2 KB
/
devfile.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
# Devfile for creating Eclipse Che workspace for development of the eduke32 project.
# Provides environment which allows to develop, build and run the project.
# Limitations: only software render (no hardware acceleration on kubernetes cluster), no sound.
apiVersion: 1.0.0
metadata:
name: eduke32
components:
- type: cheEditor
id: eclipse/che-theia/latest
- type: chePlugin
id: eclipse/che-machine-exec-plugin/latest
- type: chePlugin
id: che-incubator/cpptools/latest
- alias: eduke32-build
type: dockerimage
image: mm4eche/eduke32-build
mountSources: true
memoryLimit: 256M
- alias: eduke32-run
type: dockerimage
image: mm4eche/eduke32-run
env:
- value: 800x600x16
name: RESOLUTION
endpoints:
- name: desktop
port: 6080
attributes:
protocol: http
public: 'true'
mountSources: true
memoryLimit: 512M
commands:
- name: clone eduke32
actions:
- workdir: /projects
type: exec
command: 'git svn clone -r HEAD https://svn.eduke32.com/eduke32/'
component: eduke32-build
- name: build eduke32
actions:
- workdir: /projects/eduke32/
type: exec
command: make
component: eduke32-build
- name: get shareware resources
actions:
- type: exec
command: >
curl 'http://hendricks266.duke4.net/files/3dduke13_data.7z' --compressed --silent -o /tmp/duke3d-shareware.7z &&
7za e /tmp/duke3d-shareware.7z -o/projects/eduke32-resources &&
rm -f /tmp/duke3d-shareware.7z
component: eduke32-run
- name: copy binaries into resources directory
actions:
- type: exec
command: >
cp eduke32 /projects/eduke32-resources/ &&
cp mapster32 /projects/eduke32-resources/
component: eduke32-run
workdir: /projects/eduke32
- name: run eduke32
actions:
- type: exec
command: ./eduke32
component: eduke32-run
workdir: /projects/eduke32-resources