From 7499d89b386e161c8850f18f41d92044edb191e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillermo=20Rodr=C3=ADguez?= Date: Tue, 10 Feb 2026 13:44:35 +0100 Subject: [PATCH] Run full Malva test suite on PRs, add macOS runners MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Guillermo Rodríguez --- .github/workflows/build.yml | 139 ++++++++++++++++++++++++++++++++++-- 1 file changed, 132 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3eea9d2..9767336 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: jobs: - openjdk8: + openjdk8-linux: runs-on: ubuntu-24.04 steps: - name: Set up Java 8 @@ -26,12 +26,64 @@ jobs: - name: Run JamVM with OpenJDK launcher run: | - echo $JAVA_HOME mkdir -p $JAVA_HOME/jre/lib/amd64/jamvm cp /tmp/jamvm/lib/libjvm.so $JAVA_HOME/jre/lib/amd64/jamvm/ $JAVA_HOME/bin/java -XXaltjvm=jamvm -version - classpath: + - name: Check out Malva + uses: actions/checkout@v4 + with: + repository: ingelabs/malva + path: malva + + - name: Run tests + run: | + cd malva + JAVA="$JAVA_HOME/bin/java -XXaltjvm=jamvm" make check + + openjdk8-macos: + runs-on: macos-15 + steps: + - name: Install dependencies + run: | + brew install automake libtool + echo "$(brew --prefix libtool)/libexec/gnubin" >> $GITHUB_PATH + + - name: Set up Java 8 + uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: '8.0.482+8' + check-latest: false + + - name: Checkout + uses: actions/checkout@v4 + + - name: Build + run: | + NOCONFIGURE=1 ./autogen.sh + ./configure --prefix=/tmp/jamvm --with-java-runtime-library=openjdk8 + make + make install + + - name: Run JamVM with OpenJDK launcher + run: | + mkdir -p $JAVA_HOME/jre/lib/jamvm + cp /tmp/jamvm/lib/libjvm.dylib $JAVA_HOME/jre/lib/jamvm/ + $JAVA_HOME/bin/java -XXaltjvm=jamvm -version + + - name: Check out Malva + uses: actions/checkout@v4 + with: + repository: ingelabs/malva + path: malva + + - name: Run tests + run: | + cd malva + JAVA="$JAVA_HOME/bin/java -XXaltjvm=jamvm" make check + + classpath-linux: runs-on: ubuntu-24.04 steps: - name: Install dependencies @@ -72,10 +124,83 @@ jobs: - name: Build run: | NOCONFIGURE=1 ./autogen.sh - ./configure --prefix=/tmp/jamvm - make - make install + ./configure + make && sudo make install + + - name: Run JamVM + run: | + /usr/local/jamvm/bin/jamvm -version + + - name: Check out Malva + uses: actions/checkout@v4 + with: + repository: ingelabs/malva + path: malva + + - name: Run tests + run: | + cd malva + JAVA=/usr/local/jamvm/bin/jamvm make check + + classpath-macos: + runs-on: macos-15 + steps: + - name: Install dependencies + run: | + brew install automake libtool texinfo + echo "$(brew --prefix libtool)/libexec/gnubin" >> $GITHUB_PATH + # Work around https://github.com/Homebrew/homebrew-core/issues/53192 + ln -sf "$(brew --prefix gettext)/share/gettext/m4/"*.m4 "$(aclocal --print-ac-dir)/" + + - name: Set up Java 8 + uses: actions/setup-java@v5 + with: + distribution: zulu + java-version: '8.0.482+8' + check-latest: false + + - name: Check out Classpath + uses: actions/checkout@v4 + with: + repository: ingelabs/classpath + path: classpath + + - name: Build GNU Classpath + run: | + cd classpath + ./autogen.sh + ./configure \ + --disable-alsa \ + --disable-dssi \ + --disable-gconf-peer \ + --enable-default-preferences-peer=file \ + --disable-gtk-peer \ + --disable-plugin \ + --disable-examples \ + --disable-tools \ + --disable-gjdoc + make && sudo make install + + - name: Checkout + uses: actions/checkout@v4 + + - name: Build + run: | + NOCONFIGURE=1 ./autogen.sh + ./configure + make && sudo make install - name: Run JamVM run: | - /tmp/jamvm/bin/jamvm -version + /usr/local/jamvm/bin/jamvm -version + + - name: Check out Malva + uses: actions/checkout@v4 + with: + repository: ingelabs/malva + path: malva + + - name: Run tests + run: | + cd malva + JAVA=/usr/local/jamvm/bin/jamvm make check