forked from z88dk/z88dk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines.yml
53 lines (47 loc) · 1.59 KB
/
azure-pipelines.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
# C/C++ with GCC
# Build your C/C++ project with GCC using make.
# Add steps that publish test results, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/c-cpp/gcc
variables:
PERL_CACHE: $(Pipeline.Workspace)/perl5
CCACHE_DIR: $(Pipeline.Workspace)/ccache
trigger:
- master
pr:
- master
pool:
vmImage: 'Ubuntu 16.04'
steps:
- checkout: self
submodules: true
- task: Cache@1
inputs:
key: 'perl_cache | "$(Agent.OS)"'
path: $(PERL_CACHE)
displayName: perlcache
- task: Cache@2
inputs:
key: 'ccache | "$(Agent.OS)"'
path: $(CCACHE_DIR)
displayName: ccache
- bash: |
sudo apt-get install -y ccache libboost-all-dev texinfo texi2html gdb curl dos2unix ragel liblocal-lib-perl cpanminus
eval $(perl -I$PERL_CACHE -Mlocal::lib=$PERL_CACHE)
cpanm App::Prove Modern::Perl Capture::Tiny Capture::Tiny::Extended Path::Tiny File::Path Template Template::Plugin::YAML Test::Differences Text::Table CPU::Z80::Assembler Test::Cmd::Common Test::HexDifferences Data::HexDump Object::Tiny::RW Regexp::Common List::Uniq Clone
displayName: "Install prerequisites"
- bash: |
eval $(perl -I$PERL_CACHE -Mlocal::lib=$PERL_CACHE)
./build.sh -l
displayName: 'Build binaries'
- bash: |
eval $(perl -I$PERL_CACHE -Mlocal::lib=$PERL_CACHE)
./build.sh -b
displayName: 'Build libraries'
- bash: |
eval $(perl -I$PERL_CACHE -Mlocal::lib=$PERL_CACHE)
./build.sh -b -l -e
displayName: 'Build examples'
- bash: |
eval $(perl -I$PERL_CACHE -Mlocal::lib=$PERL_CACHE)
./build.sh -b -l -t
displayName: 'Build and run tests'