Skip to content

Include an arm64 shared library in the ruby gem #10874

Include an arm64 shared library in the ruby gem

Include an arm64 shared library in the ruby gem #10874

Workflow file for this run

name: Development
on:
push:
branches:
- main
pull_request:
types: [opened, synchronize, reopened]
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
## Check Version
- uses: ./.github/actions/check_version
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-check-${{ hashFiles('**/Cargo.lock') }}
## Check Rust
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Check Rust formatting
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: Check clippy
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
args: --all-features --all-targets -- -D warnings
## Check Python
- name: Install Python 3.7
uses: actions/setup-python@v1
with:
python-version: "3.7"
- name: Install Python formatter
run: pip install black~=22.10.0
- name: Check Python formatting
run: black --check languages/python
## Check Ruby
- name: Install Ruby + gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
working-directory: "languages/ruby"
- name: Lint Ruby code
working-directory: "languages/ruby"
run: make lint
- name: Check Ruby types
working-directory: "languages/ruby"
run: make typecheck | grep '0 problems found in 0 of'
## Check Node.js
- name: Use Node.js 12
uses: actions/setup-node@v1
with:
node-version: "12"
- name: Check formatting of JS library
working-directory: "languages/js"
run: make fmtcheck
- name: Add WebAssembly target
run: rustup target add wasm32-unknown-unknown
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Lint JS library
working-directory: "languages/js"
run: make lint
## Check Java
- name: Install Java
uses: actions/setup-java@v1
with:
java-version: "11"
- name: Check formatting of Java library
uses: axel-op/googlejavaformat-action@v3
with:
args: "--dry-run --set-exit-if-changed"
files: languages/java/**/*.java
github-token: ${{ secrets.GITHUB_TOKEN }}
skipCommit: true
## Check Go
- name: Check formatting of Go library
working-directory: "languages/go"
run: make lint
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-test-
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Build Polar C library
run: cargo build -p polar-c-api
- name: Build Polar WASM library
run: cargo build -p polar-wasm-api
# tests all core polar code and the rust language integration
rust_test:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-test-
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Test rust
run: make rust-test
python_test:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-test-
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Install Python 3.7
uses: actions/setup-python@v1
with:
python-version: "3.7"
- name: Test python
run: make python-test
- name: Test flask
run: make python-flask-test
- name: Test django
run: make python-django-test
- name: Test sqlalchemy
run: make python-sqlalchemy-test
- name: Lint Python code
run: make -C languages/python lint
ruby_test:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-test-
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Install Ruby + gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
working-directory: "languages/ruby"
- name: Test ruby
run: make ruby-test
java_test:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-test-
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Install Java
uses: actions/setup-java@v1
with:
java-version: "11"
- name: Test java
run: make java-test
env:
MVN_FLAGS: "-q"
js_test:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-test-
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Use Node.js 12
uses: actions/setup-node@v1
with:
node-version: "12"
- name: Add WebAssembly target
run: rustup target add wasm32-unknown-unknown
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: Test polar-wasm-api
run: make wasm-test
- name: Test js
run: make js-test
go_test:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-test-
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Use Go 1.14
uses: actions/setup-go@v2
with:
go-version: "1.14"
- name: Test go
run: make go-test
docs_test:
runs-on: ubuntu-latest
needs: [build]
steps:
- uses: actions/checkout@v2
- uses: actions/cache@v2
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}-${{ github.sha }}
restore-keys: |
${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.lock') }}
${{ runner.os }}-cargo-test-
- name: Install Python 3.7
uses: actions/setup-python@v1
with:
python-version: "3.7"
- name: install aspell
run: sudo apt-get install aspell
- name: Check spelling
run: make -C docs spelling
- name: Install Rust stable toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
components: rustfmt, clippy
- name: Install Ruby + gems
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
working-directory: "languages/ruby"
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: "18"
- name: Install Java
uses: actions/setup-java@v1
with:
java-version: "11"
- name: Build python lib
run: make python-build
- name: Build ruby lib
run: make ruby-build
- name: Python test deps
run: make -C languages/python/oso test-requirements
- name: Build js lib
run: |
rustup target add wasm32-unknown-unknown
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
make -C languages/js build
- name: Install yard (for doc build)
run: gem install yard
- name: Doc test
env:
MVN_FLAGS: "-q"
run: make -C docs test