Skip to content

Use JSON encoding unless we have file uploads #156

Use JSON encoding unless we have file uploads

Use JSON encoding unless we have file uploads #156

Workflow file for this run

name: CI
on:
pull_request:
push:
branches:
- main
- master
jobs:
static-checks:
name: Static checks
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: lts/*
cache: npm
- name: Install dependencies
run: |
npm ci
- name: Run lint
run: |
npm run lint
- name: Typecheck
run: |
npm run typecheck
- name: Check formatting
run: |
npm run format-check
tests:
name: Testing with Node.js ${{ matrix.node-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
node-version:
- current
- lts/*
- lts/-1
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install dependencies
run: |
npm ci
- name: Build
run: |
npm run build --if-present
- name: Run tests
run: |
npm run test:coverage
integration:
name: Integration API read-only tests
runs-on: ubuntu-latest
strategy:
fail-fast: true
max-parallel: 1
matrix:
node-version:
- lts/*
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install dependencies
run: |
npm ci
- name: Build
run: |
npm run build --if-present
- name: Run integration tests
env:
TUMBLR_OAUTH_CONSUMER_KEY: ${{ secrets.TUMBLR_OAUTH_CONSUMER_KEY }}
TUMBLR_OAUTH_CONSUMER_SECRET: ${{ secrets.TUMBLR_OAUTH_CONSUMER_SECRET }}
TUMBLR_OAUTH_TOKEN: ${{ secrets.TUMBLR_OAUTH_TOKEN }}
TUMBLR_OAUTH_TOKEN_SECRET: ${{ secrets.TUMBLR_OAUTH_TOKEN_SECRET }}
run: |
npm run test:integration
integration-write:
name: Integration API write tests
runs-on: ubuntu-latest
environment: integration-suite
strategy:
fail-fast: true
max-parallel: 1
matrix:
node-version:
- lts/*
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
cache: npm
- name: Install dependencies
run: |
npm ci
- name: Build
run: |
npm run build --if-present
- name: Run integration tests
env:
TUMBLR_OAUTH_CONSUMER_KEY: ${{ secrets.TUMBLR_OAUTH_CONSUMER_KEY }}
TUMBLR_OAUTH_CONSUMER_SECRET: ${{ secrets.TUMBLR_OAUTH_CONSUMER_SECRET }}
TUMBLR_OAUTH_TOKEN: ${{ secrets.TUMBLR_OAUTH_TOKEN }}
TUMBLR_OAUTH_TOKEN_SECRET: ${{ secrets.TUMBLR_OAUTH_TOKEN_SECRET }}
run: |
npm run test:integration-write