Skip to content

remove period

remove period #1224

Workflow file for this run

name: CI
on: [push, pull_request]
env:
NODE_VERSION_USED_FOR_DEVELOPMENT: 18
jobs:
lint:
name: Lint source files
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Lint ESLint
run: npm run lint
- name: Check Types
run: npm run check
- name: Lint Prettier
run: npm run prettier:check
- name: Spellcheck
run: npm run check:spelling
checkForCommonlyIgnoredFiles:
name: Check for commonly ignored files
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Check if commit contains files that should be ignored
run: |
git clone --depth 1 https://github.com/github/gitignore.git &&
cat gitignore/Node.gitignore $(find gitignore/Global -name "*.gitignore" | grep -v ModelSim) > all.gitignore &&
if [[ "$(git ls-files -iX all.gitignore)" != "" ]]; then
echo "::error::Please remove these files:"
git ls-files -iX all.gitignore
exit 1
fi
checkPackageLock:
name: Check health of package-lock.json file
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Check that package-lock.json doesn't have conflicts
run: npm ls --depth 999
- name: Run npm install
run: npm install --force --package-lock-only --ignore-scripts --engine-strict --strict-peer-deps
- name: Check that package-lock.json is in sync with package.json
run: git diff --exit-code package-lock.json
coverage:
name: Measure test coverage
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Run tests and measure code coverage
run: npm run testonly:cover
- name: Upload coverage to Codecov
if: ${{ always() }}
uses: codecov/codecov-action@v1
with:
file: ./coverage/coverage-final.json
fail_ci_if_error: true
test:
name: Test GraphQL v${{ matrix.graphql_version }} with Node v${{ matrix.node_version_to_setup }}
runs-on: ubuntu-latest
strategy:
matrix:
node_version_to_setup: [12, 14, 16, 17, 18]
graphql_version: [14, 15, 16]
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Setup Node.js v${{ matrix.node_version_to_setup }}
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ matrix.node_version_to_setup }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Force GraphQL Version
run: npm install graphql@${{ matrix.graphql_version }} --save=false
- name: Run Tests
run: npm run testonly
build:
name: Build with GraphQL v${{ matrix.graphql_version }}
runs-on: ubuntu-latest
strategy:
matrix:
graphql_version: [14, 15, 16]
steps:
- name: Checkout repo
uses: actions/checkout@v2
- name: Setup Node.js v${{ matrix.node_version_to_setup }}
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ matrix.node_version_to_setup }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Force GraphQL Version
run: npm install graphql@${{ matrix.graphql_version }} --save=false
- name: Run Build
run: npm run build
benchmark:
name: Run benchmark
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Deepen cloned repo
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: 'git fetch --depth=1 origin $BASE_SHA:refs/tags/BASE'
- name: Setup Node.js
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Run Benchmark
run: 'npm run benchmark -- --revs HEAD BASE'
diff-npm-package:
name: Diff content of NPM package
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Deepen cloned repo
env:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
run: 'git fetch --depth=1 origin $BASE_SHA:refs/tags/BASE'
- name: Setup Node.js
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Generate report
run: 'node resources/diff-npm-package.js BASE HEAD'
- name: Upload generated report
uses: actions/upload-artifact@v2
with:
name: npm-dist-diff.html
path: ./npm-dist-diff.html
if-no-files-found: ignore
deploy-to-npm-branch:
name: Deploy to `npm` branch
runs-on: ubuntu-latest
if: |
github.event_name == 'push' &&
github.repository == 'yaacovCR/graphql-executor' &&
github.ref == 'refs/heads/main'
needs: [test, lint, build, checkForCommonlyIgnoredFiles]
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Build NPM package
run: npm run build:npm
- name: Deploy to `npm` branch
uses: ./.github/actions/deploy-dir-as-branch
with:
src_dir: npmDist
target_branch: npm
deploy-to-deno-branch:
name: Deploy to `deno` branch
runs-on: ubuntu-latest
if: |
github.event_name == 'push' &&
github.repository == 'yaacovCR/graphql-executor' &&
github.ref == 'refs/heads/main'
needs: [test, lint, build, checkForCommonlyIgnoredFiles]
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@v2
with:
cache: npm
node-version: ${{ env.NODE_VERSION_USED_FOR_DEVELOPMENT }}
- name: Install Dependencies
run: npm ci --ignore-scripts
- name: Build Deno package
run: npm run build:deno
- name: Deploy to `deno` branch
uses: ./.github/actions/deploy-dir-as-branch
with:
src_dir: denoDist
target_branch: deno