Fix card list UI layout shifts (jumps) on load #1
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: checks.build | |
on: | |
push: | |
pull_request: | |
jobs: | |
build-web: | |
strategy: | |
matrix: | |
os: [ macos, ubuntu, windows ] | |
mode: [ | |
# Vite mode: https://vitejs.dev/guide/env-and-mode.html | |
development, # Used by `dev` command | |
production, # Used by `build` command | |
# Vitest mode: https://vitest.dev/guide/cli.html | |
test, # Used by Vitest | |
] | |
fail-fast: false # Allows to see results from other combinations | |
runs-on: ${{ matrix.os }}-latest | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v4 | |
- | |
name: Setup node | |
uses: ./.github/actions/setup-node | |
- | |
name: Install dependencies | |
uses: ./.github/actions/npm-install-dependencies | |
- | |
name: Build web | |
run: npm run build -- --mode ${{ matrix.mode }} | |
- | |
name: Verify web build artifacts | |
run: npm run check:verify-build-artifacts -- --web | |
build-desktop: | |
strategy: | |
matrix: | |
os: [ macos, ubuntu, windows ] | |
mode: [ | |
# electron-vite modes: https://electron-vite.org/guide/env-and-mode.html#global-env-variables | |
development, # Used by `dev` command | |
production, # Used by `build` and `preview` commands | |
] | |
fail-fast: false # Allows to see results from other combinations | |
runs-on: ${{ matrix.os }}-latest | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v4 | |
- | |
name: Setup node | |
uses: ./.github/actions/setup-node | |
- | |
name: Install dependencies | |
uses: ./.github/actions/npm-install-dependencies | |
- | |
name: Prebuild desktop | |
run: npm run electron:prebuild -- --mode ${{ matrix.mode }} | |
- | |
name: Verify unbundled desktop build artifacts | |
run: npm run check:verify-build-artifacts -- --electron-unbundled | |
- | |
name: Build (bundle and package) desktop application | |
run: npm run electron:build -- --publish never | |
- | |
name: Verify bundled desktop build artifacts | |
run: npm run check:verify-build-artifacts -- --electron-bundled | |
build-docker: | |
strategy: | |
matrix: | |
os: [ macos, ubuntu ] # Windows runners do not support Linux containers | |
fail-fast: false # Allows to see results from other combinations | |
runs-on: ${{ matrix.os }}-latest | |
steps: | |
- | |
name: Checkout | |
uses: actions/checkout@v4 | |
- | |
name: Install Docker on macOS | |
if: matrix.os == 'macos' # macOS runner is missing Docker | |
run: |- | |
# Install Docker | |
brew install docker | |
# Docker on macOS misses daemon due to licensing, so install colima as runtime | |
brew install colima | |
# Start the daemon | |
colima start | |
- | |
name: Build Docker image | |
run: docker build -t undergroundwires/privacy.sexy:latest . | |
- | |
name: Run Docker image on port 8080 | |
run: docker run -d -p 8080:80 --rm --name privacy.sexy undergroundwires/privacy.sexy:latest | |
- | |
name: Check server is up and returns HTTP 200 | |
run: node ./scripts/verify-web-server-status.js --url http://localhost:8080 |