This repository has been archived by the owner on Feb 22, 2024. It is now read-only.
misspelling #46
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: PushMaster | |
on: | |
push: | |
branches: [ master ] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.8 | |
- name: Install dev deps | |
run: pip install -r api/requirements-dev.txt | |
- name: Run Pytest | |
run: python -m pytest api/tests/ | |
deploy-backend: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: "actions/checkout@v2" | |
- name: Load AWS Credentials | |
uses: "aws-actions/configure-aws-credentials@v1" | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-east-1 | |
- name: Deploy Backend Cloudformation | |
uses: "aws-actions/aws-cloudformation-github-deploy@v1.0.3" | |
id: deploy_backend | |
with: | |
name: lilsh-backend | |
template: templates/backend.yml | |
capabilities: CAPABILITY_IAM | |
parameter-overrides: WebsiteName=lil.sh,HostedZoneID=Z0843856IR07ISM8XVHB,CertificateArn=${{ secrets.PROD_CERT_ARN }},FrontendDomain=get | |
no-fail-on-empty-changeset: 1 | |
deploy-api: | |
needs: test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: "actions/checkout@master" | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: '10.x' | |
- name: Install Serverless Framework | |
run: npm install -g serverless | |
- name: Load AWS Credentials | |
uses: "aws-actions/configure-aws-credentials@v1" | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-east-1 | |
- name: Deploy api | |
run: sls deploy -s prod | |
- name: Deploy Domain Cloudformation | |
uses: "aws-actions/aws-cloudformation-github-deploy@v1.0.3" | |
id: deploy_api_domain | |
with: | |
name: lilsh-api-domain-prod | |
template: templates/api-domain.yml | |
capabilities: CAPABILITY_IAM | |
parameter-overrides: ServiceName=lilsh,Stage=prod,ApiDomain=lil.sh,CertificateArn=${{ secrets.PROD_CERT_ARN }} | |
no-fail-on-empty-changeset: 1 | |
deploy-frontend: | |
needs: | |
- test | |
- deploy-backend | |
- deploy-api | |
runs-on: ubuntu-latest | |
steps: | |
- uses: "actions/checkout@v2" | |
- name: Load AWS Credentials | |
uses: "aws-actions/configure-aws-credentials@v1" | |
with: | |
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-east-1 | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: '10.x' | |
- run: npm install | |
working-directory: ./frontend | |
- run: npm run build | |
working-directory: ./frontend | |
env: | |
NODE_ENV: production | |
- name: Sync with S3 | |
uses: "jakejarvis/s3-sync-action@master" | |
env: | |
SOURCE_DIR: frontend/dist/ | |
AWS_S3_BUCKET: get.lil.sh |