proxmark3/.github/workflows/ubuntu.yml

125 lines
3.5 KiB
YAML
Raw Normal View History

2021-01-05 03:18:08 +08:00
name: Ubuntu Build and Test
on:
push:
paths-ignore:
- 'doc/**'
- 'docker/**'
- 'traces/**'
- '.vscode/**'
pull_request:
paths-ignore:
- 'doc/**'
- 'docker/**'
- 'traces/**'
- '.vscode/**'
2021-01-05 03:18:08 +08:00
jobs:
2021-01-05 19:44:49 +08:00
ubuntu-make:
2021-01-05 03:18:08 +08:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2021-01-05 03:18:08 +08:00
- name: Update apt repos
run: sudo apt-get update
- name: Install dependencies
run: sudo apt-get install -yqq make autoconf build-essential ca-certificates pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbz2-dev libbluetooth-dev libpython3-dev python3 python3-dev libpython3-all-dev liblua5.2-dev liblua5.2-0 lua5.2 sed libssl-dev
2021-01-05 03:18:08 +08:00
2021-02-23 05:17:28 +08:00
- name: Install Python dependencies
run: |
2021-02-23 05:28:40 +08:00
python3 -m pip install --upgrade pip
2021-02-24 02:00:18 +08:00
python3 -m pip install setuptools
python3 -m pip install ansicolors sslcrypto
2021-02-23 05:28:40 +08:00
if [ -f requirements.txt ]; then python3 -m pip install -r requirements.txt; fi
2021-02-23 05:17:28 +08:00
2021-01-05 03:18:08 +08:00
- name: make clean
run: make clean
- name: Build
env:
V: 1
run: make
- name: Test
run: make check
2021-01-05 19:44:49 +08:00
ubuntu-make-btaddon:
2021-01-05 03:18:08 +08:00
if: always()
2021-01-05 19:44:49 +08:00
needs: [ubuntu-make]
2021-01-05 03:18:08 +08:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2021-01-05 03:18:08 +08:00
- name: Update apt repos
run: sudo apt-get update
- name: Install dependencies
2022-12-03 19:21:29 +08:00
run: sudo apt-get install -yqq make autoconf build-essential ca-certificates pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbz2-dev libbluetooth-dev libpython3-dev python3 python3-dev libpython3-all-dev liblua5.2-dev liblua5.2-0 lua5.2 sed libssl-dev
2021-01-05 03:18:08 +08:00
2021-02-23 05:17:28 +08:00
- name: Install Python dependencies
run: |
2021-02-23 05:28:40 +08:00
python3 -m pip install --upgrade pip
2021-02-24 02:00:18 +08:00
python3 -m pip install setuptools
python3 -m pip install ansicolors sslcrypto
2021-02-23 05:28:40 +08:00
if [ -f requirements.txt ]; then python3 -m pip install -r requirements.txt; fi
2021-02-23 05:17:28 +08:00
2021-01-05 03:18:08 +08:00
- name: make clean
run: make clean
- name: Build
env:
V: 1
PLATFORM_EXTRAS: BTADDON
run: make
- name: Test
run: make check
2021-01-05 19:44:49 +08:00
ubuntu-cmake:
2021-01-05 03:18:08 +08:00
if: always()
2021-01-05 19:44:49 +08:00
needs: [ubuntu-make, ubuntu-make-btaddon]
2021-01-05 03:18:08 +08:00
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2021-01-05 03:18:08 +08:00
- name: Update apt repos
run: sudo apt-get update
- name: Install dependencies
2022-12-03 19:21:29 +08:00
run: sudo apt-get install -yqq make autoconf build-essential ca-certificates pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev libbz2-dev libbluetooth-dev libpython3-dev python3 python3-dev libpython3-all-dev liblua5.2-dev liblua5.2-0 lua5.2 sed libssl-dev
2021-01-05 03:18:08 +08:00
2021-02-23 05:17:28 +08:00
- name: Install Python dependencies
run: |
2021-02-23 05:28:40 +08:00
python3 -m pip install --upgrade pip
2021-02-24 02:00:18 +08:00
python3 -m pip install setuptools
python3 -m pip install ansicolors sslcrypto
2021-02-23 05:28:40 +08:00
if [ -f requirements.txt ]; then python3 -m pip install -r requirements.txt; fi
2021-02-23 05:17:28 +08:00
2021-01-05 03:18:08 +08:00
- name: Prepare Build Folders
2021-10-12 06:31:08 +08:00
run: |
mkdir -p client/build
ln -s ../cmdscripts client/build/
ln -s ../luascripts client/build/
ln -s ../pyscripts client/build/
ln -s ../lualibs client/build/
2021-01-05 03:18:08 +08:00
- name: Initiate cmake environment
run: cmake ..
working-directory: client/build/
- name: Build
env:
VERBOSE: 1
run: make
working-directory: client/build/
- name: Test
env:
CHECKARGS: "--clientbin ./client/build/proxmark3"
run: make client/check