refactor(ui): file sharing #178
Workflow file for this run
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
# Copyright (c) 2024 Daniël Sonck, Piotr Łoboda. | |
# | |
# Use of this software is governed by the Business Source License | |
# included in the file LICENSE in the root of this repository. | |
# | |
# As of the Change Date specified in that file, in accordance with | |
# the Business Source License, use of this software will be governed | |
# by the GNU Affero General Public License v3.0 only, included in the file | |
# AGPL-3.0-only in the root of this repository. | |
name: Lint and Build voltaserve/ui | |
on: | |
pull_request: | |
branches: | |
- main | |
paths: | |
- "ui/**" | |
- "!ui/.env" | |
- "!ui/README.md" | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Add dummy embedded files | |
run: | | |
mkdir ui/dist | |
touch ui/dist/index.html | |
- name: Set Up Bun | |
uses: oven-sh/setup-bun@v2 | |
with: | |
bun-version: latest | |
- name: Install Packages | |
run: bun i | |
working-directory: ui | |
- name: Run TypeScript Compiler | |
run: bun run tsc | |
working-directory: ui | |
- name: Run ESLint | |
run: bun run lint | |
working-directory: ui | |
permissions: | |
contents: read | |
pull-requests: read | |
checks: write | |
build: | |
runs-on: ubuntu-latest | |
needs: lint | |
strategy: | |
matrix: | |
platform: [ "arm64", "amd64" ] | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Set Up QEMU | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: ${{ matrix.platform }} | |
- name: Set Up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and Push Docker Image | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./ui | |
push: false | |
platforms: linux/${{ matrix.platform }} |