aboutsummaryrefslogtreecommitdiff
path: root/.drone.yml
blob: 97af631919bf8b4e8152e93d661d37ae3a3df3bb (plain) (blame)
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
---
kind: pipeline
name: default

workspace:
  base: /drone/garage

volumes:
- name: cargo_home
  temp: {}

steps:
  - name: restore-cache
    image: meltwater/drone-cache:dev
    volumes:
    - name: cargo_home
      path: /drone/cargo
    environment:
      AWS_ACCESS_KEY_ID:
        from_secret: cache_aws_access_key_id
      AWS_SECRET_ACCESS_KEY:
        from_secret: cache_aws_secret_access_key
    pull: true
    settings:
      restore: true
      archive_format: "gzip"
      bucket: drone-cache
      cache_key: '{{ .Repo.Name }}_{{ checksum "Cargo.lock" }}_{{ arch }}_{{ os }}_gzip'
      region: garage
      mount:
        - 'target'
        - '/drone/cargo/registry/index'
        - '/drone/cargo/registry/cache'
        - '/drone/cargo/bin'
        - '/drone/cargo/git/db'
      path_style: true
      endpoint: https://garage.deuxfleurs.fr
    when:
      branch:
        - nonexistent_skip_this_step

  - name: build
    image: rust:buster
    volumes:
    - name: cargo_home
      path: /drone/cargo
    environment:
      CARGO_HOME: /drone/cargo
    commands:
      - apt-get update
      - apt-get install --yes libsodium-dev
      - rustup component add rustfmt
      - pwd
      - cargo fmt -- --check
      - cargo build

  - name: cargo-test
    image: rust:buster
    volumes:
    - name: cargo_home
      path: /drone/cargo
    environment:
      CARGO_HOME: /drone/cargo
    commands:
      - apt-get update
      - apt-get install --yes libsodium-dev
      - cargo test

  - name: rebuild-cache
    image: meltwater/drone-cache:dev
    volumes:
    - name: cargo_home
      path: /drone/cargo
    environment:
      AWS_ACCESS_KEY_ID:
        from_secret: cache_aws_access_key_id
      AWS_SECRET_ACCESS_KEY:
        from_secret: cache_aws_secret_access_key
    pull: true
    settings:
      rebuild: true
      archive_format: "gzip"
      bucket: drone-cache
      cache_key: '{{ .Repo.Name }}_{{ checksum "Cargo.lock" }}_{{ arch }}_{{ os }}_gzip'
      region: garage
      mount:
        - 'target'
        - '/drone/cargo/registry/index'
        - '/drone/cargo/registry/cache'
        - '/drone/cargo/git/db'
        - '/drone/cargo/bin'
      path_style: true
      endpoint: https://garage.deuxfleurs.fr
    when:
      branch:
        - nonexistent_skip_this_step

  - name: smoke-test
    image: rust:buster
    volumes:
    - name: cargo_home
      path: /drone/cargo
    environment:
      CARGO_HOME: /drone/cargo
    commands:
      - apt-get update
      - apt-get install --yes libsodium-dev awscli python-pip
      - pip install s3cmd
      - ./script/test-smoke.sh || (cat /tmp/garage.log; false)

---
kind: pipeline
name: website

steps:
  - name: build
    image: hrektts/mdbook
    commands:
      - cd doc/book
      - mdbook build

  - name: upload
    image: plugins/s3
    settings:
      bucket: garagehq.deuxfleurs.fr
      access_key:
        from_secret: garagehq_aws_access_key_id
      secret_key:
        from_secret: garagehq_aws_secret_access_key
      source: doc/book/book/**/*
      strip_prefix: doc/book/book/
      target: /
      path_style: true
      endpoint: https://garage.deuxfleurs.fr
      region: garage
    when:
      event:
        - push
      branch:
        - main
      repo:
        - Deuxfleurs/garage

---
kind: signature
hmac: 39f293cab9824270b0e7aac4f6cbaaca57727fdc8feb2b822942cc82b3f7a64a

...