53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
name: i586_dos_gcc_cross
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
|
|
i586_dos_gcc_cross:
|
|
runs-on: ubuntu-20.04
|
|
timeout-minutes: 15
|
|
env:
|
|
CC: /opt/djgpp/bin/i586-pc-msdosdjgpp-gcc
|
|
LDFLAGS: -static
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Retrieve test compression corpus
|
|
run: |
|
|
git clone https://github.com/ariya/compression-corpus.git
|
|
cd compression-corpus
|
|
cd enwik
|
|
unzip enwik8.zip
|
|
- run: sudo apt-get -y -qq update
|
|
- name: Prepare cross-compiler
|
|
run: |
|
|
curl -OL https://github.com/andrewwutw/build-djgpp/releases/download/v3.3/djgpp-linux64-gcc1210.tar.bz2
|
|
tar xf djgpp-linux64-gcc1210.tar.bz2 -C /opt
|
|
- name: Verify compiler version
|
|
run: /opt/djgpp/bin/i586-pc-msdosdjgpp-gcc --version
|
|
- name: Install DOSEMU2
|
|
run: |
|
|
sudo add-apt-repository -y ppa:dosemu2/ppa
|
|
sudo apt update -y
|
|
sudo apt install -y dosemu2
|
|
- run: dosemu --version
|
|
- name: Perform round-trip tests
|
|
run: |
|
|
cd tests
|
|
ln -s ../compression-corpus/ corpus
|
|
make test_roundtrip TEST_ROUNDTRIP=testrr
|
|
file ./testrr.exe
|
|
dosemu -dumb -K . -t -E "testrr corpus/"
|
|
- name: 'Build and run example: 6pack and 6unpack'
|
|
run: |
|
|
cd examples
|
|
ln -s ../compression-corpus/enwik/enwik8.txt enwik8.txt
|
|
make
|
|
file ./6pack.exe
|
|
dosemu -K . -t -E "6pack.exe -v"
|
|
dosemu -K . -t -E "6pack.exe enwik8.txt archive.6pk"
|
|
mv enwik8.txt enwik8.txt.orig
|
|
dosemu -K . -t -E "6unpack.exe -v"
|
|
dosemu -K . -t -E "6unpack.exe archive.6pk"
|
|
ls -l enwik8*
|