feat(release): support transactions with validation and authentication (#378), add auth requirements install for ingest-api tests (#415), update .example.env and README (#412) #693
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: Pull Request - Lint and Test Workflow | |
on: [pull_request] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }} | |
- name: Install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e .[dev,deploy,test] | |
- name: Run pre-commit | |
run: pre-commit run --all-files | |
lint-conventional-pr: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: amannn/action-semantic-pull-request@v5 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
test: | |
needs: [lint, lint-conventional-pr] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Launch services | |
run: | | |
AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} | |
AWS_SECRET_ACCESS_KEY=${{secrets.AWS_SECRET_ACCESS_KEY}} | |
docker compose up --build -d | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }} | |
- name: Install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e .[dev,deploy,test] | |
- name: Launch services | |
run: AWS_ACCESS_KEY_ID=${{ secrets.AWS_ACCESS_KEY_ID }} AWS_SECRET_ACCESS_KEY=${{secrets.AWS_SECRET_ACCESS_KEY}} docker compose up --build -d | |
- name: Ingest Stac Items/Collection | |
run: | | |
./scripts/load-data-container.sh | |
- name: Sleep for 10 seconds | |
run: sleep 10s | |
shell: bash | |
- name: Integrations tests | |
run: python -m pytest .github/workflows/tests/ -vv -s | |
- name: Install reqs for ingest api | |
run: python -m pip install -r ingest_api/runtime/requirements_dev.txt | |
- name: Install veda auth for ingest api | |
run: python -m pip install common/auth | |
- name: Ingest unit tests | |
run: NO_PYDANTIC_SSM_SETTINGS=1 python -m pytest ingest_api/runtime/tests/ -vv -s | |
# - name: Stac-api transactions unit tests | |
# run: python -m pytest stac_api/runtime/tests/ -vv -s | |
- name: Stop services | |
run: docker compose stop | |
predeploy: | |
needs: [test] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.9' | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- name: Configure awscli | |
uses: aws-actions/configure-aws-credentials@v4 | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-west-2 | |
- uses: actions/cache@v4 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
- name: Install CDK | |
run: npm install -g aws-cdk@2 | |
- uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ env.pythonLocation }}-${{ hashFiles('setup.py') }} | |
- name: Install python dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install -e .[dev,deploy,test] | |
- name: Get environment configuration for target branch | |
run: | | |
if [ "${{ github.base_ref }}" == "main" ]; then | |
./scripts/get-env.sh "veda-backend-uah-staging-env" | |
elif [ "${{ github.base_ref }}" == "develop" ]; then | |
./scripts/get-env.sh "veda-backend-uah-dev-env" | |
else | |
echo "No environment associated with ${GITHUB_REF##*/} branch. Test changes against dev stack" | |
./scripts/get-env.sh "veda-backend-uah-dev-env" | |
fi | |
- name: Pre deployment CDK diff | |
run: | | |
echo $STAGE | |
cdk diff -v --outputs-file ${HOME}/cdk-outputs.json |