Skip to content

Allow headers type in DefaultContext to be Record or HttpHeaders #4540

Allow headers type in DefaultContext to be Record or HttpHeaders

Allow headers type in DefaultContext to be Record or HttpHeaders #4540

Workflow file for this run

name: CI
on: [pull_request, push]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@master
with:
node-version: 22
cache: 'pnpm'
- name: Install
run: pnpm install
- name: Build
run: pnpm build
- name: Pack
run: pnpm pack --filter apollo-angular --out apollo-angular.tgz
- uses: actions/upload-artifact@v7
with:
name: build
path: 'packages/apollo-angular/build'
- uses: actions/upload-artifact@v7
with:
name: tarball
path: 'apollo-angular.tgz'
- uses: actions/upload-artifact@v7
with:
name: script
path: 'scripts/prepare-e2e.js'
tests:
name: Tests
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@master
with:
node-version: 22
cache: 'pnpm'
- name: Install
run: pnpm install
- uses: actions/download-artifact@v8
with:
name: build
path: 'packages/apollo-angular/build/'
- name: Test
run: pnpm test
prettier:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@master
with:
node-version: 22
cache: 'pnpm'
- name: Install
run: pnpm install
- run: ./node_modules/.bin/prettier --check .
angular:
name:
Test on Angular ${{ matrix.angular_version }} GraphQL ${{ matrix.graphql_version }} Node ${{
matrix.node_version }}
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
angular_version: [19, 20, 21]
graphql_version: [16]
node_version: [20, 22, 24]
exclude:
- angular_version: 19
node_version: 24
steps:
- name: Use Node.js ${{ matrix.node_version }}
uses: actions/setup-node@master
with:
node-version: ${{ matrix.node_version }}
- uses: actions/download-artifact@v8
with:
name: tarball
- uses: actions/download-artifact@v8
with:
name: script
- name: Install Angular CLI
run: npm install @angular/cli@${{ matrix.angular_version }} --global
- name: ng new
run: ng new testapp --package-manager npm --defaults --minimal --skip-git
- name: ng add apollo-angular
run:
(cd testapp && ng add ../apollo-angular.tgz --graphql '${{ matrix.graphql_version }}.0.0'
--defaults --verbose --skip-confirmation )
- name: ng build
run: (cd testapp && ng run testapp:build:production)
- name: Setup E2E tests
run: |
sudo apt-get update
sudo apt-get install libgtk2.0-0t64 libgtk-3-0t64 libgbm-dev libnotify-dev libnss3 libxss1 libasound2t64 libxtst6 xauth xvfb
(cd testapp && npm add -D cypress-fail-on-console-error)
- name: ng add cypress
run: (cd testapp && ng add @cypress/schematic --defaults --verbose --skip-confirmation)
- name: cypress install
run: (cd testapp && npm exec cypress install)
- name: Update Angular code
run: node ./prepare-e2e.js testapp ${{ matrix.graphql_version }}
- name: ng e2e
run: (cd testapp && ng run testapp:cypress-run:production)