Merge pull request #236 from yomaytk/fix-js-kernel #427
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }}" |