Skip to content

split up jobs in ci #39

split up jobs in ci

split up jobs in ci #39

Workflow file for this run

name: Do the thing in CI
on:
push:
branches: ['master']
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
run:
runs-on: ubuntu-latest
strategy:
matrix:
build:
- bun
- clang
- deno
- fortran
- gcc
- java
- kotlin
- node
- python3
- ruby
- rust
- scala
steps:
# clone
- name: Checkout
uses: actions/checkout@v3
# cache
- uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
~/.cargo/.crates.toml
~/.cargo/.crates2.json
target/
key: ${{ runner.os }}-cargo
- uses: actions/cache@v3
with:
path: scripts/node_modules
key: ${{ runner.os }}-node_modules-${{ hashFiles('**/package-lock.json') }}
# install dependencies
- uses: extractions/setup-just@v1
- uses: oven-sh/setup-bun@v1
- uses: denoland/setup-deno@v1
with:
deno-version: "~1"
- run: just setup
# do the thing
- run: just measure ${{ matrix.build }}
# report
- uses: actions/upload-artifact@v3
with:
path: "${{ matrix.build }}.json"
report:
needs: ['run']
runs-on: ubuntu-latest
steps:
- name: Download Results
uses: actions/download-artifact@v2
with:
path: .
- run: sudo apt-get install nodejs
- run: |
cd scripts
npm install
node ./summary.js --results ../artifact