mirror of
https://github.com/maputnik/editor.git
synced 2026-07-06 22:17:39 +00:00
66c5a5c953
Previously the desktop build lived in a separate repo and had to download a released version of the maputnik editor source code. Now that both live in the same repo, the desktop version can simply run the maputnik build command and use those generated files. This commit also removes the ci-desktop workflow, which is not needed. The regular ci workflow already built the desktop version (this commit also fixes that build). Fixes #919 If this works for you all, it would be lovely to create a new tag or release on GitHub for two reasons: 1. So the latest binaries are easier to locate, and 2. So I can update my [submission to homebrew](https://github.com/Homebrew/homebrew-core/commit/6e536ff007ef0bea5a3591af5678eb3152908cc9) to make installation easier (for os x users at least)
114 lines
2.6 KiB
YAML
114 lines
2.6 KiB
YAML
name: ci
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ main ]
|
|
push:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
build-docker:
|
|
name: build docker
|
|
runs-on: ubuntu-latest
|
|
|
|
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- run: docker build -t test-docker-image-build .
|
|
|
|
# build the editor
|
|
build-node:
|
|
name: "build on ${{ matrix.os }}"
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }}
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
- run: npm ci
|
|
- run: npm run build
|
|
- run: npm run lint
|
|
- run: npm run lint-css
|
|
|
|
|
|
|
|
build-artifacts:
|
|
name: "build artifacts"
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name == 'push' || github.event_name == 'pull_request' }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
- run: npm ci
|
|
- run: npm run build
|
|
- name: artifacts/maputnik
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: maputnik
|
|
path: dist
|
|
|
|
# Build and upload desktop CLI artifacts
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: ^1.23.x
|
|
cache-dependency-path: desktop/go.sum
|
|
id: go
|
|
|
|
- name: Build desktop artifacts
|
|
run: npm run build-desktop
|
|
|
|
- name: Artifacts/linux
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: maputnik-linux
|
|
path: ./desktop/bin/linux/
|
|
|
|
- name: Artifacts/darwin
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: maputnik-darwin
|
|
path: ./desktop/bin/darwin/
|
|
|
|
- name: Artifacts/windows
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: maputnik-windows
|
|
path: ./desktop/bin/windows/
|
|
|
|
e2e-tests:
|
|
name: "E2E tests using ${{ matrix.browser }}"
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
browser: [chrome, firefox]
|
|
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
- run: npm ci
|
|
- name: Cypress run
|
|
uses: cypress-io/github-action@v6
|
|
with:
|
|
build: npm run build
|
|
start: npm run start
|
|
browser: ${{ matrix.browser }}
|
|
- name: Upload coverage reports to Codecov
|
|
uses: codecov/codecov-action@v3
|
|
with:
|
|
files: ${{ github.workspace }}/.nyc_output/out.json
|
|
verbose: true
|