Feature/v1 #315
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: Continuous Integration | |
on: | |
pull_request: | |
branches: | |
- main | |
push: | |
branches: | |
- main | |
- feature/v1 | |
permissions: | |
contents: read | |
jobs: | |
test-docker: | |
name: Docker Tests | |
runs-on: ubuntu-latest | |
services: | |
registry: | |
image: registry:2 | |
ports: | |
- 5001:5000 | |
env: | |
TEST_TAG: localhost:5001/actions/yq-yaml-parser-action:latest | |
steps: | |
- name: Checkout | |
id: checkout | |
uses: actions/checkout@v4 | |
- name: Setup Docker BuildX | |
id: setup-buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
install: true | |
driver-opts: network=host | |
- name: Build the Container | |
id: build | |
uses: docker/build-push-action@v6 | |
with: | |
context: . | |
push: true | |
tags: ${{ env.TEST_TAG }} | |
- name: Run the Container | |
id: run | |
env: | |
INPUT_YAML_FILE_PATH: ./yq-test-action.yml | |
run: | | |
docker run \ | |
--user root \ | |
--workdir /github/workspace \ | |
--volume "${{ github.workspace }}":/github/workspace \ | |
--volume "${{ runner.temp }}/_runner_file_commands":${{ runner.temp }}/_runner_file_commands \ | |
--env GITHUB_OUTPUT="$GITHUB_OUTPUT" \ | |
--env INPUT_YAML_FILE_PATH="${{ env.INPUT_YAML_FILE_PATH }}" \ | |
--rm ${{ env.TEST_TAG }} | |
test-action: | |
name: GitHub Actions Test Output | |
runs-on: ubuntu-latest | |
outputs: | |
comment-line: ${{ steps.action.outputs.test-action_comment-line }} | |
multiline: ${{ steps.action.outputs.test-action_multiline }} | |
steps: | |
- name: Checkout | |
id: checkout | |
uses: actions/checkout@v4 | |
- name: Test Action | |
id: action | |
uses: ./ | |
with: | |
file-path: ./yq-test-action.yml | |
test-action-output-comment-line: | |
name: GitHub Actions Test Output - Comment Line | |
needs: test-action | |
runs-on: ubuntu-latest | |
steps: | |
- name: Test Output Comment Line | |
id: test-output-comment-line | |
run: | | |
test_name="Test Output Comment Line" | |
expected_result="./app =" | |
output_result="${{ needs.test-action.outputs.comment-line }}" | |
echo "Expected Result:" | |
echo "$expected_result" | |
echo "" | |
echo "Output Result:" | |
echo "$output_result" | |
echo "" | |
if [[ "$output_result" == "$expected_result" ]]; then | |
echo "Test Passed: $test_name" | |
echo "### :white_check_mark: Test Passed: $test_name" >> $GITHUB_STEP_SUMMARY | |
else | |
echo "Test Failed: $test_name" | |
echo "### :x: Test Failed: $test_name" >> $GITHUB_STEP_SUMMARY | |
expected_result_summary=$(printf "%s" "${expected_result//\\/\\\\}" | sed 's/ /·/g') | |
output_result_summary=$(printf "%s" "${output_result//\\/\\\\}" | sed 's/ /·/g') | |
echo "Expected Result:" >> $GITHUB_STEP_SUMMARY | |
echo "$expected_result_summary" >> $GITHUB_STEP_SUMMARY | |
echo "" >> $GITHUB_STEP_SUMMARY | |
echo "Output Result:" >> $GITHUB_STEP_SUMMARY | |
echo "$output_result_summary" >> $GITHUB_STEP_SUMMARY | |
exit 1 | |
fi | |
test-action-output-multiline: | |
name: GitHub Actions Test Output - Multiline | |
needs: test-action | |
runs-on: ubuntu-latest | |
steps: | |
- name: Test Output Multiline | |
id: test-output-multiline | |
run: | | |
test_name="Test Output Multiline" | |
expected_result=$(printf "%b" "### Heading\n\n* Bullet C:\\\\\\\\ E:\\\\\n* Driver D:\\\\\n* Points") | |
output_result="${{ needs.test-action.outputs.multiline }}" | |
echo "Expected Result:" | |
echo "$expected_result" | |
echo "" | |
echo "Output Result:" | |
echo "$output_result" | |
echo "" | |
if [[ "$output_result" == "$expected_result" ]]; then | |
echo "Test Passed: $test_name" | |
echo "### :white_check_mark: Test Passed: $test_name" >> $GITHUB_STEP_SUMMARY | |
else | |
echo "Test Failed: $test_name" | |
echo "### :x: Test Failed: $test_name" >> $GITHUB_STEP_SUMMARY | |
expected_result_summary=$(printf "%s" "${expected_result//\\/\\\\}" | sed 's/ /·/g') | |
output_result_summary=$(printf "%s" "${output_result//\\/\\\\}" | sed 's/ /·/g') | |
echo "Expected Result:" >> $GITHUB_STEP_SUMMARY | |
echo "$expected_result_summary" >> $GITHUB_STEP_SUMMARY | |
echo "" >> $GITHUB_STEP_SUMMARY | |
echo "Output Result:" >> $GITHUB_STEP_SUMMARY | |
echo "$output_result_summary" >> $GITHUB_STEP_SUMMARY | |
exit 1 | |
fi |