Skip to content

chore(docker): bump wiremock/wiremock from 3.10.0-1-alpine to 3.11.0-1-alpine #459

chore(docker): bump wiremock/wiremock from 3.10.0-1-alpine to 3.11.0-1-alpine

chore(docker): bump wiremock/wiremock from 3.10.0-1-alpine to 3.11.0-1-alpine #459

Workflow file for this run

---
name: CI
on:
push:
branches:
- master
pull_request:
types:
- "opened"
- "reopened"
- "synchronize"
branches:
- master
concurrency:
group: ${{ github.ref }}-${{ github.workflow }}
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
jobs:
determine_build:
name: Determine follow up builds
runs-on: ubuntu-latest
outputs:
docker: ${{ steps.result.outputs.docker }}
gradle: ${{ steps.result.outputs.gradle }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Get changed files
id: changed
uses: tj-actions/changed-files@v45
with:
separator: ","
- name: Output result
id: result
run: |
CHANGES=${{ steps.changed.outputs.all_changed_files }}
DOCKER="0"
if [[ $CHANGES =~ ^.*(docker-compose\.yaml|wiremock\.Dockerfile).*$ ]]; then
echo "Dockerfile has been changed"
DOCKER="1"
fi
GRADLE="0"
if [[ $CHANGES =~ ^.*(mock-api\/.*).*$ ]]; then
echo "mock-api has been changed"
GRADLE="1"
fi
echo -e " docker = $DOCKER \n build_gradle = $GRADLE"
{
echo "docker=$DOCKER"
echo "gradle=$GRADLE"
} >> "$GITHUB_OUTPUT"
docker:
name: Build docker
runs-on: ubuntu-latest
needs: determine_build
if: ${{ needs.determine_build.outputs.docker == '1' }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Start stack
run: docker compose up -d
- name: Wait for wiremock to be ready
run: sleep 10
- name: Test endpoint
run: |
RESPONSE=$(curl -s --retry 10 --retry-connrefused "http://localhost:8080/v1/hello")
echo -e "Got response from mock:\n$RESPONSE"
if [[ $(echo "$RESPONSE" | jq -r '.id') != "001" ]]; then
echo "Expect id in the response json to be '001'"
exit 1
fi
if [[ $(echo " $RESPONSE" | jq -r '.value') != "There" ]]; then
echo "Expect value in the response json to be 'There'"
exit 1
fi
- name: Clean up
if: ${{ always() }}
run: docker compose down
skip_docker:
name: Build docker
runs-on: ubuntu-latest
needs: determine_build
if: ${{ needs.determine_build.outputs.docker == '0' }}
steps:
- run: echo 'Skip docker check as non of the docker files have not been changed'
gradle:
name: Build gradle
runs-on: ubuntu-latest
needs: determine_build
if: ${{ needs.determine_build.outputs.gradle == '1' }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- name: Build and test
working-directory: mock-api
run: ./gradlew build -i
skip_gradle:
name: Build gradle
runs-on: ubuntu-latest
needs: determine_build
if: ${{ needs.determine_build.outputs.gradle == '0' }}
steps:
- run: echo 'Skip gradle check as the gradle module has not been changed'