{"id":20957539,"url":"https://github.com/junobuild/juno-action","last_synced_at":"2026-02-19T17:00:49.309Z","repository":{"id":169327724,"uuid":"636707990","full_name":"junobuild/juno-action","owner":"junobuild","description":"GitHub Action for interacting with Juno","archived":false,"fork":false,"pushed_at":"2026-02-18T17:14:35.000Z","size":222,"stargazers_count":10,"open_issues_count":3,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-18T20:45:29.530Z","etag":null,"topics":["github","github-actions","juno"],"latest_commit_sha":null,"homepage":"https://github.com/marketplace/actions/github-action-for-juno","language":"TypeScript","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/junobuild.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-05-05T13:11:05.000Z","updated_at":"2026-02-18T17:18:48.000Z","dependencies_parsed_at":"2023-11-24T16:25:13.152Z","dependency_job_id":"af198de8-c019-41e5-923d-63aadd59a5f4","html_url":"https://github.com/junobuild/juno-action","commit_stats":null,"previous_names":["buildwithjuno/juno-action","junobuild/juno-action"],"tags_count":167,"template":false,"template_full_name":null,"purl":"pkg:github/junobuild/juno-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junobuild%2Fjuno-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junobuild%2Fjuno-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junobuild%2Fjuno-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junobuild%2Fjuno-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/junobuild","download_url":"https://codeload.github.com/junobuild/juno-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/junobuild%2Fjuno-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29623546,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["github","github-actions","juno"],"created_at":"2024-11-19T01:34:19.113Z","updated_at":"2026-02-19T17:00:49.300Z","avatar_url":"https://github.com/junobuild.png","language":"TypeScript","readme":"# Juno Action\n\nThis GitHub Action for [Juno] enables arbitrary actions with the [command-line client](https://github.com/junobuild/cli).\n\n## Authentication\n\nThe action supports two authentication methods:\n\n### 1. GitHub OIDC (Recommended)\n\nAuthenticate automatically using GitHub's OpenID Connect tokens. No secrets required!\n\n**Requirements:**\n\n- Add `id-token: write` permission to your workflow\n- Configure your Satellite to support automation\n\n**Example configuration:**\n\n```typescript\nimport { defineConfig } from \"@junobuild/config\";\n\nexport default defineConfig({\n  satellite: {\n    ids: {\n        development: \"\u003cDEV_SATELLITE_ID\u003e\",\n        production: \"\u003cPROD_SATELLITE_ID\u003e\"\n    },\n    automation: {\n      github: {\n        repositories: [\n          {\n            owner: \"your-org\", // or user name, e.g. peterpeterparker\n            name: \"your-repo\", \n            refs: [] // Optional: restrict to specific refs, e.g. [\"refs/heads/main\"]\n          }\n        ]\n      }\n    }\n  }\n});\n```\n\n**Workflow example:**\n\n```yaml\nname: Deploy to Juno\n\non:\n  workflow_dispatch:\n  push:\n    branches: [main]\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n\n    permissions:\n      id-token: write  # Required for GitHub OIDC\n      contents: read\n    \n    steps:\n      - name: Check out the repo\n        uses: actions/checkout@v4\n\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 24\n          registry-url: \"https://registry.npmjs.org\"\n\n      - name: Install Dependencies\n        run: npm ci\n\n      - name: Deploy to Juno\n        uses: junobuild/juno-action\n        with:\n          args: hosting deploy\n```\n\n### 2. Token Authentication (Legacy)\n\nUse a manually generated token from Juno's console. Prefer an access key with \"Read-write\" permission rather than administrator.\n\n```yaml\nname: Deploy to Juno\n\non:\n  workflow_dispatch:\n  push:\n    branches: [main]\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Check out the repo\n        uses: actions/checkout@v4\n\n      - uses: actions/setup-node@v4\n        with:\n          node-version: 24\n          registry-url: \"https://registry.npmjs.org\"\n\n      - name: Install Dependencies\n        run: npm ci\n\n      - name: Deploy to Juno\n        uses: junobuild/juno-action\n        with:\n          args: hosting deploy\n        env:\n          JUNO_TOKEN: ${{ secrets.JUNO_TOKEN }}\n```\n\n## Configuration\n\n- `PROJECT_PATH` - **Optional**. The path to the folder containing `juno.config.ts|js|json` if it doesn't exist at the root of your repository. e.g. `./my-app`.\n\n## Available Action Versions\n\nYou can choose from several action variants depending on your needs:\n\n| Version tag          | Description                                                         |\n|----------------------|---------------------------------------------------------------------|\n| `@main` or no tag    | Defaults to the **slim** image                                      |\n| `@slim`              | Explicitly use the **slim** image                                   |\n| `@full`              | Use the **full** image                                              |\n| `@vX.Y.Z`            | Specific version tag for **slim**                                   |\n| `@vX.Y.Z-slim`       | Versioned **slim** image                                            |\n| `@vX.Y.Z-full`       | Versioned **full** image                                            |\n\nThe **slim** image does not include the Rust toolchain or tools required to build serverless functions. It is smaller in size and suitable for most CLI use cases.\n\nThe **full** image includes the Rust toolchain and all necessary tools for building serverless functions, resulting in a larger image size.\n\n## License\n\nMIT © [David Dal Busco](mailto:david.dalbusco@outlook.com)\n\n[juno]: https://juno.build\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunobuild%2Fjuno-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjunobuild%2Fjuno-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjunobuild%2Fjuno-action/lists"}