]> gitweb.factorcode.org Git - factor.git/blob - .github/workflows/build-test-core.yml
github: whooops
[factor.git] / .github / workflows / build-test-core.yml
1 name: C/C++ CI
2
3 on:
4   push:
5     branches: [ master ]
6   pull_request:
7     branches: [ master ]
8
9 jobs:
10   build-linux:
11     runs-on: ubuntu-latest
12     services:
13       postgres:
14         image: postgres
15         env:
16           POSTGRES_PASSWORD: postgres
17         options: >-
18           --health-cmd pg_isready
19           --health-interval 10s
20           --health-timeout 5s
21           --health-retries 5
22         ports:
23           - 5432:5432
24     steps:
25     - uses: actions/checkout@v2
26     - name: dependencies
27       run: |
28         sudo apt-get update
29         sudo apt-get -y install libmagic-dev
30         sudo apt-get -y install libpango1.0-dev
31         sudo apt-get -y install libsnappy-dev
32         sudo apt-get -y install libzstd-dev
33         wget https://github.com/vmt/udis86/archive/v1.7.2.tar.gz && tar xzvf v1.7.2.tar.gz && ( cd udis86-1.7.2/ && perl -pi -e "s/ \/ 32/ \/\/ 32/g" scripts/ud_opcode.py && perl -pi -e "s/keys.sort()/keys = sorted(keys)/g" scripts/ud_opcode.py && ./autogen.sh && ./configure --enable-shared=yes && make && sudo make install ) && sudo ldconfig
34     - name: bootstrap
35       run: ./build.sh net-bootstrap
36     - name: load
37       run: './factor -e="USING: memory namespaces parser.notes vocabs.hierarchy ; parser-quiet? off \"resource:basis\" \"\" load-from-root save"'
38     - name: configure tests
39       run: './factor -e="USING: memory namespaces tools.test ; f long-unit-tests-enabled? set-global save"'
40     - name: configure postgres
41       run: './factor -e="USING: memory db.postgresql db.tester ; <postgresql-db> \"localhost\" >>host postgresql-test-db-name >>database \"postgres\" >>username \"postgres\" >>password \ postgresql-db set-global save"'
42     - name: test
43       run: './factor -run=tools.test resource:core resource:basis'
44     - name: help-lint
45       run: './factor -run=help.lint resource:core resource:basis'
46
47   build-macos:
48     runs-on: macos-11
49     steps:
50     - uses: actions/checkout@v2
51     - name: build
52       run: arch -x86_64 ./build.sh net-bootstrap
53     - name: load
54       run: './factor -e="USING: memory namespaces parser.notes vocabs.hierarchy ; parser-quiet? off \"resource:basis\" \"\" load-from-root save"'
55     - name: configure
56       run: './factor -e="USING: memory namespaces tools.test ; f long-unit-tests-enabled? set-global save"'
57     - name: test
58       run: './factor -run=tools.test resource:core'
59     - name: help-lint
60       run: './factor -run=help.lint resource:core resource:basis'
61
62   build-windows:
63     runs-on: windows-latest
64     steps:
65     - uses: actions/checkout@v2
66     - name: build
67       shell: cmd
68       run: |
69         call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
70         build.cmd net-bootstrap
71     - name: load
72       shell: cmd
73       run: 'factor -e="USING: memory namespaces parser.notes vocabs.hierarchy ; parser-quiet? off \"resource:basis\" \"\" load-from-root save"'
74     - name: configure
75       shell: cmd
76       run: 'factor -e="USING: memory namespaces tools.test ; f long-unit-tests-enabled? set-global save"'
77     - name: test
78       shell: cmd
79       run: 'factor -run=tools.test resource:core'
80     - name: help-lint
81       shell: cmd
82       run: 'factor -run=help.lint resource:core resource:basis'