Merge branch 'main' into stu-346-placeholder-test #320
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: Trigger Live test | |
# | |
# on: | |
# pull_request: | |
# types: | |
# - opened | |
# - synchronize | |
# pull_request_target: | |
# types: | |
# - closed | |
# | |
# env: | |
# PROJECT_OWNER: flojoy-io | |
# PROJECT_REPO: rc | |
# PROJECT_WORKFLOW_ID: terraform-test-env.yml | |
# PROJECT_TOKEN: ${{ secrets.ACCESS_TOKEN_FLOJOY_RC }} | |
# REFLECT_SUITE: flojoy-live-test | |
# REFLECT_TOKEN: ${{ secrets.REFLECT_TOKEN }} | |
# | |
# jobs: | |
# trigger_workflow: | |
# runs-on: ubuntu-latest | |
# if: ${{ github.event.pull_request.base.ref == 'develop' }} | |
# steps: | |
# - name: Checkout Repository | |
# uses: actions/checkout@v3 | |
# | |
# - name: Print Parameters | |
# run: | | |
# echo "GitHub Event Name: ${{ github.event_name}}" | |
# echo "GitHub Head Ref: ${{ github.head_ref }}" | |
# echo "GitHub Event Pull Request Number: ${{ github.event.pull_request.number }}" | |
# echo "Context Issue Number: ${{ github.event.pull_request.number}}" | |
# echo "Context Repo Owner: ${{ github.repository_owner }}" | |
# echo "Context Repo Repo: ${{ github.repository }}" | |
# echo "GitHub Event Pull Request Merged: ${{ github.event.pull_request.merged }}" | |
# echo "GitHub Event Action: ${{ github.event.action }}" | |
# | |
# - name: Trigger test PR | |
# if: github.event.action == 'opened' | |
# id: trigger_pr | |
# run: | | |
# curl -X POST https://api.github.com/repos/${{ env.PROJECT_OWNER }}/${{ env.PROJECT_REPO }}/actions/workflows/${{ env.PROJECT_WORKFLOW_ID }}/dispatches \ | |
# -H 'Accept: application/vnd.github.everest-preview+json' \ | |
# -u ${{ env.PROJECT_TOKEN }} \ | |
# --data '{"ref":"main", "inputs":{"github_event_name":"${{ github.event_name }}", "github_head_ref": "${{ github.head_ref }}", "github_event_pull_request_number": "${{ github.event.pull_request.number }}", "context_issue_number": "${{ github.event.pull_request.number }}", "context_repo_owner": "${{ github.repository_owner }}", "context_repo_repo": "${{ github.repository }}", "github_event_pull_request_merged": "${{ github.event.pull_request.merged }}", "github_event_action": "${{ github.event.action }}"}}' | |
# - uses: actions/checkout@v3 | |
# - name: Wait for 10m | |
# run: sleep 10m | |
# | |
# - name: Find Comment with URLs | |
# if: github.event.action == 'opened' || github.event.action == 'synchronize' | |
# uses: peter-evans/find-comment@v2 | |
# id: fc | |
# with: | |
# token: ${{ secrets.ACCESS_TOKEN_FLOJOY_RC }} | |
# issue-number: ${{ github.event.pull_request.number }} | |
# body-regex: 'flojoy-test\.com:3000' | |
# | |
# - name: Extract test URLs | |
# if: github.event.action == 'opened' || github.event.action == 'synchronize' | |
# id: extract-ip-port | |
# run: | | |
# URL_REGEX='([0-9]+)_(windows|linux)\.flojoy-test\.com' | |
# if [[ "${{ steps.fc.outputs.comment-body }}" =~ $URL_REGEX ]]; then | |
# export FC_COMMENT_BODY="${{ steps.fc.outputs.comment-body }}" | |
# while [[ "${FC_COMMENT_BODY}" =~ $URL_REGEX ]]; do | |
# domain="${BASH_REMATCH[1]}" | |
# platform="${BASH_REMATCH[2]}" | |
# | |
# if [[ $platform == "windows" ]]; then | |
# echo "domain_windows=${domain}_windows.flojoy-test.com" >> $GITHUB_OUTPUT | |
# elif [[ $platform == "linux" ]]; then | |
# echo "domain_linux=${domain}_linux.flojoy-test.com" >> $GITHUB_OUTPUT | |
# fi | |
# | |
# # Replace the matched URL with an empty string to continue searching for more URLs | |
# FC_COMMENT_BODY="${FC_COMMENT_BODY//${BASH_REMATCH[0]}/}" | |
# done | |
# else | |
# echo "No matching URLs found in the comment body." | |
# fi | |
# | |
# - name: Test if Flojoy-studio is up | |
# if: github.event.action == 'opened' || github.event.action == 'synchronize' | |
# id: test-http-page | |
# run: | | |
# echo "Test on http://${{ steps.extract-ip-port.outputs.domain_windows }}:3000" | |
# CONTENT=$(curl -s "${{ steps.extract-ip-port.outputs.domain_windows }}:3000") | |
# if [[ $CONTENT == *"<title>FLOJOY</title>"* ]]; then | |
# echo "The HTTP page contains '<title>FLOJOY</title>'." | |
# echo "Test passed on Windows." | |
# else | |
# echo "The HTTP page does not contain '<title>FLOJOY</title>'." | |
# echo "Test failed on Windows." | |
# exit 1 | |
# fi | |
# | |
# echo "Test on http://${{ steps.extract-ip-port.outputs.domain_linux }}:3000" | |
# CONTENT=$(curl -s "${{ steps.extract-ip-port.outputs.domain_linux }}:3000") | |
# if [[ $CONTENT == *"<title>FLOJOY</title>"* ]]; then | |
# echo "The HTTP page contains '<title>FLOJOY</title>'." | |
# echo "Test passed on Linux." | |
# else | |
# echo "The HTTP page does not contain '<title>FLOJOY</title>'." | |
# echo "Test failed on Linux." | |
# exit1 | |
# fi | |
# | |
# - name: Windows live test on Reflect.run | |
# if: github.event.action == 'opened' || github.event.action == 'synchronize' | |
# run: | | |
# curl --location 'https://api.reflect.run/v1/suites/${{ env.REFLECT_SUITE }}/executions' \ | |
# --header 'Content-Type: text/plain' \ | |
# --header 'X-API-KEY: ${{ secrets.REFLECT_TOKEN }}' \ | |
# --data '{ | |
# "browser": "Chrome", | |
# "variables": { | |
# "URL": "http://${{ steps.extract-ip-port.outputs.domain_windows }}:3000/" | |
# }, | |
# "gitHub": { | |
# "owner": "${{ github.repository_owner }}", | |
# "repo": "${{ github.event.repository.name}}", | |
# "sha": "${{ github.event.pull_request.head.sha }}" | |
# } | |
# }' | |
# | |
# - name: Linux live test on Reflect.run | |
# if: github.event.action == 'opened' || github.event.action == 'synchronize' | |
# run: | | |
# curl --location 'https://api.reflect.run/v1/suites/${{ env.REFLECT_SUITE }}/executions' \ | |
# --header 'Content-Type: text/plain' \ | |
# --header 'X-API-KEY: ${{ secrets.REFLECT_TOKEN }}' \ | |
# --data '{ | |
# "browser": "Chrome", | |
# "variables": { | |
# "URL": "http://${{ steps.extract-ip-port.outputs.domain_linux }}:3000/" | |
# }, | |
# "gitHub": { | |
# "owner": "${{ github.repository_owner }}", | |
# "repo": "${{ github.event.repository.name}}", | |
# "sha": "${{ github.event.pull_request.head.sha }}" | |
# } | |
# }' |