{"id":29001657,"url":"https://github.com/anthgrim/actions-playground","last_synced_at":"2026-02-02T03:34:06.154Z","repository":{"id":300283864,"uuid":"1005771400","full_name":"anthgrim/actions-playground","owner":"anthgrim","description":"GitHub Actions Cert Prep Practice Repo","archived":false,"fork":false,"pushed_at":"2025-06-20T20:46:57.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-20T21:24:31.390Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anthgrim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-20T19:39:41.000Z","updated_at":"2025-06-20T20:47:01.000Z","dependencies_parsed_at":"2025-06-20T21:24:34.310Z","dependency_job_id":"9cc472ca-f0f3-4c8b-92a4-7ed126f26f15","html_url":"https://github.com/anthgrim/actions-playground","commit_stats":null,"previous_names":["anthgrim/actions-playground"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/anthgrim/actions-playground","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthgrim%2Factions-playground","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthgrim%2Factions-playground/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthgrim%2Factions-playground/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthgrim%2Factions-playground/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anthgrim","download_url":"https://codeload.github.com/anthgrim/actions-playground/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthgrim%2Factions-playground/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261841937,"owners_count":23217918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-25T09:11:07.479Z","updated_at":"2026-02-02T03:34:06.104Z","avatar_url":"https://github.com/anthgrim.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Actions\n\nRefers to the entire platform and ecosystem for creating and running automated workflows within the GitHub environment\n\n## Contexts\n\n[GitHub Actions Contexts](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs)\n\n## Components\n\n```text\nWorkflow\n    Job\n        Step\n            Action\n```\n\n### Workflow\n\nAutomated scripts (actions) that run when specific events occur in your repository. It's an efficient way to automate development tasks.\n\n- CI/CD\n- Versioning and release management\n- Automation and notifications\n\n### Job\n\nDefine units of work that execute specific tasks within a workflow, each job with its own steps\n\nElements:\n\n- **jobs**: Keyword to declare a job\n- **job_name**: Unique name for the job\n- **runs-on**: Target runner type (e.g., ubuntu-latest, windows-latest, self-hosted runner name)\n\n### Step\n\nDefine individual tasks to be executed within a job. Executed using actions or shell commands\n\nElements:\n\n- **steps**: Keyword to declare steps within a job\n- **uses**: (optional) Use a pre-built action from the GitHub Actions marketplace\n- **action_name**: Name of the action to use\n- **version**: (optional) Specific version of the action to use\n- **with**: (optional) Input values for the action\n- **run**: Execute a shell command within the step\n\n#### Conditional Statements\n\nControl the execution of steps based on specific conditions\n\nKeywords:\n\n- **if**: Execute a step only if a condition is true\n- **else**: Execute a step if the if condition is false\n- **needs**: Specify that a step depends on another job completing\n\n### Action\n\nIt's a script invoked from within a workflow. These are pre-built scripts that provide re-usable functionality.\n\n## Event Types\n\n### Push Events\n\nWorkflow runs when a new commit is pushed to a specific branch or repository\n\nUse Cases:\n\n- Running tests after every push\n- Deploy code and infrastructure to staging environment\n\n```YML\non:\n    push:\n        branches: [main]\n```\n\n### Workflow Dispatch Events (manual)\n\nWorkflow runs only when manually triggered by a user.\n\nUse Cases:\n\n- Deploying to a production environment\n- Running one-time automation scripts\n\n```YML\non:\n    workflow_dispatch:\n```\n\n### Scheduled Events\n\nWorkflow runs automatically at specific times or intervals.\n\nUse Cases:\n\n- Running nightly builds\n- Performing hourly backups\n\n```YML\non:\n    schedule:\n        - cron: \"0 * * *\" # Every day at midnight\n```\n\n### Webhook Events (External Services)\n\nWorkflow runs when triggered by an external event from another service.\n\nUse Cases:\n\n- Triggering a build when a new issue is created in GitHub.\n- Deploying code to a server when a new version is released.\n\n```YML\non:\n    webhook:\n        url: https://example.com/my-webhook\n```\n\n### Pull Request Events\n\n### Issue Events\n\n### Release Events\n\n## Sample\n\n```YML\n# Automatically deploy a website to Netlify every time a new commit is pushed to the main branch\n\nname: Deploy to Netlify\non:\n    push:\n        branches: [main]\n\njobs:\n    deploy: # job_name: Unique name for the job\n        # Set runner. These are GitHub hosted cloud-based Virtual Machines\n        runs-on: ubuntu-latest\n\n        steps: # List of steps to be executed within the job\n            - name: Checkout Repository\n              uses: actions/checkout@v3 # pre-built action\n\n            - name: Set up Node.js\n              uses: actions/setup-node@v2\n              with:\n                node-version: '14'\n\n            - name: Install dependencies # name: custom name for the step\n              run: npm install # command_to_execute: shell command within the step\n\n            - name: Build Website\n              run: npm run build\n\n            - name: Deploy to Netlify\n              uses: netlify/actions/cli@v1.1 # pre-built action\n              with:\n                  site_id: ${{ secrets.NETLIFY_SITE_ID }} # with: input values for the action\n                  api_key: ${{ secrets.API_KEY }}\n                  args: deploy --prod\n\n    conditional_deploy:\n        needs: deploy # This job depends on the completion of \"deploy\"\n        runs-on: ubuntu-latest\n\n        steps:\n            - name: Execute specific condition\n              run: echo \"This step runs because the condition is true\"\n              if: github.ref == 'refs/heads/main' # Condition to check if branch is main\n\n            - name: Alternative step for else\n              run: echo \"This step would run if the above condition is false\"\n              if: github.ref != 'refs/heads/main' # Opposite condition\n```\n\n## Vocabulary\n\n### Workflow\n\nOverall automation script defined in a YAML file\n\n### Jobs\n\nUnits of work within a workflow, each with its own steps.\n\n### Steps\n\nIndividual tasks within a job, executed using actions or shell commands\n\n### Actions\n\nPre-built scripts that provide reusable functionality\n\n### Shell Commands\n\nCustom scripts written to perform specific tasks\n\n### Runs\n\nSpecific executions of a workflow triggered by events\n\n### Marketplace\n\nCentral repository for discovering and sharing actions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthgrim%2Factions-playground","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthgrim%2Factions-playground","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthgrim%2Factions-playground/lists"}