diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/cross/ubuntu-armhf.txt | 17 | ||||
-rw-r--r-- | .github/cross/ubuntu-ppc64le.txt | 17 | ||||
-rw-r--r-- | .github/workflows/meson.yml | 60 | ||||
-rw-r--r-- | .github/workflows/python-publish.yml | 12 | ||||
-rw-r--r-- | .github/workflows/release.yml | 2 |
5 files changed, 105 insertions, 3 deletions
diff --git a/.github/cross/ubuntu-armhf.txt b/.github/cross/ubuntu-armhf.txt new file mode 100644 index 0000000..2eee70b --- /dev/null +++ b/.github/cross/ubuntu-armhf.txt @@ -0,0 +1,17 @@ +[binaries] +c = '/usr/bin/arm-linux-gnueabihf-gcc' +ar = '/usr/arm-linux-gnueabihf/bin/ar' +strip = '/usr/arm-linux-gnueabihf/bin/strip' +pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config' +ld = '/usr/bin/arm-linux/gnueabihf-ld' + +[properties] +root = '/usr/arm-linux-gnueabihf' +has_function_printf = true +skip_sanity_check = true + +[host_machine] +system = 'linux' +cpu_family = 'arm' +cpu = 'armv7' +endian = 'little' diff --git a/.github/cross/ubuntu-ppc64le.txt b/.github/cross/ubuntu-ppc64le.txt new file mode 100644 index 0000000..4cf6a92 --- /dev/null +++ b/.github/cross/ubuntu-ppc64le.txt @@ -0,0 +1,17 @@ +[binaries] +c = '/usr/bin/powerpc64le-linux-gnu-gcc' +ar = '/usr/powerpc64le-linux-gnu/bin/ar' +strip = '/usr/powerpc64le-linux-gnu/bin/strip' +pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config' +ld = '/usr/bin/powerpc64le-linux-gnu-ld' + +[properties] +root = '/usr/powerpc64le-linux-gnu' +has_function_printf = true +skip_sanity_check = true + +[host_machine] +system = 'linux' +cpu_family = 'ppc64' +cpu = '' +endian = 'little' diff --git a/.github/workflows/meson.yml b/.github/workflows/meson.yml index 9006eae..52b2b6a 100644 --- a/.github/workflows/meson.yml +++ b/.github/workflows/meson.yml @@ -30,6 +30,66 @@ jobs: name: Linux_Meson_Testlog path: build/meson-logs/testlog.txt + build-cross-armhf: + runs-on: ubuntu-latest + steps: + - name: set up arm architecture + run: | + export release=$(lsb_release -c -s) + sudo dpkg --add-architecture armhf + sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list + sudo dd of=/etc/apt/sources.list.d/armhf.list <<EOF + deb [arch=armhf] http://ports.ubuntu.com/ $release main universe restricted" + deb [arch=armhf] http://ports.ubuntu.com/ $release-updates main universe restricted" + EOF + sudo apt update + - name: install armhf compiler + run: sudo apt install gcc-arm-linux-gnueabihf pkg-config + - name: install libraries + run: sudo apt install uuid-dev:armhf libjson-c-dev:armhf + - uses: actions/checkout@v3 + - uses: BSFishy/meson-build@v1.0.3 + with: + # suppress python for now; the python headers currently assume native + setup-options: --werror --cross-file=.github/cross/ubuntu-armhf.txt --wrap-mode=nofallback -Dpython=false + options: --verbose + action: build + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: Linux_Meson_Testlog + path: build/meson-logs/testlog.txt + + build-cross-ppc64le: + runs-on: ubuntu-latest + steps: + - name: set up ppc64le architecture + run: | + export release=$(lsb_release -c -s) + sudo dpkg --add-architecture ppc64el + sudo sed -i -e 's/deb http/deb [arch=amd64] http/g' /etc/apt/sources.list + sudo dd of=/etc/apt/sources.list.d/ppc64el.list <<EOF + deb [arch=ppc64el] http://ports.ubuntu.com/ $release main universe restricted" + deb [arch=ppc64el] http://ports.ubuntu.com/ $release-updates main universe restricted" + EOF + sudo apt update + - name: install powerpc64le compiler + run: sudo apt install gcc-powerpc64le-linux-gnu pkg-config + - name: install libraries + run: sudo apt install uuid-dev:ppc64el libjson-c-dev:ppc64el + - uses: actions/checkout@v3 + - uses: BSFishy/meson-build@v1.0.3 + with: + # suppress python for now; the python headers currently assume native + setup-options: --werror --cross-file=.github/cross/ubuntu-ppc64le.txt --wrap-mode=nofallback -Dpython=false + options: --verbose + action: build + - uses: actions/upload-artifact@v3 + if: failure() + with: + name: Linux_Meson_Testlog + path: build/meson-logs/testlog.txt + build-fallback: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index dc2b6a6..09fef2f 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -46,13 +46,21 @@ jobs: runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/v') steps: - - uses: actions/download-artifact@v3 + - name: Check if it is a release tag + id: check-tag + run: | + if [[ ${{ github.event.ref }} =~ ^refs/tags/v([0-9]+\.[0-9]+)(-rc[0-9]+)?$ ]]; then + echo ::set-output name=match::true + fi + - name: Download artifiact + uses: actions/download-artifact@v3 + if: steps.check-tag.outputs.match == 'true' with: name: artifact path: dist - - name: Publish package to PyPI uses: pypa/gh-action-pypi-publish@release/v1.5 + if: steps.check-tag.outputs.match == 'true' with: user: __token__ password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index db84ef5..e0255a8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -13,7 +13,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: ncipollo/release-action@v1 with: token: ${{ secrets.GITHUB_TOKEN }} |