Skip to content

chore(deps): upgrade eslint #388

chore(deps): upgrade eslint

chore(deps): upgrade eslint #388

Workflow file for this run

name: Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test-local:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Enable corepack
run: |
corepack enable pnpm
corepack use pnpm
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Lint the source files
run: pnpm lint
- name: Type check
run: pnpm type-check
- name: Build the library
run: pnpm build
- name: Build the typings
run: pnpm build:types
- name: Execute the tests
run: |
pnpm test:unit
pnpm test:functional
test-docker:
runs-on: ubuntu-latest
env:
IMAGE_TARGET: tester
IMAGE_TAG: ${{ secrets.DOCKERHUB_USERNAME }}/${{ github.event.repository.name }}:latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Cache Docker layers
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Check for changes in Dockerfile
id: diff
run: |
git fetch origin main
echo 'DOCKERFILE_CHANGED='$(git diff --name-only origin/main HEAD | grep -qE '(Dockerfile|package.json|pnpm-lock.yaml)' && echo true || echo false) >> $GITHUB_ENV
- name: Build Docker image
uses: docker/build-push-action@v6
if: ${{ env.DOCKERFILE_CHANGED == 'true' }}
with:
push: true
context: .
target: ${{ env.IMAGE_TARGET }}
tags: ${{ env.IMAGE_TAG }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache
- name: Execute the tests in a container
run: docker run --rm ${{ env.IMAGE_TAG }} ./test-functional/test-strings.ci.js