From dbc52a11807f2065e0c592ec4fff114a26811927 Mon Sep 17 00:00:00 2001 From: ConorBobbleHat Date: Sat, 30 Dec 2023 00:34:47 +0000 Subject: [PATCH 1/7] New regression CI action --- .github/workflows/regression.yml | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/regression.yml diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml new file mode 100644 index 0000000..bdbae55 --- /dev/null +++ b/.github/workflows/regression.yml @@ -0,0 +1,35 @@ +name: Regression + +on: + push: + paths-ignore: + - '*.md' + - 'LICENSE' + pull_request: + +env: + DOCKER_BUILDKIT: 1 + +jobs: + build_and_test: + name: Build and test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y file unzip wget + pipx install poetry + + - name: Build release + run: docker build --build-arg build_type=Release --target export --output build . + + - name: Test + shell: bash + run: | + mv build_debug/wibo build/wibo_debug + git clone https://github.com/ConorBobbleHat/wibo-test-suite + ./wibo-test-suite/setup.sh + ./wibo-test-suite/run_compare_wine_wibo.sh build/wibo \ No newline at end of file From 31ad3691e6b7df835884a33a0f2d40723c24bd98 Mon Sep 17 00:00:00 2001 From: ConorBobbleHat Date: Sat, 30 Dec 2023 00:36:27 +0000 Subject: [PATCH 2/7] remove superfluous move --- .github/workflows/regression.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index bdbae55..a15da85 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -12,7 +12,7 @@ env: jobs: build_and_test: - name: Build and test + name: Regression test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -29,7 +29,6 @@ jobs: - name: Test shell: bash run: | - mv build_debug/wibo build/wibo_debug git clone https://github.com/ConorBobbleHat/wibo-test-suite ./wibo-test-suite/setup.sh ./wibo-test-suite/run_compare_wine_wibo.sh build/wibo \ No newline at end of file From 20c60ea479381b0a6da80e626825aa935aae0bdd Mon Sep 17 00:00:00 2001 From: ConorBobbleHat Date: Sat, 30 Dec 2023 00:38:07 +0000 Subject: [PATCH 3/7] working dir fun --- .github/workflows/regression.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index a15da85..c4cf44e 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -30,5 +30,6 @@ jobs: shell: bash run: | git clone https://github.com/ConorBobbleHat/wibo-test-suite - ./wibo-test-suite/setup.sh - ./wibo-test-suite/run_compare_wine_wibo.sh build/wibo \ No newline at end of file + cd wibo-test-suite + ./setup.sh + ./run_compare_wine_wibo.sh ../build/wibo \ No newline at end of file From 8fa1e6f5ab0f1f7512fd7e517f39af9e05bc5092 Mon Sep 17 00:00:00 2001 From: ConorBobbleHat Date: Sat, 30 Dec 2023 00:43:20 +0000 Subject: [PATCH 4/7] compiler caching --- .github/workflows/regression.yml | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index c4cf44e..0fb0a44 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -26,10 +26,20 @@ jobs: - name: Build release run: docker build --build-arg build_type=Release --target export --output build . - - name: Test + - name: Clone test suite + shell: bash + run: | + git clone --recursive https://github.com/ConorBobbleHat/wibo-test-suite + + - name: Cache compilers + uses: actions/cache@v3 + with: + path: wibo-test-suite/decomp.me/backend/compilers/download_cache + key: ${{ runner.os }}-compilers-${{ hashFiles('backend/compilers/compilers.*.yaml') }} + + - name: Run test suite shell: bash run: | - git clone https://github.com/ConorBobbleHat/wibo-test-suite cd wibo-test-suite ./setup.sh - ./run_compare_wine_wibo.sh ../build/wibo \ No newline at end of file + ./run_compare_wine_wibo.sh $(realpath ../build/wibo) \ No newline at end of file From 6a8c05643570a153506bb766f36e2e28d8661895 Mon Sep 17 00:00:00 2001 From: ConorBobbleHat Date: Sat, 30 Dec 2023 00:44:25 +0000 Subject: [PATCH 5/7] cache path fix --- .github/workflows/regression.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 0fb0a44..0c69da8 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -35,7 +35,7 @@ jobs: uses: actions/cache@v3 with: path: wibo-test-suite/decomp.me/backend/compilers/download_cache - key: ${{ runner.os }}-compilers-${{ hashFiles('backend/compilers/compilers.*.yaml') }} + key: ${{ runner.os }}-compilers-${{ hashFiles('wibo-test-suite/decomp.me/backend/compilers/compilers.*.yaml') }} - name: Run test suite shell: bash From 9dc87d39f421fd0943fac0339f17b294bf864369 Mon Sep 17 00:00:00 2001 From: ConorBobbleHat Date: Sat, 30 Dec 2023 00:49:18 +0000 Subject: [PATCH 6/7] dependencies --- .github/workflows/regression.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index 0c69da8..a1d1629 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -20,7 +20,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install -y file unzip wget + sudo apt-get install -y file unzip wget dos2unix binutils-arm-none-eabi binutils-powerpc-linux-gnu binutils-mips-linux-gnu pipx install poetry - name: Build release From 1b03387a4f2b92da80efdda496cd5a4d6d77bbef Mon Sep 17 00:00:00 2001 From: ConorBobbleHat Date: Sat, 30 Dec 2023 00:52:21 +0000 Subject: [PATCH 7/7] wine --- .github/workflows/regression.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index a1d1629..9417306 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -21,6 +21,12 @@ jobs: run: | sudo apt-get update sudo apt-get install -y file unzip wget dos2unix binutils-arm-none-eabi binutils-powerpc-linux-gnu binutils-mips-linux-gnu + + sudo dpkg --add-architecture i386 + sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list + sudo apt-get update -qq + sudo apt-get install -yqq --allow-downgrades libc6:i386 libgcc-s1:i386 libstdc++6:i386 wine + pipx install poetry - name: Build release @@ -37,6 +43,14 @@ jobs: path: wibo-test-suite/decomp.me/backend/compilers/download_cache key: ${{ runner.os }}-compilers-${{ hashFiles('wibo-test-suite/decomp.me/backend/compilers/compilers.*.yaml') }} + - name: Wine setup + shell: bash + run: | + mkdir -p "${WINEPREFIX}" + wineboot --init + env: + WINEPREFIX: /tmp/wine + - name: Run test suite shell: bash run: |