amplify icon indicating copy to clipboard operation
amplify copied to clipboard

[Architecture] Are You Awake Yet Action

Open eprice555 opened this issue 1 year ago • 1 comments

Part of the OSS Architecture track

Task

Suggestions: try this prompt with Copilot "how to create a spellcheck GitHub Action like this one https://github.com/marketplace/actions/are-they-awake-yet"

Or you can debug the following output: To create a GitHub Action in your ProgramEquity/amplify repository like the "Are They Awake Yet?" action, you can follow these steps:

  1. Create a new GitHub repository for your action.

  2. Create a new file in your repository called Dockerfile with the following contents:

FROM node:14-alpine

RUN apk add --no-cache curl
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

This Dockerfile sets up a Node.js environment and installs the curl package. It also copies the entrypoint.sh script to the container and sets it as the entrypoint.

  1. Create a new file in your repository called entrypoint.sh with the following contents:
#!/bin/sh -l

curl -s https://awake-api.herokuapp.com/awake/$1 | grep -q "true"
if [ $? -eq 0 ]; then
  echo "$1 is awake!"
  exit 0
else
  echo "$1 is asleep :("
  exit 1
fi

This shell script is the entrypoint for the Docker container. It uses the curl command to make a request to the "Are They Awake Yet?" API with the specified URL. It then uses grep to check if the response contains the string "true". If the URL is awake, it prints a success message and exits with code 0. If the URL is asleep, it prints a failure message and exits with code 1.

Create a new file in your repository called action.yml with the following contents:

name: Are They Awake Yet?
description: Check if a website is awake
inputs:
  url:
    description: 'The URL to check'
    required: true
runs:
  using: 'docker'
  image: 'Dockerfile'

This YAML file defines the GitHub Action. It specifies the name and description of the action, as well as an input for the URL to check. It also specifies that the action should run using Docker, and sets the Docker image to the Dockerfile we created earlier.

Commit and push your changes to the repository.

Use the actions/checkout action to check out the repository in your workflow.

Use the ProgramEquity/amplify action to run the "Are They Awake Yet?" action in your workflow, passing the URL to check as an input.

Resources:

eprice555 avatar May 08 '24 19:05 eprice555

Branch: issue-913

Dunridge avatar May 08 '24 21:05 Dunridge