feat: add Spanish translations #92
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: 'Main' | |
on: | |
pull_request: | |
branches: ['master'] | |
push: | |
branches: ['master'] | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: oven-sh/setup-bun@v1 | |
with: | |
bun-version: 1.0.0 | |
- uses: actions/checkout@v3 | |
- name: Restore cached dependencies | |
id: dependency-restore | |
uses: actions/cache/restore@v3 | |
with: | |
path: node_modules/ | |
key: ${{ runner.os }}-node-modules-${{ hashFiles('bun.lockb') }} | |
- name: Install dependencies | |
run: bun i --frozen-lockfile | |
- name: Save dependency cache | |
id: dependency-save | |
uses: actions/cache/save@v3 | |
with: | |
path: node_modules/ | |
key: ${{ runner.os }}-node-modules-${{ hashFiles('bun.lockb') }} | |
- name: Check formatting | |
run: bun run check-format | |
- name: Build | |
run: bun run build | |
# Upload repo with built files and dependencies for use in subsequent jobs | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: build | |
path: build | |
jest-tests: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
needs: build | |
steps: | |
- uses: oven-sh/setup-bun@v1 | |
with: | |
bun-version: 1.0.0 | |
- uses: actions/checkout@v3 | |
- name: Restore cached dependencies | |
id: dependency-restore | |
uses: actions/cache/restore@v3 | |
with: | |
path: node_modules/ | |
key: ${{ runner.os }}-node-modules-${{ hashFiles('bun.lockb') }} | |
- uses: actions/download-artifact@v3 | |
with: | |
name: build | |
- name: Run unit tests | |
run: bun run test | |
cypress-tests: | |
name: E2E Tests | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
CYPRESS_RECORD_KEY: ${{ secrets.TOP90_CYPRESS_RECORD_KEY }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- uses: oven-sh/setup-bun@v1 | |
with: | |
bun-version: 1.0.0 | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Restore cached dependencies | |
id: dependency-restore | |
uses: actions/cache/restore@v3 | |
with: | |
path: node_modules/ | |
key: ${{ runner.os }}-node-modules-${{ hashFiles('bun.lockb') }} | |
- name: Start app | |
run: bun start & | |
- name: Restore Cypress cache | |
id: cypress-restore | |
uses: actions/cache/restore@v3 | |
with: | |
path: /home/runner/.cache/Cypress | |
key: ${{ runner.os }}-cypress-${{ hashFiles('bun.lockb') }} | |
- name: Install Cypress | |
run: bun cypress install | |
- name: Save Cypress cache | |
id: cypress-save | |
uses: actions/cache/save@v3 | |
with: | |
path: /home/runner/.cache/Cypress | |
key: ${{ runner.os }}-cypress-${{ hashFiles('bun.lockb') }} | |
- name: Run Cypress e2e with record | |
if: ${{ env.CYPRESS_RECORD_KEY }} | |
run: bun cypress run --e2e --record | |
- name: Run Cypress e2e | |
if: ${{ !env.CYPRESS_RECORD_KEY }} | |
run: bun cypress run --e2e | |
deploy: | |
name: Deploy | |
needs: [build, jest-tests, cypress-tests] | |
if: github.ref_name == 'master' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/download-artifact@v3 | |
with: | |
name: build | |
path: build | |
- name: Set environment variables | |
run: export AWS_PAGER= | |
- name: Configure AWS Credentials | |
uses: aws-actions/configure-aws-credentials@v2 | |
with: | |
aws-access-key-id: ${{ secrets.TOP90_AWS_ACCESS_KEY }} | |
aws-secret-access-key: ${{ secrets.TOP90_AWS_SECRET_ACCESS_KEY }} | |
aws-region: us-east-1 | |
- name: Sync files to S3 | |
run: aws s3 sync build/ s3://www.top90.io | |
- name: Invalidate Caches | |
run: | | |
aws cloudfront create-invalidation --distribution-id E35J0ICF5X5SHZ --paths "/*" | |
aws cloudfront create-invalidation --distribution-id EECYMS9J1D029 --paths "/*" |