1- ---
21# Continous Integration
32name : ci
43
87 build :
98 runs-on : ubuntu-latest
109 steps :
10+ - uses : actions/checkout@v4
11+ with :
12+ fetch-depth : 0
1113 - uses : actions/setup-python@v5
1214 with :
1315 python-version : 3.9
16+ - uses : actions/setup-node@v4
17+ with :
18+ node-version : 20
19+ cache : ' npm'
20+ - name : Install Dependencies
21+ run : |
22+ pip install --upgrade pip setuptools
23+ pip install pre-commit
24+ pip install .
25+ npm ci --include=optional
26+ npm run build
27+ - name : Run Linting
28+ run : |
29+ pre-commit run --all-files --verbose
1430 os_build :
1531 runs-on : ${{ matrix.os }}
1632 strategy :
1733 matrix :
1834 os :
1935 - ubuntu-latest
20- - macos-12 # Later versions of ARM-based macOS runners fail because the hypervisor framework required for Docker is not supported
21- python : [ "3.8 ", "3.9 ", "3.10", "3.11 "]
36+ - macos-13
37+ python : [ "3.10 ", "3.11 ", "3.12 "]
2238 node : [ 20 ]
2339 env :
2440 SAM_CLI_TELEMETRY : " 0"
@@ -30,14 +46,14 @@ jobs:
3046 PIP_LOG_FILE : /tmp/pip.log
3147 HOMEBREW_NO_AUTO_UPDATE : 1
3248 steps :
33- - uses : actions/checkout@v3
49+ - uses : actions/checkout@v4
3450 - name : Update Homebrew and save docker version
3551 if : runner.os == 'macOS'
3652 run : |
3753 brew tap homebrew/core
3854 cat "$(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula/d/docker.rb" > .github/brew-formulae
3955 - name : Configure Homebrew docker cache files
40- uses : actions/cache@v3
56+ uses : actions/cache@v4
4157 if : runner.os == 'macOS'
4258 with :
4359 path : |
@@ -51,18 +67,12 @@ jobs:
5167 run : |
5268 brew install docker --cask
5369 brew install colima
54- # Docker engine is no longer available because of licensing
55- # Alternative Colima is part of the github macOS runner
56- # SAM v1.47.0+ needed for colima support, unable to use Python 3.6
5770 colima start
58- # Ensure colima is configured for later user
5971 echo "DOCKER_HOST=unix://$HOME/.colima/default/docker.sock" >> $GITHUB_ENV
60- # Verify Docker
6172 docker ps
6273 docker --version
63- # Verify colima
6474 colima status
65- - uses : actions/setup-python@v4
75+ - uses : actions/setup-python@v5
6676 with :
6777 python-version : ${{ matrix.python }}
6878 cache : ' pip'
@@ -73,18 +83,17 @@ jobs:
7383 pip install --upgrade pip
7484 pip install --upgrade setuptools wheel aws-sam-cli -r https://raw.githubusercontent.com/aws-cloudformation/cloudformation-cli/master/requirements.txt
7585 pip install .
76- - uses : actions/setup-node@v3
86+ - uses : actions/setup-node@v4
7787 with :
7888 node-version : ${{ matrix.node }}
7989 cache : ' npm'
8090 - name : Install Dependencies Node.js
8191 id : install_nodejs
82- # Touch needed because of https://github.com/aws/aws-cli/issues/2639
8392 run : |
8493 npm ci --include=optional
8594 find ./node_modules/* -mtime +10950 -exec touch {} \;
8695 npm run build
87- - uses : actions/cache@v3
96+ - uses : actions/cache@v4
8897 with :
8998 path : ~/.cache/pre-commit/
9099 key : ${{ matrix.os }}-${{ env.pythonLocation }}${{ hashFiles('.pre-commit-config.yaml') }}
@@ -100,9 +109,9 @@ jobs:
100109 bash codecov.sh -f coverage/ts/coverage-final.json -F unittests -n codecov-typescript
101110 - name : Upload Coverage Artifacts
102111 id : upload_coverage
103- uses : actions/upload-artifact@v3
112+ uses : actions/upload-artifact@v4
104113 with :
105- name : coverage
114+ name : coverage-${{ matrix.os }}-py${{ matrix.python }}
106115 path : coverage/
107116 - name : Run Integration Tests
108117 id : integration_testing
@@ -140,7 +149,7 @@ jobs:
140149 - name : Upload Debug Artifacts
141150 id : upload_logs
142151 if : failure()
143- uses : actions/upload-artifact@v3
152+ uses : actions/upload-artifact@v4
144153 with :
145- name : debug-logs
154+ name : debug-logs-${{ matrix.os }}-py${{ matrix.python }}
146155 path : ${{ env.LOG_PATH }}
0 commit comments