aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-12-28 00:05:46 -0800
committerGravatar GitHub <noreply@github.com> 2021-12-28 00:05:46 -0800
commit93ec969005ff02320613764305af069f2448cc8d (patch)
tree345160af26f46a72fb0d523e62bb38e3c4741b15
parent5a42b59e917e60eaefd8191125f7babd2396d5f4 (diff)
downloadbun-93ec969005ff02320613764305af069f2448cc8d.tar.gz
bun-93ec969005ff02320613764305af069f2448cc8d.tar.zst
bun-93ec969005ff02320613764305af069f2448cc8d.zip
Add zig tests to ci (pr so it runs) (#93)
* WIP * Create build-base-images.sh * Update bun.yml * Update bun.yml * Update bun.yml * copy * Update Dockerfile * Update Makefile * Update Makefile * Update Makefile * noo * Update Makefile
-rw-r--r--.docker/build-base-images.sh15
-rw-r--r--.github/workflows/bun.yml50
-rw-r--r--Dockerfile9
3 files changed, 57 insertions, 17 deletions
diff --git a/.docker/build-base-images.sh b/.docker/build-base-images.sh
new file mode 100644
index 000000000..396017e81
--- /dev/null
+++ b/.docker/build-base-images.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+set -euxo pipefail
+
+export DOCKER_BUILDKIT=1
+
+docker login --username bunbunbunbun
+
+docker build -f Dockerfile.base -t bunbunbunbun/bun-test-base --target bun-test-base . --platform=linux/$BUILDARCH --build-arg BUILDARCH=$BUILDARCH
+docker build -f Dockerfile.base -t bunbunbunbun/bun-base-with-zig-and-webkit --target bun-base-with-zig-and-webkit . --platform=linux/$BUILDARCH --build-arg BUILDARCH=$BUILDARCH
+docker build -f Dockerfile.base -t bunbunbunbun/bun-base --target bun-base --platform=linux/$BUILDARCH . --build-arg BUILDARCH=$BUILDARCH
+
+docker push bunbunbunbun/bun-test-base:latest
+docker push bunbunbunbun/bun-base-with-zig-and-webkit:latest
+docker push bunbunbunbun/bun-base:latest
diff --git a/.github/workflows/bun.yml b/.github/workflows/bun.yml
index 720d7cffb..c1b7edb4b 100644
--- a/.github/workflows/bun.yml
+++ b/.github/workflows/bun.yml
@@ -22,8 +22,9 @@ env:
TEST_TAG: bun-test'
jobs:
- tests:
+ e2e:
runs-on: self-hosted
+ name: "Integration tests"
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -38,16 +39,6 @@ jobs:
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Pull Base Image
run: bash .docker/pull.sh
- - name: Build Release Image
- uses: docker/build-push-action@v2
- with:
- context: .
- target: release
- tags: bun:${{github.sha}}
- builder: ${{ steps.buildx.outputs.name }}
- cache-from: type=gha
- cache-to: type=gha,mode=max
- load: true
- name: Build tests
uses: docker/build-push-action@v2
with:
@@ -88,10 +79,43 @@ jobs:
BUN_TEST_NAME: test-bun-run
GITHUB_WORKSPACE: $GITHUB_WORKSPACE
run: bash .docker/runner.sh
-
+ # This is commented out because zig test does not work on the CI
+ # Which sucks
+ # zig-unit-tests:
+ # runs-on: self-hosted
+ # name: "Unit tests (Zig)"
+ # steps:
+ # - name: Checkout
+ # uses: actions/checkout@v2
+ # - name: Checkout submodules
+ # run: git -c submodule."src/javascript/jsc/WebKit".update=none submodule update --init --recursive --depth=1 --progress -j 8
+ # - name: Set up Docker Buildx
+ # uses: docker/setup-buildx-action@v1
+ # - name: Login to Dockerhub
+ # uses: docker/login-action@v1
+ # with:
+ # username: ${{ secrets.DOCKERHUB_USERNAME }}
+ # password: ${{ secrets.DOCKERHUB_PASSWORD }}
+ # - name: Pull Base Image
+ # run: bash .docker/pull.sh
+ # - name: Build tests
+ # uses: docker/build-push-action@v2
+ # with:
+ # context: .
+ # target: build_unit
+ # tags: bun-unit-tests:latest
+ # load: true
+ # cache-from: type=gha
+ # cache-to: type=gha,mode=max
+ # builder: ${{ steps.buildx.outputs.name }}
+ # - name: Run tests
+ # env:
+ # GITHUB_WORKSPACE: $GITHUB_WORKSPACE
+ # RUNNER_TEMP: ${RUNNER_TEMP}
+ # run: bash .docker/unit-tests.sh
release:
runs-on: self-hosted
- needs: tests
+ needs: ["e2e"]
if: github.ref == 'refs/heads/main'
steps:
- name: Checkout
diff --git a/Dockerfile b/Dockerfile
index 35e6b308f..a06c50b0f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -161,6 +161,7 @@ COPY --from=picohttp ${BUN_DEPS_OUT_DIR}/*.o ${BUN_DEPS_OUT_DIR}/
COPY --from=boringssl ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
COPY --from=zlib ${BUN_DEPS_OUT_DIR}/*.a ${BUN_DEPS_OUT_DIR}/
COPY --from=identifier_cache ${BUN_DIR}/src/js_lexer/*.blob ${BUN_DIR}/src/js_lexer
+COPY --from=node_fallbacks ${BUN_DIR}/src/node-fallbacks/out ${BUN_DIR}/src/node-fallbacks/out
WORKDIR ${BUN_DIR}
@@ -176,6 +177,8 @@ ARG BUN_RELEASE_DIR=${GITHUB_WORKSPACE}/bun-release
ARG BUN_DEPS_OUT_DIR=${GITHUB_WORKSPACE}/bun-deps
ARG BUN_DIR=${GITHUB_WORKSPACE}/bun
+COPY Makefile ${BUN_DIR}/Makefile
+
WORKDIR $BUN_DIR
RUN cd $BUN_DIR && rm -rf $HOME/.cache zig-cache && make \
@@ -201,11 +204,9 @@ ARG BUN_DIR=${GITHUB_WORKSPACE}/bun
WORKDIR $BUN_DIR
-ENTRYPOINT [ "/bin/bash" ]
+ENV PATH "$ZIG_PATH:$PATH"
-CMD cd $BUN_DIR && \
- make \
- jsc-bindings-headers \
+CMD make jsc-bindings-headers \
api \
analytics \
bun_error \