{"id":34502917,"url":"https://github.com/usimd/setup-xc-action","last_synced_at":"2026-04-26T19:31:35.024Z","repository":{"id":325609366,"uuid":"1101549821","full_name":"usimd/setup-xc-action","owner":"usimd","description":"GitHub action to install Microchip XC compilers","archived":false,"fork":false,"pushed_at":"2025-11-22T10:17:56.000Z","size":660,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-25T13:38:40.018Z","etag":null,"topics":["action","microchip","xc16","xc32","xc8"],"latest_commit_sha":null,"homepage":"","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/usimd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"usimd"}},"created_at":"2025-11-21T20:52:06.000Z","updated_at":"2025-11-22T18:44:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/usimd/setup-xc-action","commit_stats":null,"previous_names":["usimd/setup-xc-action"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/usimd/setup-xc-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usimd%2Fsetup-xc-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usimd%2Fsetup-xc-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usimd%2Fsetup-xc-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usimd%2Fsetup-xc-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usimd","download_url":"https://codeload.github.com/usimd/setup-xc-action/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usimd%2Fsetup-xc-action/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32310804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T19:15:34.056Z","status":"ssl_error","status_checked_at":"2026-04-26T19:15:15.467Z","response_time":129,"last_error":"SSL_read: 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":["action","microchip","xc16","xc32","xc8"],"created_at":"2025-12-24T02:21:58.510Z","updated_at":"2026-04-26T19:31:34.999Z","avatar_url":"https://github.com/usimd.png","language":"TypeScript","funding_links":["https://github.com/sponsors/usimd"],"categories":[],"sub_categories":[],"readme":"# Setup Microchip XC Compiler Action\n\nA GitHub Action to download and install Microchip XC compilers (xc8, xc16, xc32) for Linux on GitHub Actions Ubuntu runners. This action utilizes the GitHub Actions toolkit's tool cache feature for efficient caching and faster subsequent runs.\n\n## Features\n\n- 🚀 Automatic download and installation of Microchip XC compilers\n- 💾 Built-in caching using GitHub Actions tool cache\n- 🎯 Support for xc8, xc16, and xc32 compilers\n- 📌 Version pinning for reproducible builds\n- 🔧 Configurable installation directory\n- 📤 Outputs installation paths for downstream jobs\n- 🛠️ Automatic installation of required 32-bit libraries for 64-bit systems\n\n## Supported Compilers\n\n- **XC8**: C compiler for 8-bit PIC and AVR microcontrollers\n- **XC16**: C compiler for 16-bit PIC microcontrollers and dsPIC DSCs\n- **XC32**: C/C++ compiler for 32-bit PIC and SAM microcontrollers\n\n## Usage\n\n### Basic Example\n\n```yaml\nsteps:\n  - uses: actions/checkout@v6\n  \n  - name: Setup XC8 Compiler\n    uses: usimd/setup-xc-action@v1\n    with:\n      compiler: 'xc8'\n      version: '3.10'\n  \n  - name: Build with XC8\n    run: |\n      xc8-cc --version\n      # Your build commands here\n```\n\n### Installing Multiple Compilers\n\n```yaml\nsteps:\n  - uses: actions/checkout@v6\n  \n  - name: Setup XC8\n    uses: usimd/setup-xc-action@v1\n    with:\n      compiler: 'xc8'\n      version: '3.10'\n  \n  - name: Setup XC16\n    uses: usimd/setup-xc-action@v1\n    with:\n      compiler: 'xc16'\n      version: '2.10'\n  \n  - name: Setup XC32\n    uses: usimd/setup-xc-action@v1\n    with:\n      compiler: 'xc32'\n      version: '5.00'\n```\n\n### Custom Installation Directory\n\n```yaml\nsteps:\n  - name: Setup XC32\n    uses: usimd/setup-xc-action@v1\n    with:\n      compiler: 'xc32'\n      version: '5.00'\n      install-dir: '/usr/local/microchip'\n```\n\n### Using Outputs\n\n```yaml\nsteps:\n  - name: Setup XC8\n    id: setup-xc8\n    uses: usimd/setup-xc-action@v1\n    with:\n      compiler: 'xc8'\n      version: '3.10'\n  \n  - name: Display Installation Info\n    run: |\n      echo \"Installed at: ${{ steps.setup-xc8.outputs.install-dir }}\"\n      echo \"Compiler path: ${{ steps.setup-xc8.outputs.compiler-path }}\"\n```\n\n## Inputs\n\n| Input | Description | Required | Default |\n|-------|-------------|----------|---------|\n| `compiler` | Compiler type to install (`xc8`, `xc16`, or `xc32`) | Yes | - |\n| `version` | Compiler version to install (e.g., `3.10`, `2.10`, `5.00`) | Yes | - |\n| `install-dir` | Installation directory for the compiler | No | `/opt/microchip` |\n\n## Outputs\n\n| Output | Description |\n|--------|-------------|\n| `install-dir` | Directory where the compiler was installed |\n| `compiler-path` | Full path to the compiler binary directory |\n\n## How It Works\n\n1. **Cache Check**: First checks if the requested compiler version is already cached in the GitHub Actions tool cache\n2. **Prerequisites**: Automatically installs required 32-bit libraries on 64-bit systems ([see Microchip documentation](https://developerhelp.microchip.com/xwiki/bin/view/software-tools/ides/x/archive/linux/))\n   - libc6:i386\n   - libx11-6:i386\n   - libxext6:i386\n   - libstdc++6:i386\n   - libexpat1:i386\n3. **Download**: If not cached, downloads the installer from Microchip's official website\n4. **Installation**: Runs the installer in unattended mode with the specified installation directory\n5. **Caching**: Caches the installed compiler for faster subsequent runs\n6. **PATH Update**: Automatically adds the compiler's bin directory to the PATH\n7. **Verification**: Verifies the installation was successful\n\n## Troubleshooting\n\nThe action supports downloading from official Microchip URLs. Current stable versions:\n\n- **XC8**: v3.10\n- **XC16**: v2.10\n- **XC32**: v5.00\n\nYou can specify any version that follows Microchip's URL pattern. If a version doesn't exist, the action will fail with a clear error message.\n\n## Notes\n\n- This action is designed for Linux runners only (Ubuntu)\n- The action uses tool caching to speed up subsequent runs\n- Installers are run in unattended mode\n- The compiler bin directory is automatically added to PATH\n- Installation requires write permissions to the installation directory\n\n## Troubleshooting\n\n### Installation Fails\n\nIf the installation fails, verify:\n1. The version number is correct and exists on Microchip's website\n2. The runner has sufficient disk space\n3. The installation directory is writable\n\n### Compiler Not Found After Installation\n\nIf the compiler is not found in PATH after installation:\n1. Check the action outputs for the correct paths\n2. Verify the installation completed successfully\n3. Try manually adding the path using the action outputs\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusimd%2Fsetup-xc-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusimd%2Fsetup-xc-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusimd%2Fsetup-xc-action/lists"}