Test CI #10187
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- master | |
- release/** | |
- sentry-sdk-2.0 | |
pull_request: | |
permissions: | |
contents: read | |
env: | |
BUILD_CACHE_KEY: ${{ github.sha }} | |
CACHED_BUILD_PATHS: | | |
${{ github.workspace }}/dist-serverless | |
jobs: | |
lint: | |
name: Lint Sources | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4.1.7 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- run: | | |
pip install tox | |
tox -e linters | |
check-ci-config: | |
name: Check CI config | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4.1.7 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- run: | | |
pip install jinja2 | |
python scripts/split-tox-gh-actions/split-tox-gh-actions.py --fail-on-changes | |
build_lambda_layer: | |
name: Build Package | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4.1.7 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- name: Setup build cache | |
uses: actions/cache@v4 | |
id: build_cache | |
with: | |
path: ${{ env.CACHED_BUILD_PATHS }} | |
key: ${{ env.BUILD_CACHE_KEY }} | |
- name: Build Packages | |
run: | | |
echo "Creating directory containing Python SDK Lambda Layer" | |
# This will also trigger "make dist" that creates the Python packages | |
make aws-lambda-layer | |
- name: Upload Python Packages | |
uses: actions/upload-artifact@v4 | |
with: | |
name: artifact-build_lambda_layer | |
path: | | |
dist/* | |
if-no-files-found: 'error' | |
# since this artifact will be merged, compression is not necessary | |
compression-level: '0' | |
docs: | |
name: Build SDK API Doc | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@v4.1.7 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- run: | | |
make apidocs | |
cd docs/_build && zip -r gh-pages ./ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: artifact-docs | |
path: | | |
docs/_build/gh-pages.zip | |
if-no-files-found: 'error' | |
# since this artifact will be merged, compression is not necessary | |
compression-level: '0' | |
merge: | |
name: Create Release Artifact | |
runs-on: ubuntu-latest | |
needs: [build_lambda_layer, docs] | |
steps: | |
- uses: actions/upload-artifact/merge@v4 | |
with: | |
# Craft expects release assets from github to be a single artifact named after the sha. | |
name: ${{ github.sha }} | |
pattern: artifact-* | |
delete-merged: true |