Merge pull request #65 from umarcor/ci/msys2
CI: Windows/MSYS2 packaging
This commit is contained in:
commit
ef52dc3842
|
|
@ -0,0 +1,102 @@
|
||||||
|
name: Test
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
|
||||||
|
win-makepkg:
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- { icon: '⬛', sys: mingw32, env: i686 }
|
||||||
|
- { icon: '🟦', sys: mingw64, env: x86_64 }
|
||||||
|
- { icon: '🟨', sys: ucrt64, env: ucrt-x86_64 } # Experimental!
|
||||||
|
- { icon: '🟧', sys: clang64, env: clang-x86_64 } # Experimental!
|
||||||
|
name: 🚧${{ matrix.icon }} ${{ matrix.sys }} | ${{ matrix.env }} | makepkg
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: msys2 {0}
|
||||||
|
env:
|
||||||
|
MINGW_ARCH: ${{ matrix.sys }}
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: '⚙️ git config'
|
||||||
|
run: git config --global core.autocrlf input
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
- name: '🧰 Checkout'
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: '${{ matrix.icon }} Setup MSYS2'
|
||||||
|
uses: msys2/setup-msys2@v2
|
||||||
|
with:
|
||||||
|
msystem: ${{ matrix.sys }}
|
||||||
|
update: true
|
||||||
|
install: >
|
||||||
|
git
|
||||||
|
base-devel
|
||||||
|
tree
|
||||||
|
mingw-w64-${{ matrix.env }}-toolchain
|
||||||
|
|
||||||
|
- name: '🚧 Build package'
|
||||||
|
run: |
|
||||||
|
cd scripts/msys2
|
||||||
|
makepkg-mingw --noconfirm --noprogressbar -sCLf
|
||||||
|
|
||||||
|
- name: '📤 Upload artifact: package'
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.sys }}-openFPGALoader
|
||||||
|
path: scripts/msys2/*${{ matrix.env }}*.zst
|
||||||
|
|
||||||
|
- name: '🔍 Show package content'
|
||||||
|
run: |
|
||||||
|
mkdir tmp
|
||||||
|
cd tmp
|
||||||
|
tar -xf ../scripts/msys2/*.zst
|
||||||
|
tree .
|
||||||
|
|
||||||
|
|
||||||
|
win-test:
|
||||||
|
needs: win-makepkg
|
||||||
|
runs-on: windows-latest
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- { icon: '⬛', sys: mingw32, env: i686 }
|
||||||
|
- { icon: '🟦', sys: mingw64, env: x86_64 }
|
||||||
|
- { icon: '🟨', sys: ucrt64, env: ucrt-x86_64 } # Experimental!
|
||||||
|
- { icon: '🟧', sys: clang64, env: clang-x86_64 } # Experimental!
|
||||||
|
name: 🚦${{ matrix.icon }} ${{ matrix.sys }} | ${{ matrix.env }} | test
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: msys2 {0}
|
||||||
|
steps:
|
||||||
|
|
||||||
|
- name: '${{ matrix.icon }} Setup MSYS2'
|
||||||
|
uses: msys2/setup-msys2@v2
|
||||||
|
with:
|
||||||
|
msystem: ${{ matrix.sys }}
|
||||||
|
update: true
|
||||||
|
|
||||||
|
- name: '📥 Download artifact: package'
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ${{ matrix.sys }}-openFPGALoader
|
||||||
|
|
||||||
|
- name: '🛠️ Install package'
|
||||||
|
run: pacman -U --noconfirm --noprogressbar *.zst
|
||||||
|
|
||||||
|
- name: '🚦 Test package'
|
||||||
|
run: |
|
||||||
|
openFPGALoader --help
|
||||||
|
openFPGALoader --detect || true
|
||||||
|
|
@ -1,5 +1,11 @@
|
||||||
# openFPGALoader
|
# openFPGALoader
|
||||||
Universal utility for programming FPGA
|
|
||||||
|
<p align="center">
|
||||||
|
<a title="'Test' workflow Status" href="https://github.com/trabucayre/openFPGALoader/actions?query=workflow%3ATest"><img alt="'Test' workflow Status" src="https://img.shields.io/github/workflow/status/trabucayre/openFPGALoader/Test?longCache=true&style=flat-square&label=Test&logo=github%20actions&logoColor=fff"></a><!--
|
||||||
|
-->
|
||||||
|
</p>
|
||||||
|
|
||||||
|
Universal utility for programming FPGAs.
|
||||||
|
|
||||||
__Current supported kits:__
|
__Current supported kits:__
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
_realname=openFPGALoader
|
||||||
|
pkgbase=mingw-w64-${_realname}
|
||||||
|
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||||
|
pkgver=ci
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="openFPGALoader: universal utility for programming FPGA (mingw-w64)"
|
||||||
|
arch=('any')
|
||||||
|
url="https://github.com/trabucayre/openFPGALoader"
|
||||||
|
license=('Apache-2.0')
|
||||||
|
depends=("${MINGW_PACKAGE_PREFIX}-libftdi")
|
||||||
|
makedepends=(
|
||||||
|
"${MINGW_PACKAGE_PREFIX}-gcc"
|
||||||
|
"${MINGW_PACKAGE_PREFIX}-cmake"
|
||||||
|
)
|
||||||
|
|
||||||
|
source=()
|
||||||
|
sha256sums=()
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "${srcdir}"
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
MSYS2_ARG_CONV_EXCL=- cmake \
|
||||||
|
-G "MSYS Makefiles" \
|
||||||
|
-DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" \
|
||||||
|
../../../..
|
||||||
|
cmake --build .
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
"${srcdir}"/build/openFPGALoader.exe --help
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "${srcdir}"/build
|
||||||
|
make DESTDIR="${pkgdir}" install
|
||||||
|
|
||||||
|
_licenses="${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}"
|
||||||
|
mkdir -p "${_licenses}"
|
||||||
|
install -m 644 ../../../../LICENSE "${_licenses}"
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue