CRASM-3443 Update token usage to cookie auth frontend and backend #2981
This file contains hidden or 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: Backend Pipeline | |
| on: | |
| push: | |
| branches: | |
| - develop | |
| - integration | |
| paths: | |
| - backend/** | |
| - .github/workflows/backend.yml | |
| pull_request: | |
| branches: | |
| - develop | |
| - integration | |
| paths: | |
| - backend/** | |
| - .github/workflows/backend.yml | |
| defaults: | |
| run: | |
| working-directory: ./backend | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| environment: staging | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v3 | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: '20.19.4' | |
| - name: Restore npm cache | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.npm | |
| key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} | |
| restore-keys: ${{ runner.os }}-node- | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Run site locally | |
| run: | | |
| cp dev.env.example .env | |
| docker compose up -d db backend es redis | |
| python -m pip install wait-for-it | |
| wait-for-it --service localhost:3000 --timeout=10 | |
| wait-for-it --service localhost:5432 --timeout=10 | |
| wait-for-it --service localhost:9200 --timeout=10 | |
| wait-for-it --service localhost:9300 --timeout=10 | |
| working-directory: ./ | |
| - name: Sync Mini Data Lake | |
| run: make syncmdl | |
| - name: Lint with pylint | |
| run: make pylint | |
| - name: Run pytest | |
| run: make pytest | |
| - name: Check Lambda size | |
| run: ./check_lambda_package_size.sh | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| SLS_DEBUG: '*' | |
| build_worker: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 90 | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: '20.19.4' | |
| - name: Restore npm cache | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.npm | |
| key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} | |
| restore-keys: ${{ runner.os }}-node- | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build worker container | |
| run: npm run build-worker | |
| working-directory: ./backend | |
| deploy_staging: | |
| needs: [build_worker, test] | |
| runs-on: ubuntu-latest | |
| environment: staging | |
| concurrency: '1' | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/develop' | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: '20.19.4' | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Restore npm cache | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.npm | |
| key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} | |
| restore-keys: ${{ runner.os }}-node- | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Ensure domain exists | |
| run: npx serverless create_domain --stage=staging-cd | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| SLS_DEBUG: '*' | |
| - name: Deploy backend | |
| run: npx serverless deploy --stage=staging-cd | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| SLS_DEBUG: '*' | |
| - name: Deploy worker | |
| run: npm run deploy-worker-staging | |
| working-directory: backend | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| - name: Run syncmdl | |
| run: | | |
| aws lambda invoke --function-name crossfeed-staging-cd-syncmdl \ | |
| --region us-east-1 /dev/stdout | |
| working-directory: backend | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| - name: Run Infra Ops Lambda | |
| run: | | |
| aws lambda invoke --function-name crossfeed-staging-cd-infraOps \ | |
| --region us-east-1 /dev/stdout | |
| working-directory: backend | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| deploy_integration: | |
| needs: [build_worker, test] | |
| runs-on: ubuntu-latest | |
| environment: integration | |
| concurrency: '1' | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/integration' | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: actions/setup-node@v3 | |
| with: | |
| node-version: '20.19.4' | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: '3.11' | |
| - name: Restore npm cache | |
| uses: actions/cache@v3 | |
| with: | |
| path: ~/.npm | |
| key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }} | |
| restore-keys: ${{ runner.os }}-node- | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Ensure domain exists | |
| run: npx serverless create_domain --stage=integration | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| SLS_DEBUG: '*' | |
| - name: Deploy backend | |
| run: npx serverless deploy --stage=integration --force | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| SLS_DEBUG: '*' | |
| - name: Deploy worker | |
| run: npm run deploy-worker-integration | |
| working-directory: backend | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| - name: Run syncmdl | |
| run: | | |
| aws lambda invoke --function-name crossfeed-integration-syncmdl \ | |
| --region us-east-1 /dev/stdout | |
| working-directory: backend | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| - name: Run Infra Ops Lambda | |
| run: | | |
| aws lambda invoke --function-name crossfeed-integration-infraOps \ | |
| --region us-east-1 /dev/stdout | |
| working-directory: backend | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} |