-
Notifications
You must be signed in to change notification settings - Fork 93
103 lines (86 loc) · 3.05 KB
/
integration.yml
File metadata and controls
103 lines (86 loc) · 3.05 KB
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
name: Integration test
on:
push:
paths-ignore:
- 'README.md'
branches:
- master
pull_request:
branches:
- master
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- { python-version: '3.13', awscli-version: "1.41.0", region: us-west-1, access-key-id: '000000000001'}
- { python-version: '3.13', region: us-west-1, access-key-id: 'test'}
- { python-version: '3.12', region: us-east-1, access-key-id: 'test'}
- { python-version: '3.11', region: us-east-1, access-key-id: 'test'}
- { python-version: '3.10', region: us-east-1, access-key-id: 'test'}
- { python-version: '3.9', region: us-east-1, access-key-id: 'test'}
env:
AWS_ACCESS_KEY_ID: ${{ matrix.access-key-id }}
AWS_REGION: ${{ matrix.region }}
AWS_DEFAULT_REGION: ${{ matrix.region }}
AWS_SECRET_ACCESS_KEY: test
steps:
- uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: '${{ matrix.python-version }}'
- name: Install localstack CLI
run: pip install localstack
- name: Install deps
run: pip install '.[ver1]'
- name: Install specific version of awscli
if: ${{ matrix.awscli-version }}
run: pip install "awscli==${{ matrix.awscli-version }}"
- name: Check aws-cli version
run: |
aws --version
awslocal --version
which aws
which awslocal
- name: Setup BATS
run: |
git clone https://github.com/bats-core/bats-core.git "$HOME"/bats-core
cd "$HOME"/bats-core
sudo ./install.sh /usr/local
- name: Start and wait for LocalStack
timeout-minutes: 10
env:
LOCALSTACK_AUTH_TOKEN: ${{ secrets.LOCALSTACK_AUTH_TOKEN }}
run: |
localstack start -d
localstack wait
- name: Run bats tests
run: |
bats --report-formatter junit -r tests/bin/ --output .
mv report.xml tests-junit-bin-${{ matrix.python-version }}-${{ matrix.awscli-version }}-${{ matrix.region }}-${{ matrix.access-key-id }}.xml
- name: Archive Test Results
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: test-results-tests-bin-${{ matrix.python-version }}-${{ matrix.awscli-version }}-${{ matrix.region }}-${{ matrix.access-key-id }}
path: tests-junit-*.xml
retention-days: 30
report:
runs-on: ubuntu-latest
needs: test
if: success() || failure()
steps:
- name: Download Test Results
uses: actions/download-artifact@v4
with:
pattern: test-results-tests-*
merge-multiple: true
- name: Publish Test Results
uses: EnricoMi/publish-unit-test-result-action@v2
if: success() || failure()
with:
files: tests-junit-*.xml
check_name: "Smoke Tests"
action_fail_on_inconclusive: true