mirror of
https://github.com/86Box/probing-tools.git
synced 2026-02-21 09:05:34 -07:00
At least until Ubuntu updates their mingw-w64 to include the fix for this: https://sourceforge.net/p/mingw-w64/bugs/991/
143 lines
4.5 KiB
YAML
143 lines
4.5 KiB
YAML
name: build
|
|
|
|
on: push
|
|
|
|
jobs:
|
|
make:
|
|
name: Make
|
|
|
|
runs-on: ubuntu-22.04
|
|
|
|
env:
|
|
WATCOM: /opt/watcom
|
|
EDPATH: /opt/watcom/eddat
|
|
INCLUDE: /opt/watcom/h:/opt/watcom/lh
|
|
|
|
steps:
|
|
- name: Install build tools
|
|
run: sudo apt update && sudo apt install build-essential crossbuild-essential-i386 gcc-mingw-w64-i686 binutils-mingw-w64-i686 mingw-w64-i686-dev gcc-mingw-w64-x86-64 binutils-mingw-w64-x86-64 mingw-w64-x86-64-dev xz-utils
|
|
- name: Download OpenWatcom
|
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
run: |
|
|
rm -rf /opt/watcom
|
|
mkdir /opt/watcom
|
|
wget -qO- https://github.com/open-watcom/open-watcom-v2/releases/download/2023-12-01-Build/ow-snapshot.tar.xz | tar -Jxv -C /opt/watcom
|
|
echo "/opt/watcom/binl64:/opt/watcom/binl" >> $GITHUB_PATH
|
|
- name: Download and build libpci
|
|
if: steps.cache.outputs.cache-hit != 'true'
|
|
run: |
|
|
rm -rf /opt/pciutils-*
|
|
wget -qO- https://github.com/pciutils/pciutils/releases/download/v3.13.0/pciutils-3.13.0.tar.gz | tar -zxv -C /opt
|
|
cd /opt/pciutils-*
|
|
make CC=i686-linux-gnu-gcc ZLIB=no DNS=no SHARED=no
|
|
sudo make install-lib
|
|
make clean
|
|
make all CROSS_COMPILE=i686-w64-mingw32- HOST=i586-windows ZLIB=no DNS=no SHARED=no IDSDIR=""
|
|
sudo make install-lib PREFIX=/usr/i686-w64-mingw32
|
|
make clean
|
|
make all CROSS_COMPILE=x86_64-w64-mingw32- HOST=x86_64-windows ZLIB=no DNS=no SHARED=no IDSDIR=""
|
|
sudo make install-lib PREFIX=/usr/x86_64-w64-mingw32
|
|
- uses: actions/checkout@v4
|
|
- name: Build `cp437`
|
|
run: |
|
|
cd ${{ github.workspace }}/cp437
|
|
gcc cp437.c -o cp437
|
|
- name: Build `ac97`
|
|
run: |
|
|
cd ${{ github.workspace }}/ac97
|
|
wmake
|
|
make -f Makefile.gcc clean all CC=i686-linux-gnu-gcc CFLAGS=-I/usr/local/include LDFLAGS=-static
|
|
- name: Build `acpi`
|
|
run: |
|
|
cd ${{ github.workspace }}/acpi
|
|
wmake
|
|
- name: Build `biosdump`
|
|
run: |
|
|
cd ${{ github.workspace }}/biosdump
|
|
wmake
|
|
- name: Build `isapnp`
|
|
run: |
|
|
cd ${{ github.workspace }}/isapnp
|
|
wmake
|
|
- name: Build `kbtest`
|
|
run: |
|
|
cd ${{ github.workspace }}/kbtest
|
|
wmake
|
|
- name: Build `pcireg`
|
|
run: |
|
|
cd ${{ github.workspace }}/pcireg
|
|
wmake
|
|
make -f Makefile.uefi ARCH=x86_64
|
|
make -f Makefile.win32 clean all X64=n
|
|
make -f Makefile.win32 clean all X64=y
|
|
make -f Makefile.gcc clean all CC=i686-linux-gnu-gcc CFLAGS=-I/usr/local/include LDFLAGS=-static
|
|
- name: Build `usblgoff`
|
|
run: |
|
|
cd ${{ github.workspace }}/usblgoff
|
|
wmake
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: probing-tools-${{ github.sha }}-${{ github.job }}
|
|
path: |
|
|
**/*.EXE
|
|
**/*.EFI
|
|
ac97/ac97
|
|
pcireg/pcireg
|
|
pcireg/pcireg*.exe
|
|
**/*.LHA
|
|
ac97/*.md
|
|
acpi/*.md
|
|
biosdump/*.md
|
|
isapnp/*.md
|
|
kbtest/*.md
|
|
pcireg/*.md
|
|
usblgoff/*.md
|
|
|
|
newbasic:
|
|
name: NewBasic
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- name: Download NewBasic assembler
|
|
run: |
|
|
Invoke-WebRequest http://www.fysnet.net/zips/nbasm.zip -OutFile nbasm.zip
|
|
Expand-Archive nbasm.zip -DestinationPath "$env:LOCALAPPDATA/Programs"
|
|
echo "$env:LOCALAPPDATA/Programs" >> $env:GITHUB_PATH
|
|
- uses: actions/checkout@v4
|
|
- name: Build `amikey`
|
|
run: |
|
|
cd ${{ github.workspace }}/amikey
|
|
./build.bat AMIKEY
|
|
./build.bat JETKEY
|
|
- name: Build `multikey`
|
|
run: |
|
|
cd ${{ github.workspace }}/multikey
|
|
./build.bat MULTIKEY
|
|
- name: Build `viakey`
|
|
run: |
|
|
cd ${{ github.workspace }}/viakey
|
|
./build.bat VIAKEY
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: probing-tools-${{ github.sha }}-${{ github.job }}
|
|
path: |
|
|
**/*.COM
|
|
amikey/*.md
|
|
multikey/*.md
|
|
viakey/*.md
|
|
|
|
merge:
|
|
name: Artifacts
|
|
|
|
runs-on: ubuntu-22.04
|
|
needs: [make, newbasic]
|
|
|
|
steps:
|
|
- name: Merge artifacts
|
|
uses: actions/upload-artifact/merge@v4
|
|
with:
|
|
name: probing-tools-${{ github.sha }}
|
|
pattern: probing-tools-${{ github.sha }}-*
|
|
delete-merged: true
|