Signal-Server/.github/workflows/test.yml

49 lines
2.1 KiB
YAML

name: Service CI
on:
pull_request:
push:
branches-ignore:
- gh-pages
jobs:
build:
runs-on: ubuntu-latest
container: ubuntu:22.04
timeout-minutes: 20
services:
foundationdb:
# Note: this should generally match the version of the FoundationDB SERVER deployed in production; it's okay if
# it's a little behind the CLIENT version.
image: foundationdb/foundationdb:7.3.62
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up JDK 21
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4.7.0
with:
distribution: 'temurin'
java-version: 21
cache: 'maven'
env:
# work around an issue with actions/runner setting an incorrect HOME in containers, which breaks maven caching
# https://github.com/actions/setup-java/issues/356
HOME: /root
- name: Install APT packages
# ca-certificates: required for AWS CRT client
run: apt update && apt install -y ca-certificates curl
- name: Download and install FoundationDB client
env:
# Note that even-numbered patch versions have AVX instructions disabled; not all GitHub Actions runners have
# AVX-capable processors, and we should take care to use non-AVX FoundationDB versions.
FOUNDATIONDB_VERSION: 7.3.62
FOUNDATIONDB_SHA256: 5cedd29f9dd31e6ad259bd2bd14b61293372bcb8c0c2d8dc4cf4689203790547
run: |
curl -L https://github.com/apple/foundationdb/releases/download/${FOUNDATIONDB_VERSION}/foundationdb-clients_${FOUNDATIONDB_VERSION}-1_amd64.deb -O && \
echo "${FOUNDATIONDB_SHA256} foundationdb-clients_${FOUNDATIONDB_VERSION}-1_amd64.deb" | sha256sum --check --status - && \
apt install -y ./foundationdb-clients_${FOUNDATIONDB_VERSION}-1_amd64.deb && \
rm foundationdb-clients_${FOUNDATIONDB_VERSION}-1_amd64.deb
- name: Build with Maven
run: ./mvnw -e -B verify -DfoundationDb.serviceContainerName=foundationdb