aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: be67b6dacac46f95fd1a02957a2e1f5746a99ff4 (plain)
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
language: go
sudo: false
dist: trusty
go: 1.9.x

notifications:
  email: false

stages:
  - name: build
    if: type = push
  - name: presubmits
    if: type = pr OR branch = master OR tag IS present
  - name: deploy
    if: type = push AND tag IS present

jobs:
  include:
    - stage: build
      install: skip
      script: make

    - stage: presubmits
      env: Generate, Format, and Lint
      install:
        - wget -q https://github.com/golang/dep/releases/download/v0.4.1/dep-linux-amd64 -O /tmp/dep
        - chmod a+x /tmp/dep
        - make tools
      script:
        - /tmp/dep status
        - make gen
        - bin/files-changed proto
        - make format
        - bin/files-changed format
        - make lint

    - &build
      env: Build and Unit Tests
      install: skip
      script:
        - go build github.com/google/fscrypt/cmd/fscrypt
        - make
    - <<: *build
      go: 1.8.x

    - env: Integration Tests
      sudo: required
      addons:
        apt:
          sources:
            - sourceline: 'deb http://en.archive.ubuntu.com/ubuntu/ artful main universe'
          packages:
            - e2fsprogs
      install:
        - go get -u github.com/mattn/goveralls
        - make test-setup
      script:
        - make coverage.out
        - goveralls -coverprofile=coverage.out -service=travis-ci

    - stage: deploy
      env: Release Binaries
      install: skip
      script: skip
      before_deploy: make
      deploy:
        - provider: releases
          api_key:
            secure: aq1sQacqogyjSaf8WJxorVEnXXe1TRz2gl6eoTDuMZVD7fyBV2cgyKgSX3kVt4DZlBTQWlagQQqEluOp6brSQVt2AzLLGPVtUN286M6dN8tSSenn3qDRS5UYyUIhg8KvtqOD6ItFlibCA+7t5B+j4KCCgAKBkDSORJoS180hUbsC6lOx/F/yhjMUTBq96NloIrk7N33JdOjQfeRKiEXZcbRsntzwJlmUjdGLxjIDI409Dx/oDh2rqXz/sJ98ljXebKa28ObyQW9f2UsIBGyFBOnUMK47neJqve/pjGWp1p8pyIGM9rsy+kAQ9htRARcYbBTwTavOCXRehMS+muqttI66G69teHkNfo/dSp52esmNi0p7SQJOydHFJ3gy9alYH4MHGCHnrRdcKnGPyAk3KcsCMxFehPx3pHMShrxh+x9tQz87G1FZlNpyiZiq5fHtb7IDV8l+0XaJKrNhCDvrBwNh8w7iQsAXapmk2Hn8UGTAWbKxCL1l4afB5LA6IGNISmEMuylhnaFZU2WvFzdO7iKY43TePaZJbmMtvovkOVuOWEqxgrkLMXsYrgx0bSV2UCVXJG3XEeJtQluwQgeEYeH6d9VR/chcQ4Qii99IzwbFk2iAk3RN3N94JWT+ubRhJUISOvZ8Z9OMSUBi517mxNgE1HxYa5AadiMQlKVUbDE=
          file:
            - bin/fscrypt
            - bin/pam_fscrypt.so
          skip_cleanup: true
          on:
            repo: google/fscrypt
            branch: master
            tags: true