chore(docker): bump wiremock/wiremock from 3.10.0-1-alpine to 3.11.0-1-alpine #459
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
--- | |
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' |