Add JSON serialization backward compatiblity tests #928
Workflow file for this run
This file contains hidden or 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: | |
| 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/**" | |
| # cancel in-progress jobs or runs for this workflow for the same pr or branch | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| 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: Set up java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| cache: 'maven' | |
| - name: Validate pom formatting | |
| run: make build-tools lint-pom | |
| - name: Validate source code formatting | |
| run: make lint-java | |
| - name: Test | |
| run: | | |
| make test | |
| acceptance: | |
| name: Acceptance | |
| if: github.repository == 'geoserver/geoserver-cloud' | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| #needs: test | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| catalog: [ 'datadir', 'pgconfig' ] | |
| #catalog: [ 'datadir', 'pgconfig', 'jdbcconfig' ] | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Set up java | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| cache: 'maven' | |
| - name: Install packages | |
| run: make install | |
| - name: Build base images | |
| run: REPACKAGE=false make build-base-images | |
| - name: Build support images | |
| run: REPACKAGE=false make build-image-infrastructure | |
| - name: Build service images | |
| run: REPACKAGE=false make build-image-geoserver | |
| - name: Build acceptance tests docker image | |
| run: | | |
| make build-acceptance | |
| - name: Install CI dependencies | |
| id: installci | |
| run: python3 -m pip install --user --requirement=ci/requirements.txt | |
| - name: Launch ${{ matrix.catalog }} acceptance tests docker composition | |
| id: start | |
| run: | | |
| make start-acceptance-tests-${{ matrix.catalog }} | |
| - name: Run ${{ matrix.catalog }} acceptance tests | |
| id: acceptance | |
| run: | | |
| make run-acceptance-tests-${{ matrix.catalog }} | |
| - name: Print docker compose logs | |
| if: always() | |
| run: (cd compose && c2cciutils-docker-logs) | |
| - name: Cleanup acceptance tests | |
| if: always() | |
| run: | | |
| make clean-acceptance-tests-${{ matrix.catalog }} | |
| - name: Remove project jars from cached repository | |
| if: always() | |
| run: | | |
| rm -rf ~/.m2/repository/org/geoserver | |
| find ~/.m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {} |