-
Notifications
You must be signed in to change notification settings - Fork 24
/
.gitpod.yml
94 lines (83 loc) · 2.76 KB
/
.gitpod.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
image: gitpod/workspace-c
tasks:
- name: setup coding environment on Ubuntu 20.04
before: |
# note: sadly we need this to be done every time as only /workspace is kept, but linked
# against those dependencies; and also we do want to recompile after adjustments
# this can all be dropped if we would use a prepared docker
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential \
automake libtool flex bison \
libpq-dev
gp sync-done system-prepare
command: |
gp sync-done system-prepare
exit
- name: setup test environment on Ubuntu 20.04
before: |
gp sync-await system-prepare
sudo apt install -y build-essential \
libpq-dev postgresql postgresql-contrib \
gnucobol
gp sync-done test-system-prepare
command: |
gp sync-done test-system-prepare
exit
- name: setup dev helpers
before: |
gp sync-await test-system-prepare
sudo apt install -y bear manpages-dev
command: |
exit
- name: building
init: |
mkdir -p $GITPOD_REPO_ROOTS/build
cd $GITPOD_REPO_ROOTS/build
gp sync-await system-prepare
../autogen.sh
../configure --enable-debug
make --jobs=$(nproc)
command: |
cd $GITPOD_REPO_ROOTS/build
gp sync-done build-finish
- name: test preparation
command: |
gp sync-await test-system-prepare
gp sync-await build-finish
cd $GITPOD_REPO_ROOTS/build
half_jobs=$(( $(nproc) / 2 ))
# as the testuite is setup currently, we need to install first
sudo make install
# as the tests directory is not part of automake yet...
mkdir tests && cd tests
# force rebuild of files that should not be in the repo in the first place
make -f $GITPOD_REPO_ROOTS/tests/Makefile distcleanclean
cp -p $GITPOD_REPO_ROOTS/.github/workflows/ubuntu-test-settings/atlocal .
cp -p $GITPOD_REPO_ROOTS/.github/workflows/ubuntu-test-settings/embed_db_info.sh .
cp -p $GITPOD_REPO_ROOTS/.github/workflows/ubuntu-test-settings/cobol_runner.sh .
nice make -f $GITPOD_REPO_ROOTS/tests/Makefile --jobs=${half_jobs}
gp sync-done test-prepare
- name: running tests
command: |
gp sync-await test-prepare
cd $GITPOD_REPO_ROOTS/build/tests
make clean
./basic || true
./cobol_data || true
./sql_data || true
./sqlca || true
./misc || true
#cp -r basic.dir cobol_data.dir sql_data.dir sqlca.dir *.log ../log/test
# output results and fail if one test failed
cat *.log
[ -z "$(cat *.log | grep 'Failed tests:')" ]
vscode:
extensions:
- llvm-vs-code-extensions.vscode-clangd
- maelvalais.autoconf
- Dizy.lex-flex-yacc-bison
- meronz.manpages
- webfreak.debug
# no code-coverage yet
#- ryanluker.vscode-coverage-gutters
#- tenninebt.vscode-koverage