-
Notifications
You must be signed in to change notification settings - Fork 0
77 lines (62 loc) · 2.33 KB
/
prbuild.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
73
74
75
76
77
name: Pull Request Build
on:
pull_request:
branches:
- main
# Actions Used (please keep this documented here as added)
# https://github.com/marketplace/actions/checkout
# https://github.com/marketplace/actions/setup-python
# https://github.com/marketplace/actions/trufflehog-oss
# https://github.com/marketplace/actions/cache
jobs:
build:
# Default access (restricted) - https://docs.github.com/en/actions/security-guides/automatic-token-authentication
permissions:
contents: read
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ '3.7', '3.8', '3.9', '3.10', '3.11', '3.12' ]
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: TruffleHog OSS
uses: trufflesecurity/trufflehog@v3.70.2
with:
path: ./
base: ${{ github.event.repository.default_branch }}
head: HEAD
extra_args: --debug --only-verified
- name: Restore Localstack Image Cache if it exists
id: cache-docker-localstack
uses: actions/cache@v4
with:
path: ci/cache/docker/localstack
key: cache-docker-localstack-2.1
- name: Update Localstack Image Cache if cache miss
if: steps.cache-docker-localstack.outputs.cache-hit != 'true'
run: docker pull public.ecr.aws/localstack/localstack:2.1 && mkdir -p ci/cache/docker/localstack && docker image save public.ecr.aws/localstack/localstack:2.1 --output ./ci/cache/docker/localstack/localstack-2.1.tar
- name: Use Localstack Image Cache if cache hit
if: steps.cache-docker-localstack.outputs.cache-hit == 'true'
run: docker image load --input ./ci/cache/docker/localstack/localstack-2.1.tar
- name: Set up compose stack
run: |
docker-compose -f docker-compose.yml up -d
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
make install all
- name: Lint and code formatting
run: |
make check
- name: Run test suite
run: |
make test
- name: Tear down compose stack
run: |
docker-compose -f docker-compose.yml down