Per-student PINs #2021
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |