Skip to content

Merge pull request #236 from yomaytk/fix-js-kernel #427

Merge pull request #236 from yomaytk/fix-js-kernel

Merge pull request #236 from yomaytk/fix-js-kernel #427

Workflow file for this run

name: Test
on:
push:
branches: [ "main" ]
paths-ignore:
- 'docs/**'
- '**.md'
pull_request:
branches: [ "main" ]
paths-ignore:
- 'docs/**'
- '**.md'
permissions:
contents: read
jobs:
build-and-test:
name: ${{ matrix.arch }} Build-and-Run
strategy:
fail-fast: false
matrix:
include:
- arch: AArch64
runner: ubuntu-22.04-arm
build-arg: ECV_AARCH64=1
- arch: AMD64
runner: ubuntu-22.04
build-arg: ECV_X86=1
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: build container image
run: docker build . --build-arg ${{ matrix.build-arg }} -t elfconv-image
- name: run integration test
run: docker run --rm -w /root/elfconv/build elfconv-image "ninja test_dependencies && ctest --output-on-failure"
browser-test:
runs-on: ubuntu-22.04-arm
name: Browser Integration Test (${{ matrix.project }})
strategy:
fail-fast: false
matrix:
include:
- project: hello
setup: "true"
- project: bash
setup: >-
apt-get update && apt-get install -qqy --no-install-recommends bash-static &&
BUSYBOX_VERSION=1.36.1 &&
wget -q https://busybox.net/downloads/busybox-\${BUSYBOX_VERSION}.tar.bz2 &&
tar xjf busybox-\${BUSYBOX_VERSION}.tar.bz2 &&
cp examples/examples-repos/.config busybox-\${BUSYBOX_VERSION}/.config &&
make -C busybox-\${BUSYBOX_VERSION} -j\$(nproc) &&
mkdir -p examples/examples-repos/busybox &&
cp busybox-\${BUSYBOX_VERSION}/busybox examples/examples-repos/busybox/busybox &&
rm -rf busybox-\${BUSYBOX_VERSION} busybox-\${BUSYBOX_VERSION}.tar.bz2
steps:
- name: Checkout
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
- name: build container image
run: docker build . --build-arg ECV_AARCH64=1 -t elfconv-image
- name: run browser test
run: |
docker run --rm -w /root/elfconv elfconv-image \
"${{ matrix.setup }} && \
cd tests/browser && \
npm install && \
npx playwright install --with-deps chromium && \
bash build.sh ${{ matrix.project }} && \
npx playwright test --project=${{ matrix.project }}"