Skip to content

Feat/translator

Feat/translator #810

Workflow file for this run

name: CI
on:
pull_request:
branches:
- master
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- name: NPM install
run: npm ci
- name: Lint
run: npm run lint
- name: Stylelint
run: npm run stylelint
test:
name: Tests:units
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- name: NPM install
run: npm ci
- name: Test
run: npm run test:unit
- name: Coveralls
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
pw-test:
name: Tests:playwright
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- name: NPM install
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Generate dictionary
run: npm run generate-dictionary
- name: Test
run: npm run test:pw
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 30
generate-dictionary:
name: Generate dictionary
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- name: NPM install
run: npm ci
- name: Generate dictionary
run: npm run generate-dictionary
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- name: NPM install
run: npm ci
- name: Build
run: npm run build
build-and-deploy-demo:
name: Create demo
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
persist-credentials: false
- uses: mdecoleman/[email protected]
id: vars
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Deployment pending
uses: chrnorm/deployment-action@releases/v1
id: deployment
with:
ref: ${{ steps.vars.outputs.branch }}
token: ${{ secrets.GITHUB_TOKEN }}
state: pending
environment: demo
- name: pr-number-action
id: pr_number
uses: kkak10/[email protected]
- name: NPM install
run: npm ci
- name: Build
env:
NODE_ENV: production
PR_NUMBER: ${{ github.event.number }}
run: |
npm run generate-dictionary
npm run build
- name: Publish to Cloudflare Pages
id: deploy
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CF_AUTH_TOKEN }}
accountId: ${{ secrets.CF_ACCOUNT_ID }}
command: pages deploy ./dist --project-name=${{ secrets.CF_PROJECT_NAME }} --branch=pr-${{ steps.pr_number.outputs.pr }}
- name: Deployment success
uses: chrnorm/deployment-status@releases/v1
with:
state: success
token: ${{ secrets.GITHUB_TOKEN }}
deployment_id: ${{ steps.deployment.outputs.deployment_id }}
environment_url: https://pr-${{ steps.pr_number.outputs.pr }}.interslavic-dictionary.pages.dev/