{"id":29975172,"url":"https://github.com/nexlabstudio/dart-globe-action","last_synced_at":"2026-02-09T05:01:46.915Z","repository":{"id":272651557,"uuid":"917323196","full_name":"nexlabstudio/dart-globe-action","owner":"nexlabstudio","description":"A reusable GitHub Action to deploy Dart and Flutter applications on Dart Globe","archived":false,"fork":false,"pushed_at":"2025-07-11T01:51:30.000Z","size":28,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-11T06:38:58.256Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nexlabstudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null}},"created_at":"2025-01-15T19:10:37.000Z","updated_at":"2025-07-11T01:51:33.000Z","dependencies_parsed_at":"2025-01-15T21:41:16.308Z","dependency_job_id":"753bb8b6-a8a4-466e-a579-edcd69f2c71b","html_url":"https://github.com/nexlabstudio/dart-globe-action","commit_stats":null,"previous_names":["mastersam07/dart-globe-action","nexlabstudio/dart-globe-action"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/nexlabstudio/dart-globe-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexlabstudio%2Fdart-globe-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexlabstudio%2Fdart-globe-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexlabstudio%2Fdart-globe-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexlabstudio%2Fdart-globe-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nexlabstudio","download_url":"https://codeload.github.com/nexlabstudio/dart-globe-action/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexlabstudio%2Fdart-globe-action/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268660072,"owners_count":24286009,"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","status":"online","status_checked_at":"2025-08-04T02:00:09.867Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-08-04T07:03:50.572Z","updated_at":"2026-02-09T05:01:46.910Z","avatar_url":"https://github.com/nexlabstudio.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dart Globe Action\n\nThis GitHub Action allows you to deploy Dart and Flutter applications using the Dart Globe CLI.\n\n## Prerequisites\n\nBefore using this action, you need to create a `globe.yaml` configuration file in your project root. This file defines your application's deployment settings.\n\n### globe.yaml Configuration\n\nCreate a `globe.yaml` file in your project root with the following structure:\n\n```yaml\n# Required: The main entry point of your Dart application\nentrypoint: \"lib/main.dart\"\n\n# Optional: Static assets to include in deployment\n# These are files that don't change at runtime (PNG, CSS, HTML, fonts, compiled WASM)\n# Globe serves these assets via a global edge network for speedy delivery worldwide\nassets:\n  - \"public/index.html\"\n  - \"public/styles.css\"\n  - \"public/images/logo.png\"\n\n# Optional: Preferred deployment regions for better performance\n# Globe optimizes performance by serving from the closest edge locations to your users\npreferred_regions:\n  - \"europe-west1\"\n  - \"us-central1\"\n\n# Optional: Scheduled cron jobs for background processing\n# Used for data synchronization, periodic tasks, or any scheduled operations\ncrons:\n  - id: \"daily_report\"\n    path: \"/api/cron/daily-report\"\n    schedule: \"0 0 * * *\" # Every day at midnight UTC\n  - id: \"hourly_sync\"\n    path: \"/api/cron/sync-data\"\n    schedule: \"0 * * * *\" # Every hour\n\n# Optional: Build configuration for your Dart application\nbuild:\n  # Framework preset configuration\n  preset:\n    type: \"dart_frog\"  # Available: dart_frog, jaspr, flutter, serverpod\n    version: \"1.0.0\"\n    buildCommand: \"dart_frog build\"\n  \n  # Melos configuration for monorepo builds\n  melos:\n    automatic_detection: true  # Default: true\n    command: \"melos run build\"\n    version: \"3.0.0\"\n  \n  # Build runner configuration for code generation\n  build_runner:\n    automatic_detection: true  # Default: true\n    command: \"dart run build_runner build\"\n```\n\n### Configuration Options\n\n#### Entrypoint\n- **Required**: The main entry point of your Dart application\n- Example: `entrypoint: \"lib/main.dart\"`\n\n#### Assets\n- **Optional**: Static assets are files that don't change at runtime\n- Includes: PNG, CSS, HTML, fonts, compiled WASM files\n- Globe serves these assets via a global edge network for speedy delivery worldwide\n- Example: `assets: [\"public/\", \"build/web/\"]`\n\n#### Preferred Regions\n- **Optional**: A list of preferred regions for your deployment\n- Helps Globe optimize performance by serving from the closest edge locations to your users\n- Available regions:\n  - **Africa**: `africa-south1`\n  - **Asia**: `asia-east1`, `asia-east2`, `asia-northeast1`, `asia-northeast2`, `asia-northeast3`, `asia-southeast1`, `asia-southeast2`, `asia-south1`, `asia-south2`\n  - **Australia**: `australia-southeast1`, `australia-southeast2`\n  - **Europe**: `europe-north1`, `europe-southwest1`, `europe-west1`, `europe-west2`, `europe-west3`, `europe-west4`, `europe-west6`, `europe-west8`, `europe-west9`, `europe-west10`, `europe-west12`, `europe-central2`\n  - **Middle East**: `me-west1`, `me-central1`\n  - **North America**: `us-central1`, `us-east1`, `us-east4`, `us-east5`, `us-south1`, `us-west1`, `us-west2`, `us-west3`, `us-west4`, `northamerica-northeast1`, `northamerica-northeast2`\n  - **South America**: `southamerica-east1`, `southamerica-west1`\n\n#### Cron Jobs\n- **Optional**: Scheduled tasks that run at specified intervals\n- Used for background processing, data synchronization, or periodic tasks\n- Each cron job requires:\n  - `id`: Unique identifier (1-50 characters, lowercase letters, digits, underscores only)\n  - `path`: API endpoint path (minimum 1 character)\n  - `schedule`: Cron expression (minimum 1 character)\n- Uses standard cron syntax\n\n#### Build Configuration\n- **Optional**: Build settings for your Dart application\n- **Preset**: Framework-specific build configuration\n  - Available types: `dart_frog`, `jaspr`, `flutter`, `serverpod`\n  - `version`: Framework version\n  - `buildCommand`: Custom build command\n- **Melos**: Monorepo build configuration\n  - `automatic_detection`: Auto-detect Melos (default: true)\n  - `command`: Melos build command\n  - `version`: Melos version\n- **Build Runner**: Code generation configuration\n  - `automatic_detection`: Auto-detect build_runner (default: true)\n  - `command`: Build runner command\n\n## Inputs\n\n| Input              | Description                              | Required | Default |\n|--------------------|------------------------------------------|----------|---------|\n| `globe_token`      | Authentication token for Dart Globe CLI  | Yes      |         |\n| `environment`      | Env to deploy (preview or production)    | No       |`preview`|\n| `working-directory`| Directory containing globe.yaml          | No       | `.`     |\n| `project-id`       | Project ID/Slug used by Globe            | Yes      |         |\n| `org-id`           | Organization ID/Slug used by Globe       | Yes      |         |\n\n## Example Usage\n\n```yaml\nname: Deploy Application\non:\n  push:\n    branches:\n      - main\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Deploy using Dart Globe\n        uses: mastersam07/dart-globe-action@v0.22\n        with:\n          globe-token: ${{ secrets.GLOBE_ACTION_TOKEN }}\n          project-id: ${{ secrets.GLOBE_PROJECT_ID }}\n          org-id: ${{ secrets.GLOBE_ORG_ID }}\n```\n\n## Example globe.yaml for Different Project Types\n\n### Basic Dart Application\n```yaml\nentrypoint: \"lib/main.dart\"\n```\n\n### Dart Frog Application\n```yaml\nentrypoint: \"lib/main.dart\"\nbuild:\n  preset:\n    type: \"dart_frog\"\n    version: \"1.0.0\"\n    buildCommand: \"dart_frog build\"\n```\n\n### Jaspr Application\n```yaml\nentrypoint: \"lib/main.dart\"\nbuild:\n  preset:\n    type: \"jaspr\"\n    version: \"1.0.0\"\n```\n\n### Flutter Web Application\n```yaml\nentrypoint: \"lib/main.dart\"\nassets:\n  - \"build/web/\"\npreferred_regions:\n  - \"us-central1\"\n  - \"europe-west1\"\n```\n\n### Serverpod Application\n```yaml\nentrypoint: \"lib/main.dart\"\nbuild:\n  preset:\n    type: \"serverpod\"\n    version: \"1.0.0\"\n```\n\n### Application with Cron Jobs\n```yaml\nentrypoint: \"lib/main.dart\"\ncrons:\n  - id: \"daily_cleanup\"\n    path: \"/api/cron/cleanup\"\n    schedule: \"0 2 * * *\" # Daily at 2 AM UTC\n  - id: \"weekly_backup\"\n    path: \"/api/cron/backup\"\n    schedule: \"0 3 * * 0\" # Weekly on Sunday at 3 AM UTC\n```\n\n### Monorepo with Melos\n```yaml\nentrypoint: \"lib/main.dart\"\nbuild:\n  melos:\n    automatic_detection: true\n    command: \"melos run build\"\n    version: \"3.0.0\"\n  build_runner:\n    automatic_detection: true\n    command: \"dart run build_runner build\"\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexlabstudio%2Fdart-globe-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnexlabstudio%2Fdart-globe-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexlabstudio%2Fdart-globe-action/lists"}