Skip to content

Commit

Permalink
Merge pull request #1057 from quantified-uncertainty/develop
Browse files Browse the repository at this point in the history
V0.3.1
  • Loading branch information
OAGr authored Sep 1, 2022
2 parents f015e2e + 462f1c9 commit 4ecb692
Show file tree
Hide file tree
Showing 63 changed files with 3,257 additions and 2,381 deletions.
87 changes: 87 additions & 0 deletions .github/workflows/ci-cachix.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Nix build

on:
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop
- reducer-dev
- epic-reducer-project

jobs:
flake-lints:
name: All lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v17
with:
nix_path: nixpkgs=channel:nixos-22.05
- name: Use cachix
uses: cachix/cachix-action@v10
with:
name: quantified-uncertainty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"

- name: Check that lang lints
run: nix build .#lang-lint
- name: Check that components lints
run: nix build .#components-lint
- name: Check that website lints
run: nix build .#docusaurus-lint
- name: Check that vscode extension lints
run: nix build .#vscode-lint
- name: Check that cli lints
run: nix build .#cli-lint

flake-packages:
name: Builds, tests, and bundles
runs-on: ubuntu-latest
needs: flake-lints
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v17
with:
nix_path: nixpkgs=channel:nixos-22.05
- name: Use cachix
uses: cachix/cachix-action@v10
with:
name: quantified-uncertainty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"

- name: Check all lang tests
run: nix build .#lang-test
- name: Check that lang bundles
run: nix build .#lang-bundle
- name: Check that components builds
run: nix build .#components
- name: Check that components bundles
run: nix build .#components-bundle

flake-devshells:
name: Development shell environment
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Install nix
uses: cachix/install-nix-action@v17
with:
nix_path: nixpkgs=channel:nixos-22.05
- name: Use cachix
uses: cachix/cachix-action@v10
with:
name: quantified-uncertainty
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Build js devshell
run: nix develop .#js --profile just-js
- name: Build js & wasm devshell
run: nix develop --profile full-shell
251 changes: 126 additions & 125 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ on:
- master
- develop
- reducer-dev
- epic-reducer-project

jobs:
pre_check:
Expand Down Expand Up @@ -48,26 +49,26 @@ jobs:
with:
paths: '["packages/cli/**"]'

lang-lint:
name: Language lint
runs-on: ubuntu-latest
needs: pre_check
if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }}
defaults:
run:
shell: bash
working-directory: packages/squiggle-lang
steps:
- uses: actions/checkout@v3
- name: Install Dependencies
run: cd ../../ && yarn
- name: Check rescript lint
run: yarn lint:rescript
- name: Check javascript, typescript, and markdown lint
uses: creyD/[email protected]
with:
dry: true
prettier_options: --check packages/squiggle-lang
# lang-lint:
# name: Language lint
# runs-on: ubuntu-latest
# needs: pre_check
# if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }}
# defaults:
# run:
# shell: bash
# working-directory: packages/squiggle-lang
# steps:
# - uses: actions/checkout@v3
# - name: Install Dependencies
# run: cd ../../ && yarn
# - name: Check rescript lint
# run: yarn lint:rescript
# - name: Check javascript, typescript, and markdown lint
# uses: creyD/[email protected]
# with:
# dry: true
# prettier_options: --check packages/squiggle-lang

lang-build-test-bundle:
name: Language build, test, and bundle
Expand Down Expand Up @@ -97,95 +98,96 @@ jobs:
- name: Upload typescript coverage report
run: yarn coverage:ts:ci

components-lint:
name: Components lint
runs-on: ubuntu-latest
needs: pre_check
if: ${{ needs.pre_check.outputs.should_skip_components != 'true' }}
defaults:
run:
shell: bash
working-directory: packages/components
steps:
- uses: actions/checkout@v3
- name: Check javascript, typescript, and markdown lint
uses: creyD/[email protected]
with:
dry: true
prettier_options: --check packages/components --ignore-path packages/components/.prettierignore
# components-lint:
# name: Components lint
# runs-on: ubuntu-latest
# needs: pre_check
# if: ${{ needs.pre_check.outputs.should_skip_components != 'true' }}
# defaults:
# run:
# shell: bash
# working-directory: packages/components
# steps:
# - uses: actions/checkout@v3
# - name: Check javascript, typescript, and markdown lint
# uses: creyD/[email protected]
# with:
# dry: true
# prettier_options: --check packages/components --ignore-path packages/components/.prettierignore
#
# components-bundle-build:
# name: Components bundle and build
# runs-on: ubuntu-latest
# needs: pre_check
# if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }}
# defaults:
# run:
# shell: bash
# working-directory: packages/components
# steps:
# - uses: actions/checkout@v3
# - name: Install dependencies from monorepo level
# run: cd ../../ && yarn
# - name: Build rescript codebase in squiggle-lang
# run: cd ../squiggle-lang && yarn build
# - name: Run webpack
# run: yarn bundle
# - name: Build storybook
# run: yarn build

