Files
RustPython/.github/workflows/ci.yaml
Jeong YunWon bd08950e2f Merge pull request #1719 from palaviv/more-actions
Add more jobs to github actions
2020-01-31 01:41:28 +09:00

137 lines
3.8 KiB
YAML

on:
push:
branches: [master]
pull_request:
name: CI
jobs:
rust_tests:
name: Run rust tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
fail-fast: false
steps:
- uses: actions/checkout@master
- name: Convert symlinks to hardlink (windows only)
run: powershell.exe scripts/symlinks-to-hardlinks.ps1
if: matrix.os == 'windows-latest'
- name: run rust tests
uses: actions-rs/cargo@v1
with:
command: test
args: --verbose --all
snippets:
name: Run snippets tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
fail-fast: false
steps:
- uses: actions/checkout@master
- name: Convert symlinks to hardlink (windows only)
run: powershell.exe scripts/symlinks-to-hardlinks.ps1
if: matrix.os == 'windows-latest'
- name: build rustpython
uses: actions-rs/cargo@v1
with:
command: build
args: --release --verbose --all
- uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install pipenv
run: |
python -V
python -m pip install --upgrade pip
python -m pip install pipenv
- run: pipenv install
working-directory: ./tests
- name: run snippets
run: pipenv run pytest
working-directory: ./tests
format:
name: Check Rust code with rustfmt and clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
components: rustfmt
override: true
- name: run rustfmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
- name: run clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --all -- -Dwarnings
lint:
name: Lint Python code with flake8
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/setup-python@v1
with:
python-version: 3.6
- name: install flake8
run: python -m pip install flake8
- name: run lint
run: flake8 . --count --exclude=./.*,./Lib,./vm/Lib --select=E9,F63,F7,F82 --show-source --statistics
cpython:
name: Run CPython test suite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: build rustpython
uses: actions-rs/cargo@v1
with:
command: build
args: --verbose --all
- name: run tests
run: |
export RUSTPYTHONPATH=`pwd`/Lib
cargo run -- -m test -v
wasm:
name: Run wasm selenium tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
- name: install geckodriver
run: |
wget https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux32.tar.gz
mkdir geckodriver
tar -xzf geckodriver-v0.24.0-linux32.tar.gz -C geckodriver
- uses: actions/setup-python@v1
with:
python-version: 3.6
- name: Install pipenv
run: |
python -V
python -m pip install --upgrade pip
python -m pip install pipenv
- run: pipenv install
working-directory: ./wasm/tests
- uses: actions/setup-node@v1
- name: run test
run: |
export PATH=$PATH:`pwd`/../../geckodriver
npm install
npm run test
working-directory: ./wasm/demo