-
Notifications
You must be signed in to change notification settings - Fork 13
72 lines (62 loc) · 1.94 KB
/
workflow.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: Main workflow
on:
- push
- workflow_dispatch
jobs:
build:
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
ocaml-compiler:
- 5
- 4
- 4.08.0
concurrency:
- async
- lwt
exclude:
- ocaml-compiler: 4.08.0
concurrency: async
runs-on: ${{ matrix.os }}
env:
AWS_ACCESS_KEY_ID: minioadmin
AWS_SECRET_ACCESS_KEY: minioadmin
services:
minio:
image: fclairamb/minio-github-actions
ports:
- 9000:9000
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Minio
run: |
mkdir ~/.aws
echo '[default]' > ~/.aws/credentials
echo 'aws_access_key_id = minioadmin' >> ~/.aws/credentials
echo 'aws_secret_access_key = minioadmin' >> ~/.aws/credentials
pip3 install minio
python3 - <<'EOF'
from minio import Minio
minio = Minio(
'localhost:9000',
access_key='minioadmin',
secret_key='minioadmin',
secure=False
)
minio.make_bucket('bucket-${{ matrix.concurrency }}')
EOF
- name: Use OCaml ${{ matrix.ocaml-compiler }}
uses: ocaml/setup-ocaml@v2
with:
ocaml-compiler: ${{ matrix.ocaml-compiler }}
opam-pin: false
opam-depext: false
- run: opam pin . --no-action
- run: opam depext aws-s3 aws-s3-${{ matrix.concurrency }} --yes --with-doc --with-test
- run: opam install aws-s3 aws-s3-${{ matrix.concurrency }} --deps-only --with-doc --with-test
- run: opam exec -- dune build aws-s3 aws-s3-${{ matrix.concurrency }}
- run: opam exec -- dune runtest aws-s3 aws-s3-${{ matrix.concurrency }}
- run: ./integration.sh -t ${{ matrix.concurrency }} -b bucket-${{ matrix.concurrency }} -m 127.0.0.1:9000