components-bundle-build:
name: Components bundle and build
runs-on: ubuntu-latest
needs: pre_check
if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }}
defaults:
run:
shell: bash
working-directory: packages/components
steps:
- uses: actions/checkout@v3
- name: Install dependencies from monorepo level
run: cd ../../ && yarn
- name: Build rescript codebase in squiggle-lang
run: cd ../squiggle-lang && yarn build
- name: Run webpack
run: yarn bundle
- name: Build storybook
run: yarn build

website-lint:
name: Website lint
runs-on: ubuntu-latest
needs: pre_check
if: ${{ needs.pre_check.outputs.should_skip_website != 'true' }}
defaults:
run:
shell: bash
working-directory: packages/website
steps:
- uses: actions/checkout@v3
- name: Check javascript, typescript, and markdown lint
uses: creyD/[email protected]
with:
dry: true
prettier_options: --check packages/website

website-build:
name: Website build
runs-on: ubuntu-latest
needs: pre_check
if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }}
defaults:
run:
shell: bash
working-directory: packages/website
steps:
- uses: actions/checkout@v3
- name: Install dependencies from monorepo level
run: cd ../../ && yarn
- name: Build rescript in squiggle-lang
run: cd ../squiggle-lang && yarn build
- name: Build components
run: cd ../components && yarn build
- name: Build website assets
run: yarn build

vscode-ext-lint:
name: VS Code extension lint
runs-on: ubuntu-latest
needs: pre_check
if: ${{ needs.pre_check.outputs.should_skip_vscodeext != 'true' }}
defaults:
run:
shell: bash
working-directory: packages/vscode-ext
steps:
- uses: actions/checkout@v3
- name: Install dependencies from monorepo level
run: cd ../../ && yarn
- name: Lint the VSCode Extension source code
run: yarn lint
# website-lint:
# name: Website lint
# runs-on: ubuntu-latest
# needs: pre_check
# if: ${{ needs.pre_check.outputs.should_skip_website != 'true' }}
# defaults:
# run:
# shell: bash
# working-directory: packages/website
# steps:
# - uses: actions/checkout@v3
# - name: Check javascript, typescript, and markdown lint
# uses: creyD/[email protected]
# with:
# dry: true
# prettier_options: --check packages/website
#
# website-build:
# name: Website build
# runs-on: ubuntu-latest
# needs: pre_check
# if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }}
# defaults:
# run:
# shell: bash
# working-directory: packages/website
# steps:
# - uses: actions/checkout@v3
# - name: Install dependencies from monorepo level
# run: cd ../../ && yarn
# - name: Build rescript in squiggle-lang
# run: cd ../squiggle-lang && yarn build
# - name: Build components
# run: cd ../components && yarn build
# - name: Build website assets
# run: yarn build
#
# vscode-ext-lint:
# name: VS Code extension lint
# runs-on: ubuntu-latest
# needs: pre_check
# if: ${{ needs.pre_check.outputs.should_skip_vscodeext != 'true' }}
# defaults:
# run:
# shell: bash
# working-directory: packages/vscode-ext
# steps:
# - uses: actions/checkout@v3
# - name: Check javascript, typescript, and markdown lint
# uses: creyD/[email protected]
# with:
# dry: true
# prettier_options: --check packages/vscode-ext

vscode-ext-build:
name: VS Code extension build
Expand All @@ -202,20 +204,19 @@ jobs:
run: cd ../../ && yarn
- name: Build
run: yarn compile

cli-lint:
name: CLI lint
runs-on: ubuntu-latest
needs: pre_check
if: ${{ needs.pre_check.outputs.should_skip_cli != 'true' }}
defaults:
run:
shell: bash
working-directory: packages/cli
steps:
- uses: actions/checkout@v3
- name: Check javascript, typescript, and markdown lint
uses: creyD/[email protected]
with:
dry: true
prettier_options: --check packages/cli
# cli-lint:
# name: CLI lint
# runs-on: ubuntu-latest
# needs: pre_check
# if: ${{ needs.pre_check.outputs.should_skip_cli != 'true' }}
# defaults:
# run:
# shell: bash
# working-directory: packages/cli
# steps:
# - uses: actions/checkout@v3
# - name: Check javascript, typescript, and markdown lint
# uses: creyD/[email protected]
# with:
# dry: true
# prettier_options: --check packages/cli
Loading

0 comments on commit 4ecb692

Please sign in to comment.