generated from hackforla/.github-hackforla-base-repo-template
-
-
Notifications
You must be signed in to change notification settings - Fork 21
66 lines (66 loc) · 1.9 KB
/
run-tests-v1.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
name: Run API and App Tests
on:
pull_request:
branches: [main]
# This is also a reusable workflow that can be called from other workflows
workflow_call:
workflow_dispatch:
jobs:
test-api:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
working-directory: ./api
steps:
- uses: actions/checkout@main
with:
fetch-depth: 500
fetch-tags: true
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
cache: "pip"
- name: Upgrade pip
run: python -m pip install --upgrade pip
- name: Install API dev Dependencies
run: |
pip install -r requirements-dev.txt
- name: Run development tests with mocking enabled, using tox
run: |
# Use tox because it is configured to test against the same package type being deployed
tox
- name: Run release tests with mocking disabled, using tox
env:
COGNITO_REGION: ${{ secrets.COGNITO_REGION }}
COGNITO_ACCESS_ID: ${{ secrets.COGNITO_ACCESS_ID }}
COGNITO_ACCESS_KEY: ${{ secrets.COGNITO_ACCESS_KEY }}
run: |
echo "COGNITO_REGION set"
tox -e releasetest
test-app:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
working-directory: ./app
steps:
- uses: actions/checkout@v4
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
cache: "npm"
cache-dependency-path: app/package-lock.json
- name: Run npm CI
run: npm ci
- name: Test app
run: npm run test -- --no-color --run
- name: Run E2E tests
uses: cypress-io/github-action@v5
with:
install: false
start: npm run dev
working-directory: ./app
wait-on: "http://[::1]:4040/"