Add ability to copy to existing mbtiles files (#778) #20
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: Docker | |
on: | |
push: | |
branches: [ main ] | |
paths-ignore: | |
- '**.md' | |
- 'demo/**' | |
- 'docs/**' | |
- 'homebrew-formula/**' | |
pull_request: | |
branches: [ main ] | |
paths-ignore: | |
- '**.md' | |
- 'demo/**' | |
- 'docs/**' | |
- 'homebrew-formula/**' | |
release: | |
types: [ published ] | |
workflow_dispatch: | |
jobs: | |
docker: | |
# Don't change this name - it is used by the merge protection rules | |
name: Build ${{ matrix.platform }} docker image | |
strategy: | |
fail-fast: true | |
matrix: | |
include: | |
- platform: linux/amd64 | |
file: Dockerfile | |
# Arm64 does not publish properly, see #655 | |
# - platform: linux/arm64 | |
# file: arm64.Dockerfile | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
# https://github.com/docker/metadata-action | |
- name: Docker meta | |
id: docker_meta | |
uses: docker/metadata-action@v4 | |
with: | |
images: ghcr.io/maplibre/martin | |
# # https://github.com/docker/setup-qemu-action | |
# - name: Set up QEMU | |
# uses: docker/[email protected] | |
# with: | |
# platforms: linux/arm64,linux/amd64 | |
# https://github.com/docker/setup-buildx-action | |
- name: Set up Docker Buildx | |
uses: docker/[email protected] | |
with: | |
install: true | |
# platforms: ${{ matrix.platform }} | |
- name: Build the Docker image | |
id: docker_build | |
uses: docker/build-push-action@v4 | |
with: | |
file: ${{ matrix.file }} | |
push: false | |
load: true | |
tags: ${{ steps.docker_meta.outputs.tags }} | |
labels: ${{ steps.docker_meta.outputs.labels }} | |
# platforms: ${{ matrix.platform }} | |
- name: Start postgres | |
# arm64 testing cannot be tested in a cross-platform env | |
if: matrix.platform == 'linux/amd64' | |
uses: nyurik/action-setup-postgis@v1 | |
id: pg | |
with: | |
username: test | |
password: test | |
database: test | |
rights: --superuser | |
- name: Init database | |
# arm64 testing cannot be tested in a cross-platform env | |
if: matrix.platform == 'linux/amd64' | |
shell: bash | |
run: tests/fixtures/initdb.sh | |
env: | |
DATABASE_URL: ${{ steps.pg.outputs.connection-uri }} | |
- name: Test Docker image | |
# arm64 testing cannot be tested in a cross-platform env | |
if: matrix.platform == 'linux/amd64' | |
run: | | |
TAG=$(echo '${{ steps.docker_meta.outputs.json }}' | jq -r '.tags[0]') | |
export MBTILES_BUILD=- | |
export MBTILES_BIN=- | |
export MARTIN_BUILD=- | |
export MARTIN_BIN="docker run --rm --net host -e DATABASE_URL -v $PWD/tests:/tests $TAG" | |
echo "MARTIN_BIN=$MARTIN_BIN" | |
tests/test.sh | |
env: | |
DATABASE_URL: ${{ steps.pg.outputs.connection-uri }} | |
- name: Login to GitHub Docker registry | |
uses: docker/login-action@v2 | |
if: ${{ github.actor != 'dependabot[bot]' && !github.event.pull_request.head.repo.fork }} | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Push the Docker image | |
if: ${{ github.actor != 'dependabot[bot]' && github.event_name != 'pull_request' }} | |
uses: docker/build-push-action@v4 | |
with: | |
file: ${{ matrix.file }} | |
push: true | |
tags: ${{ steps.docker_meta.outputs.tags }} | |
labels: ${{ steps.docker_meta.outputs.labels }} | |
# platforms: ${{ matrix.platform }} |