Zernit/.github/workflows/cona-isa.yml.krey
2020-02-09 15:29:33 +00:00

303 lines
8.6 KiB
Plaintext

name: ConaIsa
# Relevant to events - https://help.github.com/en/actions/automating-your-workflow-with-github-actions/events-that-trigger-workflows
on:
pull_request:
branches: [master]
types: [synchronize, opened, reopened, ready_for_review]
jobs:
# Rustlang
build-rustlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: building..
run: make build-rustlang
check-rustlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: checking..
run: make check-rustlang
bench-rustlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: running benchmarks..
run: make bench-rustlang
# gcc-c
build-gcc-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-gcc-c
run: make build-gcc-c
check-gcc-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-gcc-c
run: make check-gcc-c
bench-gcc-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-gcc-c
run: make bench-gcc-c
# gcc-ccp
build-gcc-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-gcc-ccp
run: make build-gcc-ccp
check-gcc-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-gcc-ccp
run: make check-gcc-ccp
bench-gcc-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-gcc-ccp
run: make bench-gcc-ccp
# clang-c
build-clang-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-clang-c
run: make build-clang-c
check-clang-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-clang-c
run: make check-clang-c
bench-clang-c:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-clang-c
run: make bench-clang-c
# clang-ccp
build-clang-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-clang-ccp
run: make build-clang-ccp
check-clang-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-clang-ccp
run: make check-clang-ccp
bench-clang-cpp:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-clang-ccp
run: make bench-clang-ccp
# vlang
build-vlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Fetching dependencies..
run: |
# CACHEDIR check
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache"
# Fetch vlang
[ ! -f "$HOME/.cache/vlang-0.1.24.zip" ] && wget https://github.com/vlang/v/releases/download/0.1.24/v_linux.zip -O "$HOME/.cache/vlang-0.1.24.zip"
# Extract
[ ! -x "/opt/vlang/v" ] && unzip "$HOME/.cache/vlang-0.1.24.zip" -d /opt/vlang
- name: make build-vlang
run: make build-vlang
check-vlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Fetching dependencies..
run: |
# CACHEDIR check
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache"
# Fetch vlang
[ ! -f "$HOME/.cache/vlang-0.1.24.zip" ] && wget https://github.com/vlang/v/releases/download/0.1.24/v_linux.zip -O "$HOME/.cache/vlang-0.1.24.zip"
# Extract
[ ! -x "/opt/vlang/v" ] && unzip "$HOME/.cache/vlang-0.1.24.zip" -d /opt/vlang
- name: make check-vlang
run: make check-vlang
bench-vlang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Fetching dependencies..
run: |
# CACHEDIR check
[ ! -d "$HOME/.cache/" ] && mkdir "$HOME/.cache"
# Fetch vlang
[ ! -f "$HOME/.cache/vlang-0.1.24.zip" ] && wget https://github.com/vlang/v/releases/download/0.1.24/v_linux.zip -O "$HOME/.cache/vlang-0.1.24.zip"
# Extract
[ ! -x /opt/vlang/v ] && unzip "$HOME/.cache/vlang-0.1.24.zip" -d /opt/vlang
- name: make bench-vlang
run: make bench-vlang
# Golang
build-golang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make build-golang
run: make build-golang
check-golang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make check-golang
run: make check-golang
bench-golang:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: make bench-golang
run: make bench-golang
# Shell
check-shell:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: shellcheck
uses: azohra/shell-linter@v0.2.0
with:
path: "src/*.sh"
# Bash
check-bash:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: shellcheck
uses: azohra/shell-linter@v0.2.0
with:
path: "src/*.bash"
# Python
check-python:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Test with pylint
run: |
pip install pylint
pylint ${{ github.workspace }}/src/bin/main
# Jekyll
jekyll:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-18.04]
steps:
- uses: actions/checkout@v2
- name: Build the site in the jekyll/builder container
run: |
docker run -v ${{ github.workspace }}:/srv/jekyll -v ${{ github.workspace }}/_site:/srv/jekyll/_site jekyll/builder:latest /bin/bash -c "chmod 777 /srv/jekyll && jekyll build --future"