Skip to content

Per-student PINs

Per-student PINs #2018

Workflow file for this run

name: CI
on:
push:
branches: [ master ]
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v19
with:
# pin to nix-2.13 to workaround compability issue of 2.14,
# see: https://github.com/cachix/install-nix-action/issues/161
install_url: https://releases.nixos.org/nix/nix-2.13.3/install
extra_nix_config: |
experimental-features = nix-command flakes
- name: Install cachix
uses: cachix/cachix-action@v12
with:
name: hourglass
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Get nix deps
run: nix -L develop -c echo
- name: Cache nix gems
uses: actions/cache@v3
with:
path: |
.nix-gems/
key: ${{ runner.os }}-gems-${{ hashFiles('Gemfile.lock') }}
- name: Cache npm packages
uses: actions/cache@v3
with:
path: |
node_modules/
key: ${{ runner.os }}-node-modules-${{ hashFiles('yarn.lock') }}
- name: Install ruby gems
run: nix develop -c bundle install --jobs 4 --retry 3
- name: Install npm packages
run: nix develop -c yarn install --frozen-lockfile
- name: Setup postgres
run: |
nix develop -c start_postgres
nix develop -c rails db:setup
- name: Write graphql schema file
run: nix develop -c rails graphql:update_schema
- name: Compile relay queries
run: nix develop -c yarn run relay-persist
- name: Typecheck
run: nix develop -c yarn run typecheck
- name: Lint factories
run: nix develop -c rails factory_bot:lint
- name: Run tests
run: nix develop -c rails test
- name: Lint
run: nix develop -c yarn run lint