Skip to content

Resize movies with aws lambda #2861

Resize movies with aws lambda

Resize movies with aws lambda #2861

# See https://docs.github.com/en/actions/guides/building-and-testing-python
# 2025-06-15 - slg - Complete rewrite to avoid MySQL and use DynamoDB and S3 local variants.
# These are automatically configured with install-ubuntu or install-macos
name: CI (pip)
on: [push, pull_request]
jobs:
build:
strategy:
matrix:
os: ['macos-latest', 'ubuntu-latest'] #
python-version: [3.11] # installed version on Dreamhost
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: true
- name: configure cache
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Update GITHUB_PATH and install Python dependencies for local development
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: "Configure ubuntu"
if: runner.os == 'Linux'
run: |
make install-ubuntu
- name: "Configure macOS"
if: runner.os == 'macOS'
run: |
make install-macos
- name: "Configure Windows"
if: runner.os == 'Windows'
run: |
make install-windows
- name: Create default AWS credentials and Validate local DynamoDB endpoint
run: |
bin/local_dynamodb_control.bash start
- name: Validate local minio/S3 endpoint and make sure we have buckets
run: |
bin/local_minio_control.bash start
make make-local-bucket
- name: Make a demo course, user and upload the demo movies
run: |
make make-local-demo
- name: Lint with pylint
run: |
make pylint
- name: JavaScript and HTML eslint
run: |
make eslint
- name: Normal pytest
if: runner.os != 'Linux'
run: |
make pytest
- name: Run pytest with coverage
if: runner.os == 'Linux'
run: |
make pytest-coverage
- name: JavaScript tests and coverage
if: runner.os == 'Linux'
run: |
make jscoverage
- name: Upload coverage test to codecov.io
if: runner.os == 'Linux'
uses: codecov/codecov-action@v4
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
files: ./coverage.xml,./coverage/coverage-final.json