{"id":13500403,"url":"https://github.com/aweris/gale","last_synced_at":"2026-01-12T01:56:35.202Z","repository":{"id":154167593,"uuid":"630149578","full_name":"aweris/gale","owner":"aweris","description":"GitHub Action Local Executor","archived":false,"fork":false,"pushed_at":"2024-05-10T21:13:12.000Z","size":5542,"stargazers_count":144,"open_issues_count":10,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-31T19:36:30.767Z","etag":null,"topics":["ci","continuous-delivery","continuous-integration","dagger","docker","github-actions","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aweris.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2023-04-19T19:16:47.000Z","updated_at":"2024-10-03T15:57:59.000Z","dependencies_parsed_at":"2023-10-16T13:43:12.777Z","dependency_job_id":"d4fda721-2e60-4b4a-9bb2-641efe444940","html_url":"https://github.com/aweris/gale","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aweris%2Fgale","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aweris%2Fgale/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aweris%2Fgale/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aweris%2Fgale/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aweris","download_url":"https://codeload.github.com/aweris/gale/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246155984,"owners_count":20732355,"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":["ci","continuous-delivery","continuous-integration","dagger","docker","github-actions","golang"],"created_at":"2024-07-31T22:00:58.936Z","updated_at":"2026-01-12T01:56:35.196Z","avatar_url":"https://github.com/aweris.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# GitHub Action Local Executor\n\n![dagger-min-version](https://img.shields.io/badge/dagger%20version-v0.9.5-green)\n\nWelcome to project `gale`!\n\nProject `gale` is a Dagger module that allows you to run GitHub Actions locally or anywhere you can run Dagger as if \nthey were running on GitHub.\n\nWith `gale`, you can get to enjoy a series of perks:\n\n- **Speedy Execution**: Get your workflows running faster compared to the usual GitHub Action Workflow.\n\n- **Cache Support**: Save time on repetitive tasks with enhanced caching features.\n\n- **Programmable Environment**: Customize your execution environment to your liking, making it more adaptable and extensible.\n\n**Heads up:** We are continually working to enhance `gale`. As it is in active development, you might notice changes in \ncommands and APIs over time. Your understanding and support are greatly appreciated!\n\n## Before You Begin\n\n### Things You Need\n\nTo start using `gale`, make sure your computer has these tools:\n\n1. **Docker**: Dagger, requires [Docker](https://www.docker.com/) running on your host system.\n\n2. **Dagger CLI**: You need to install the Dagger CLI , version \u003e= v0.9.5, to use `gale`. [Install the Dagger CLI](https://docs.dagger.io/quickstart/729236/cli)\n\nOnce you have these tools, you are ready to install and use `gale`.\n\n## How to Use\n\n### Setup Dagger Module\n\nTo avoid adding `-m github.com/aweris/gale` to every command, you can add run the following command to\nset `DAGGER_MODULE` environment variable:\n\n```shell\nexport DAGGER_MODULE=github.com/aweris/gale\n```\n\n### Global Flags for `gale`\n\nThe following table lists the global flags available for use with the `gale` module:\n\n| Flag              | Condition   | Description                                                                              |\n|-------------------|-------------|------------------------------------------------------------------------------------------|\n| `--repo`          | Conditional | Specify the repository in 'owner/name' format. Used if `--source` is not provided.       |\n| `--source`        | Conditional | Path to the repository source directory. Takes precedence over `--repo`.                 |\n| `--tag`           | Conditional | Tag name to check out. Takes precedence over `--branch`. Required when `--repo` is used. |\n| `--branch`        | Conditional | Branch name to check out. Used if `--tag` is not specified and `--repo` is used.         |\n| `--workflows-dir` | Optional    | Path to the workflows' directory. Defaults to `.github/workflows`.                       |\n\n### Listing a Workflows\n\nTo get a list of workflows, you can use the dagger call workflows list command.\n\nBelow is the help output showing the usage and options:\n\n```shell\nList returns a list of workflows and their jobs with the given options.\n\nUsage:\n  dagger call list [flags]\n\nFlags:\n  -h, --help                   help for list\n```\n\n#### Examples\n\nList all workflows for current repository:\n\n```shell\ndagger -m github.com/aweris/gale call --source \".\" list \n```\n\nList workflows for a specific repository and directory:\n\n```shell\ndagger -m github.com/aweris/gale call --repo aweris/gale --branch main --workflows-dir examples/workflows list\n```\n\n### Run a Workflow\n\nFor running workflows, you'll mainly use `dagger [call|download] run [flags] [sub-command]`. Below is\nthe help output showing the usage and options:\n\n```shell\nRun runs the workflow with the given options.\n\nUsage:\n  dagger call run [flags]\n  dagger call run [command]\n\nAvailable Commands:\n   data        Returns the directory containing the workflow run data.\n   log         Returns all job run logs as a single file.\n   sync        Returns the container for the given job id. If there is on one job in the workflow run, then job id is not required.\n\n Flags:\n       --container Container   Container to use for the runner(default: ghcr.io/catthehacker/ubuntu:act-latest).\n       --docker-host string    Sets DOCKER_HOST to use for the native docker support. (default \"unix:///var/run/docker.sock\")\n       --event string          Name of the event that triggered the workflow. e.g. push (default \"push\")\n       --event-file File       File with the complete webhook event payload.\n   -h, --help                  help for run\n       --job string            Name of the job to run. If empty, all jobs will be run.\n       --runner-debug          Enables debug mode.\n       --token Secret          GitHub token to use for authentication.\n       --use-dind              Enables docker-in-dagger support to be able to run docker commands isolated from the host. Enabling DinD may lead to longer execution times.\n       --use-native-docker     Enables native Docker support, allowing direct execution of Docker commands in the workflow. (default true)\n       --workflow string       Name of the workflow to run.\n       --workflow-file File    External workflow file to run.\n```\n\n##### Examples\n\nRunning a workflow for remote repository and downloading exporting the workflow run data and artifacts:\n\n```shell\n dagger -m github.com/aweris/gale export --repo kubernetes/minikube --branch master run --workflow build --job build_minikube --token $GITHUB_TOKEN data --output .gale/exports\n```\n\n**Notes for Above Example:**\n- `--token` is optional however it is required for the workflow in this example.\n\n## Feedback and Collaboration\n\nWe welcome feedback, suggestions, and collaboration from our users. Your input plays a crucial role in shaping the project and making it even better.\n\nIf you encounter any issues, have ideas for improvements, or want to collaborate on this exciting journey, please  feel free to open issues or pull requests on our[ GitHub repository](https://github.com/aweris/gale) or reach out to us on [Discord](https://discord.com/channels/707636530424053791/1117139064274034809)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faweris%2Fgale","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faweris%2Fgale","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faweris%2Fgale/lists"}