Build multi-platform Docker images (arm64/amd64) #651
Workflow file for this run
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
# Triggers the workflow on pull request events to the main branch | |
name: Pull Request on Main Branch | |
on: | |
pull_request: | |
branches: | |
- main | |
- "release/**" | |
paths: | |
- ".github/workflows/pull-request.yaml" | |
- ".github/workflows/build-and-push.yaml" | |
- "pom.xml" | |
- "Makefile" | |
- "config" | |
- "src/**" | |
- "acceptance_tests/**" | |
- "ci/**" | |
jobs: | |
build: | |
name: Build and Test Pull Request | |
if: github.repository == 'geoserver/geoserver-cloud' | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
cache: 'maven' | |
- name: Validate source code formatting | |
run: make lint | |
- name: Build without tests | |
run: | | |
make install | |
- name: Test | |
run: | | |
make test | |
- name: Build images | |
run: | | |
make build-image | |
- name: Install CI dependencies | |
run: python3 -m pip install --user --requirement=ci/requirements.txt | |
- name: Run acceptance tests datadir | |
run: | | |
make acceptance-tests-datadir | |
- name: Print docker compose logs datadir | |
run: (cd compose && c2cciutils-docker-logs) | |
if: always() | |
- name: Cleanup acceptance tests datadir | |
run: | | |
make clean-acceptance-tests-datadir | |
# FIXME: fix pgconfig discrepancies before reactivating | |
# - name: Run acceptance tests pgconfig | |
# run: | | |
# make acceptance-tests-pgconfig | |
# - name: Print docker compose logs pgconfig | |
# run: (cd compose && c2cciutils-docker-logs) | |
# if: always() | |
# - name: Cleanup acceptance tests pgconfig | |
# run: | | |
# make clean-acceptance-tests-pgconfig | |
- name: Remove project jars from cached repository | |
run: | | |
rm -rf ~/.m2/repository/org/geoserver | |
find ~/.m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {} |