Skip to content

Refactor to use custom arena with better types than id-arena #584

Refactor to use custom arena with better types than id-arena

Refactor to use custom arena with better types than id-arena #584

Workflow file for this run

name: CI
on:
push:
branches: ['**', '!wip/**', '!dependabot/**']
pull_request:
branches: ['**', '!wip/**']
env:
CARGO_TERM_COLOR: always
jobs:
build:
strategy:
matrix:
rust: [stable, 1.66.1, nightly]
fail-fast: false
continue-on-error: ${{ matrix.rust == 'nightly' }}
runs-on: ubuntu-latest
name: ${{ matrix.rust }}-x86_64-unknown-linux-gnu
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
submodules: false
- name: Install toolchain (${{ matrix.rust }})
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
components: clippy
default: true
- name: Setup caching
uses: Swatinem/rust-cache@v1
- name: Build
uses: actions-rs/cargo@v1
with:
command: build
args: --verbose --workspace --all-features --all-targets
- name: Run tests
uses: actions-rs/cargo@v1
with:
command: test
args: --verbose --workspace --all-features --all-targets
docs:
runs-on: ubuntu-latest
name: Build documentation and books
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Checkout calypso-lang.github.io repository
uses: actions/checkout@v2
with:
repository: 'calypso-lang/calypso-lang.github.io'
path: 'docs/site'
- name: Setup caching
uses: actions/cache@v2
with:
path: |
docs/out/gui
docs/out/ref
docs/site/.svelte-kit
docs/site/node_modules
docs/site/build
key: rust-cache-docs
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
- name: Setup caching
uses: Swatinem/rust-cache@v1
- name: Install NodeJS v16
uses: actions/setup-node@v2
with:
node-version: '16'
- name: Install mdBook
uses: peaceiris/actions-mdbook@v1
with:
mdbook-version: 'latest'
- name: Build The Calypso Book
run: |
mdbook build -d ../out/gui docs/guide
mdbook test -d ../out/gui docs/guide
- name: Build The Calypso Reference
run: |
mdbook build -d ../out/ref docs/reference
mdbook test -d ../out/ref docs/reference
- name: Build rustdocs
uses: actions-rs/cargo@v1
with:
toolchain: nightly
command: doc
args: --verbose --workspace --document-private-items
- name: Copy rustdocs
run: mv -f target/doc docs/out/rustdoc
- name: Install dependencies for site
run: |
yarn --cwd docs/site install
- name: Build site
run: |
yarn --cwd docs/site build
- name: Copy site to out directory
run: |
cp -r docs/site/build/* docs/out
- name: Check GitHub Pages status
uses: crazy-max/ghaction-github-status@v2
with:
pages_threshold: major_outage
- name: Deploy to GitHub Pages
if: ${{ success() && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: crazy-max/ghaction-github-pages@v2
with:
target_branch: gh-pages
repo: "calypso-lang/calypso-lang.github.io"
build_dir: docs/out
keep_history: true
jekyll: false
env:
GH_PAT: ${{ secrets.GH_PAT }}
continue-on-error: true