From 67369a98378e7d79bb53a199a187909aa56c8b7d Mon Sep 17 00:00:00 2001 From: Luke Brody Date: Tue, 13 Aug 2024 00:13:43 -0700 Subject: [PATCH] =?UTF-8?q?let=E2=80=99s=20try=20building=20the=20image=20?= =?UTF-8?q?in=20the=20workflow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/check.yml | 59 ++++++++++++++----- .../e2e-test => react/test}/Dockerfile | 14 +++-- 2 files changed, 53 insertions(+), 20 deletions(-) rename {.github/actions/e2e-test => react/test}/Dockerfile (61%) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 55bc5f690..5f76941f1 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -1,20 +1,51 @@ name: check on: [push] +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }}/e2e jobs: - # lint: - # runs-on: ubuntu-22.04 - # steps: - # - uses: actions/checkout@v4 - # - uses: actions/setup-node@v4 - # with: - # node-version: 20 - # - run: npm ci - # working-directory: react - # - run: npx eslint . - # working-directory: react - e2e: + lint: runs-on: ubuntu-22.04 - # needs: lint # don't want to waste e2e runs steps: - uses: actions/checkout@v4 - - uses: ./.github/actions/e2e-test + - uses: actions/setup-node@v4 + with: + node-version: 20 + - run: npm ci + working-directory: react + - run: npx eslint . + working-directory: react + build-and-push-image: + runs-on: ubuntu-22.04 + permissions: + contents: read + packages: write + steps: + - name: Checkout repository + uses: actions/checkout@v3 + - name: Log in to the Container registry + uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + - name: Build and push Docker image + uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc + with: + context: . + file: react/test/Dockerfile + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + e2e: + runs-on: ubuntu-22.04 + needs: build-and-push-image + container: + image: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} diff --git a/.github/actions/e2e-test/Dockerfile b/react/test/Dockerfile similarity index 61% rename from .github/actions/e2e-test/Dockerfile rename to react/test/Dockerfile index 861b6822c..8d926f86f 100644 --- a/.github/actions/e2e-test/Dockerfile +++ b/react/test/Dockerfile @@ -1,12 +1,13 @@ FROM ubuntu:22.04 FROM node:20 -# RUN apt-get -y update -# RUN apt-get -y install python3-pip -# RUN apt-get -y install libgdal-dev +RUN apt-get -y update +RUN apt-get -y install python3-pip +RUN apt-get -y install libgdal-dev -RUN find /home -maxdepth 3 -type d -RUN pip3 install --break-system-packages -r $GITHUB_WORKSPACE/requirements.txt +WORKDIR /urbanstats +COPY ./requirements.txt ./ +RUN pip3 install --break-system-packages -r requirements.txt RUN apt-get -y install chromium RUN apt-get -y install xvfb @@ -20,4 +21,5 @@ RUN apt-get -y install libc6:i386 RUN apt-get -y install libx11-6:i386 RUN apt-get -y install fluxbox -CMD ./$GITHUB_WORKSPACE/test-ci.sh \ No newline at end of file +COPY ./ ./ +CMD ./test-ci.sh \ No newline at end of file