diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/checkpatch.yml | 21 | ||||
-rw-r--r-- | .github/workflows/linux-build.yml | 34 | ||||
-rw-r--r-- | .github/workflows/snapshot.yml | 89 |
3 files changed, 144 insertions, 0 deletions
diff --git a/.github/workflows/checkpatch.yml b/.github/workflows/checkpatch.yml new file mode 100644 index 0000000..4ed0a05 --- /dev/null +++ b/.github/workflows/checkpatch.yml @@ -0,0 +1,21 @@ +on: push + +name: Check Code Style + +jobs: + check: + runs-on: ubuntu-latest + env: + DL_DIR: ../downloads + BUILD_DIR: ../build + steps: + - name: Checkout Code + uses: actions/checkout@v2 + with: + fetch-depth: 50 + - run: sudo apt-get install patchutils + - name: Run checkpatch + run: | + git diff -U20 HEAD~40 | \ + filterdiff -x "a/src/jtag/drivers/libjaylink/*" -x "a/tools/git2cl/*" | \ + ./tools/scripts/checkpatch.pl --no-signoff - diff --git a/.github/workflows/linux-build.yml b/.github/workflows/linux-build.yml new file mode 100644 index 0000000..53858a8 --- /dev/null +++ b/.github/workflows/linux-build.yml @@ -0,0 +1,34 @@ +on: push + +name: Linux Build + +jobs: + # 32-bit, clang + build32: + runs-on: ubuntu-latest + env: + CFLAGS: -m32 + CC: clang + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - run: sudo apt-get install clang gcc-multilib + - run: ./bootstrap + - run: ./configure --enable-remote-bitbang --enable-jtag_vpi --disable-target64 + - run: make + - run: file src/openocd | grep 32-bit + + + # 64-bit, gcc + build64: + runs-on: ubuntu-latest + env: + CFLAGS: -m64 + CC: gcc + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - run: ./bootstrap + - run: ./configure --enable-remote-bitbang --enable-jtag_vpi + - run: make + - run: file src/openocd | grep 64-bit diff --git a/.github/workflows/snapshot.yml b/.github/workflows/snapshot.yml new file mode 100644 index 0000000..389099f --- /dev/null +++ b/.github/workflows/snapshot.yml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: GPL-2.0-or-later + +# Copyright (C) 2020 by Tarek BOUCHKATI <tarek.bouchkati@gmail.com> + +on: push + +name: OpenOCD Snapshot + +jobs: + package: + runs-on: [ubuntu-18.04] + env: + DL_DIR: ../downloads + BUILD_DIR: ../build + steps: + - name: Install needed packages + run: sudo apt-get install autotools-dev autoconf automake libtool pkg-config cmake texinfo texlive g++-mingw-w64-i686 + - name: Checkout Code + uses: actions/checkout@v1 + - run: ./bootstrap + - name: Prepare libusb1 + env: + LIBUSB1_VER: 1.0.23 + run: | + mkdir -p $DL_DIR && cd $DL_DIR + wget "https://github.com/libusb/libusb/releases/download/v${LIBUSB1_VER}/libusb-${LIBUSB1_VER}.tar.bz2" + tar -xjf libusb-${LIBUSB1_VER}.tar.bz2 + echo "LIBUSB1_SRC=$PWD/libusb-${LIBUSB1_VER}" >> $GITHUB_ENV + - name: Prepare hidapi + env: + HIDAPI_VER: 0.9.0 + run: | + mkdir -p $DL_DIR && cd $DL_DIR + wget "https://github.com/libusb/hidapi/archive/hidapi-${HIDAPI_VER}.tar.gz" + tar -xzf hidapi-${HIDAPI_VER}.tar.gz + cd hidapi-hidapi-${HIDAPI_VER} + ./bootstrap + echo "HIDAPI_SRC=$PWD" >> $GITHUB_ENV + - name: Prepare libftdi + env: + LIBFTDI_VER: 1.4 + run: | + mkdir -p $DL_DIR && cd $DL_DIR + wget "http://www.intra2net.com/en/developer/libftdi/download/libftdi1-${LIBFTDI_VER}.tar.bz2" + tar -xjf libftdi1-${LIBFTDI_VER}.tar.bz2 + echo "LIBFTDI_SRC=$PWD/libftdi1-${LIBFTDI_VER}" >> $GITHUB_ENV + - name: Prepare capstone + env: + CAPSTONE_VER: 4.0.2 + run: | + mkdir -p $DL_DIR && cd $DL_DIR + CAPSTONE_NAME=${CAPSTONE_VER} + CAPSTONE_FOLDER=capstone-${CAPSTONE_VER} + wget "https://github.com/aquynh/capstone/archive/${CAPSTONE_VER}.tar.gz" + tar -xzf ${CAPSTONE_VER}.tar.gz + echo "CAPSTONE_SRC=$PWD/capstone-${CAPSTONE_VER}" >> $GITHUB_ENV + - name: Package OpenOCD for windows + env: + MAKE_JOBS: 2 + HOST: i686-w64-mingw32 + LIBUSB1_CONFIG: --enable-shared --enable-static + HIDAPI_CONFIG: --enable-shared --disable-static --disable-testgui + LIBFTDI_CONFIG: "-DCMAKE_TOOLCHAIN_FILE='${{ env.LIBFTDI_SRC }}/cmake/Toolchain-i686-w64-mingw32.cmake' -DBUILD_TESTS:BOOL=off -DFTDIPP:BOOL=off -DPYTHON_BINDINGS:BOOL=off -DEXAMPLES:BOOL=off -DDOCUMENTATION:BOOL=off -DFTDI_EEPROM:BOOL=off" + CAPSTONE_CONFIG: "CAPSTONE_BUILD_CORE_ONLY=yes CAPSTONE_STATIC=yes CAPSTONE_SHARED=no" + run: | + # check if there is tag pointing at HEAD, otherwise take the HEAD SHA-1 as OPENOCD_TAG + OPENOCD_TAG="`git tag --points-at HEAD`" + [ -z $OPENOCD_TAG ] && OPENOCD_TAG="`git rev-parse --short HEAD`" + # check if there is tag pointing at HEAD, if so the release will have the same name as the tag, + # otherwise it will be named 'latest' + RELEASE_NAME="`git tag --points-at HEAD`" + [ -z $RELEASE_NAME ] && RELEASE_NAME="latest" + [[ $RELEASE_NAME = "latest" ]] && IS_PRE_RELEASE="true" || IS_PRE_RELEASE="false" + # set env and call cross-build.sh + export OPENOCD_TAG=$OPENOCD_TAG + export OPENOCD_SRC=$PWD + export OPENOCD_CONFIG="" + mkdir -p $BUILD_DIR && cd $BUILD_DIR + bash $OPENOCD_SRC/contrib/cross-build.sh $HOST + # add missing dlls + cd $HOST-root/usr + cp `$HOST-gcc --print-file-name=libwinpthread-1.dll` ./bin/ + cp `$HOST-gcc --print-file-name=libgcc_s_sjlj-1.dll` ./bin/ + # prepare the artifact + ARTIFACT="openocd-${OPENOCD_TAG}-${HOST}.tar.gz" + tar -czf $ARTIFACT * + echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV + echo "IS_PRE_RELEASE=$IS_PRE_RELEASE" >> $GITHUB_ENV + echo "ARTIFACT_PATH=$PWD/$ARTIFACT" >> $GITHUB_ENV |