Merge pull request #1310 from redpanda-data/wasm-transforms #513
This file contains 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: "Frontend Lint & Compile check" | |
on: | |
push: | |
paths: | |
- "frontend/**" | |
pull_request: | |
paths: | |
- "frontend/**" | |
jobs: | |
lint-and-compile: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache node modules | |
id: cache-npm | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('frontend/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18.10.0' | |
- name: Install dependencies | |
working-directory: frontend | |
run: npm ci | |
- name: Run lint | |
working-directory: frontend | |
run: npm run lint | |
- name: Run build frontend | |
working-directory: frontend | |
run: | | |
REACT_APP_CONSOLE_GIT_SHA=$(echo $GITHUB_SHA | cut -c 1-6) | |
REACT_APP_CONSOLE_GIT_REF=$GITHUB_REF_NAME | |
REACT_APP_BUILD_TIMESTAMP=$(date +%s) | |
REACT_APP_DEV_HINT=true | |
npm run build | |
e2e-test: | |
needs: "lint-and-compile" | |
timeout-minutes: 60 | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cache node modules | |
id: cache-npm | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
# npm cache files are stored in `~/.npm` on Linux/macOS | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('frontend/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Docker compose up | |
working-directory: frontend | |
run: /usr/bin/docker compose --file tests/config/docker-compose.yaml up --detach | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.22' | |
cache-dependency-path: backend/go.sum | |
- name: Setup Node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
- name: Install frontend dependencies | |
working-directory: frontend | |
run: npm ci | |
- name: Install Playwright browsers | |
working-directory: frontend | |
run: npm run install:browsers | |
- name: Install Go dependencies | |
working-directory: backend/cmd/api | |
run: go get . | |
- name: Build Go server | |
working-directory: backend/cmd/api | |
run: go build -v ./... | |
- name: Log networks | |
if: runner.debug == '1' | |
continue-on-error: true | |
run: docker network ls | |
- name: Network inspect | |
if: runner.debug == '1' | |
continue-on-error: true | |
run: docker network inspect redpanda-e2e_redpanda_network | |
- name: Log redpanda | |
if: runner.debug == '1' | |
continue-on-error: true | |
run: docker logs redpanda | |
- name: Log owlshop | |
if: runner.debug == '1' | |
continue-on-error: true | |
run: docker logs owlshop | |
- name: Log connect | |
if: runner.debug == '1' | |
continue-on-error: true | |
run: docker logs connect | |
- name: Run Playwright tests | |
working-directory: frontend | |
run: npm run e2e-test | |
- name: Upload Playwright report artifact | |
uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: playwright-report | |
path: frontend/playwright-report/ | |
retention-days: 1 |