diff --git a/.github/workflows/github_script.yml b/.github/workflows/github_script.yml new file mode 100644 index 0000000..106148b --- /dev/null +++ b/.github/workflows/github_script.yml @@ -0,0 +1,39 @@ +name: Test GitHub script +on: + workflow_dispatch: + +jobs: + build-container: + name: Test some script + runs-on: ubuntu-latest + steps: + - run: | + echo "Hello World" + + test-script: + needs: build-container + name: Test some script + runs-on: ubuntu-latest + steps: + - name: Test building a URL from github context + uses: actions/github-script@v6 + with: + script: | + const run_url = github.server_url + '/' + github.repository + '/actions/runs/' + github.run_id + message = "This is a message" + message += '\n' + run_url + console.log(message) + - name: Test using Environment variables within JavaScript + uses: actions/github-script@v6 + env: + FOO: BAR + with: + script: | + const { FOO } = process.env + if (`${FOO}` == 'BAR') { + console.log("True") + } + console.log('https://${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id}}') + console.log('needs.build-container.result = ${{ needs.build-container.result }}') + console.log(`FOO = ${FOO}`) + console.log(${{ github.server_url }}) \ No newline at end of file diff --git a/.github/workflows/issue_comment.yml b/.github/workflows/issue_comment.yml index 7960adf..4e15c48 100644 --- a/.github/workflows/issue_comment.yml +++ b/.github/workflows/issue_comment.yml @@ -1,4 +1,4 @@ -# +# Attempt to understand how this works name: Invoke PR comment Workflow on: diff --git a/.github/workflows/workflow_dispatch.yml b/.github/workflows/workflow_dispatch.yml index f7e676e..5209e57 100644 --- a/.github/workflows/workflow_dispatch.yml +++ b/.github/workflows/workflow_dispatch.yml @@ -2,7 +2,7 @@ name: A workflow for my Hello World file on: workflow_dispatch: jobs: - build: + test-show-inside-container: name: Show what is inside a container runs-on: ubuntu-latest steps: @@ -20,3 +20,48 @@ jobs: - run: | # If FOO is set from action-b then env vars ARE persisted echo "FOO=${FOO}" + + test-error-throw: + name: Test how to handle errors + runs-on: ubuntu-latest + steps: + - name: top the action running + run: | + exit 1 + + test-error-handle: + needs: test-error-throw + if : ${{ always() && needs.test-error.result=='failure' }} + name: Test handling errors + runs-on: ubuntu-latest + steps: + - name: Handle the errors + run: | + echo "I'm going to handle the error!" + + test-json-as-env-var: + name: Test passing JSON as an environment variable + runs-on: ubuntu-latest + steps: + - name: Prepare JSON + run: | + CONFIGURATION=' + { + "webapp-service" : { + "ENTRYPOINT_K8S_API_URL": "api-::ephemeral_string::.k8s-green.eu-west-1.non-prod.mydomain.net", + "ENTRYPOINT_K8S_STATIC_PATH":" www-::ephemeral_string::.k8s-green.eu-west-1.non-prod.mydomain.net", + "ENTRYPOINT_K8S_BASE_URL": "www-::ephemeral_string::.k8s-green.eu-west-1.non-prod.mydomain.net" + }, + "homepage-service" : { + "ENTRYPOINT_K8S_API_URL": "api-::ephemeral_string::.k8s-green.eu-west-1.non-prod.mydomain.net", + "ENTRYPOINT_K8S_WWW_URL": "www-::ephemeral_string::.k8s-green.eu-west-1.non-prod.mydomain.net" + }, + "website-service" : { + "COOKIE_DOMAIN" : "mydomain.net" + } + }' + echo $CONFIGURATION | jq --compact-output . + # TODO: + # Store as env var + # Use jq to subsequently extract particular config + # Scrap this approach and use a .yaml file? \ No newline at end of file