forked from ShiftLeftSecurity/sast-scan
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathappimage-builder.yml
95 lines (90 loc) · 3.6 KB
/
appimage-builder.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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
version: 1
script:
# Remove any previous build
- rm -rf AppDir
# Make usr and icons dirs
- mkdir -p AppDir/usr/src
- mkdir -p AppDir/usr/local/lib/x86_64-linux-gnu
- mkdir -p AppDir/usr/share/{metainfo,icons}
# Copy the python application code into the AppDir
- cp appimage-reqs.sh scan lib tools_config AppDir/usr/src -r
- cp tools_config/scan.png AppDir/usr/share/icons/
- cp tools_config/io.shiftleft.scan.appdata.xml AppDir/usr/share/metainfo/
# Install application dependencies
- python3 -m pip install --no-cache-dir --ignore-installed --prefix=/usr --root=AppDir -r ./requirements.txt --no-warn-script-location
- chmod +x AppDir/usr/src/appimage-reqs.sh && AppDir/usr/src/appimage-reqs.sh AppDir
- npm install --no-audit --progress=false --only=production --no-save --prefix AppDir/usr/local/lib yarn @cyclonedx/cdxgen @microsoft/rush
- mkdir -p AppDir/opt/phpsast && cd AppDir/opt/phpsast && composer init --name shiftleft/scan --description scan --quiet && composer require --quiet --no-cache -n --no-ansi --dev vimeo/psalm:^4.1
- cd AppDir/opt/phpsast && composer require --quiet --no-cache --dev phpstan/phpstan
AppDir:
path: ./AppDir
app_info:
id: io.shiftleft.scan
name: scan
icon: utilities-terminal
version: latest
# Set the python executable as entry point
exec: usr/bin/python3.8
# Set the application main script path as argument. Use '$@' to forward CLI parameters
exec_args: "$APPDIR/usr/src/scan $@"
apt:
arch: amd64
sources:
- sourceline: 'deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse'
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
include:
- python3.8
- python3-pkg-resources
- git
- php
- php-json
- php-pear
- php-mbstring
- tar
files:
exclude:
- usr/share/man
- usr/share/doc/*/README.*
- usr/share/doc/*/changelog.*
- usr/share/doc/*/NEWS.*
- usr/share/doc/*/TODO.*
runtime:
env:
PATH: '${APPDIR}/usr/bin:${APPDIR}/usr/bin/nodejs/bin:${PATH}:${APPDIR}/opt/phpsast/vendor/bin:${APPDIR}/usr/local/lib/node_modules/.bin:'
PYTHONHOME: '${APPDIR}/usr'
PYTHONPATH: '${APPDIR}/usr/lib/python3.8/site-packages:$APPDIR/usr/lib/python3.8:$APPDIR/usr/lib/python3.8/lib-dynload'
SSL_CERT_FILE: '${APPDIR}/usr/lib/python3.8/site-packages/certifi/cacert.pem'
PYTHONUNBUFFERED: '1'
APP_SRC_DIR: '${APPDIR}/usr/src'
TOOLS_CONFIG_DIR: '${APPDIR}/usr/src/tools_config'
DEPSCAN_CMD: '${APPDIR}/usr/bin/depscan'
PMD_CMD: '${APPDIR}/opt/pmd-bin/bin/run.sh pmd'
SPOTBUGS_HOME: '${APPDIR}/opt/spotbugs'
DETEKT_JAR: '${APPDIR}/usr/bin/detekt-cli.jar'
test:
fedora:
image: appimagecrafters/tests-env:fedora-30
command: ./AppRun --help
use_host_x: true
debian:
image: appimagecrafters/tests-env:debian-stable
command: ./AppRun --help
use_host_x: true
arch:
image: appimagecrafters/tests-env:archlinux-latest
command: ./AppRun --help
use_host_x: true
centos:
image: appimagecrafters/tests-env:centos-7
command: ./AppRun --help
use_host_x: true
ubuntu:
image: appimagecrafters/tests-env:ubuntu-xenial
command: ./AppRun --help
use_host_x: true
AppImage:
update-information: !ENV ${UPDATE_INFO}
sign-key: None
arch: x86_64