forked from z88dk/z88dk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines.yml
54 lines (48 loc) · 1.69 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
54
# 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-20.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 update
sudo apt-get install -y ragel re2c dos2unix texinfo texi2html gdb curl cpanminus ccache libboost-all-dev libmodern-perl-perl libtemplate-perl libtemplate-plugin-yaml-perl libyaml-perl liblocal-lib-perl libcapture-tiny-perl libpath-tiny-perl libtest-differences-perl libtext-table-perl libdata-hexdump-perl libregexp-common-perl libclone-perl
eval $(perl -I$PERL_CACHE -Mlocal::lib=$PERL_CACHE)
cpanm App::Prove CPU::Z80::Assembler Data::Dump File::Path List::Uniq Object::Tiny::RW Regexp::Common Text::Diff YAML::Tiny
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'