Skip to content

Update changelog

Update changelog #201

Workflow file for this run

name: Test
on:
push:
branches:
- main
pull_request:
jobs:
test:
strategy:
fail-fast: false
matrix:
go: [1.21.x, 1.22.x, 1.23.x]
os: [ubuntu-latest, ubuntu-22.04, macos-latest]
runs-on: ${{ matrix.os }}
env:
CGO_ENABLED: 1
steps:
- name: Install GCC (MacOS)
if: startsWith(matrix.os, 'macos')
run: |
brew update
brew install gcc
- name: Install GCC (Ubuntu)
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt update
sudo apt install -y gcc-multilib g++-multilib
shell: bash
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Checkout code
uses: actions/checkout@v4
- name: Test
run: go test -v ./...
test-arm64:
strategy:
matrix:
go: [1.21.x, 1.22.x, 1.23.x]
runs-on: ubuntu-latest
env:
CGO_ENABLED: 1
GOOS: linux
GOARCH: arm64
CC: "/usr/bin/aarch64-linux-gnu-gcc-13"
steps:
# Update sources to split out amd64 vs arm64 since arm64 is not supported on all mirrors
# adaped from https://github.com/shamil-mubarakshin/tests-repository/blob/main/.github/workflows/run-ubuntu-matrix.yml
- name: Update sources for arm64
shell: bash
run: |
sudo dpkg --add-architecture arm64
cat <<EOF > deb822sources
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates
Components: main restricted universe
Architectures: amd64
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe
Architectures: amd64
Types: deb
URIs: http://azure.ports.ubuntu.com/ubuntu-ports/
Suites: noble noble-updates
Components: main restricted multiverse universe
Architectures: arm64
EOF
sudo mv deb822sources /etc/apt/sources.list.d/ubuntu.sources
- name: Install GCC and SQLite for Arm64
shell: bash
run: |
sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y \
gcc-13-aarch64-linux-gnu \
libsqlite3-dev:arm64 \
file
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go }}
- name: Checkout code
uses: actions/checkout@v4
- name: Build
run: go build -v .
shell: bash
- name: Verify build
run: file mbtileserver
shell: bash
# NOTE: we can't test an arm64 binary on amd64 host
coverage:
runs-on: ubuntu-latest
steps:
- name: Install GCC (Ubuntu)
run: |
sudo apt update
sudo apt install -y gcc-multilib g++-multilib
shell: bash
- name: Install Go
if: success()
uses: actions/setup-go@v4
with:
go-version: 1.23.x
- name: Checkout code
uses: actions/checkout@v4
- name: Calc coverage
run: |
go test -v -covermode=count -coverprofile=coverage.out ./...
- name: Convert coverage.out to coverage.lcov
uses: jandelgado/[email protected]
- name: Coveralls
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.github_token }}
path-to-lcov: coverage.lcov