# CI/CD Platforms Used for reverse-skill: GitHub Actions Implementation Guide

> Explore GitHub Actions the sole CI/CD platform for the reverse-skill repository. Learn how to implement cross-platform tests on Linux macOS and Windows runners within this guide.

- Repository: [ZhaoXu/reverse-skill](https://github.com/zhaoxuya520/reverse-skill)
- Tags: how-to-guide
- Published: 2026-08-24

---

**The reverse-skill repository uses GitHub Actions exclusively as its CI/CD platform, hosting all automation workflows in `.github/workflows/` to execute cross-platform tests on Linux, macOS, and Windows runners.**

The reverse-skill project is an open-source GitHub repository that centralizes its continuous integration and delivery pipelines entirely within GitHub Actions. Unlike projects that distribute CI/CD across multiple providers, reverse-skill maintains all build, test, and maintenance automation through native GitHub workflow files. This guide examines the specific CI/CD platforms, configuration files, and testing strategies employed by the project.

## GitHub Actions as the Sole CI/CD Platform

The reverse-skill project relies exclusively on **GitHub Actions** for automation. After scanning the repository structure, no configuration files for alternative CI/CD platforms—such as [`.gitlab-ci.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/.gitlab-ci.yml) for GitLab CI, `Jenkinsfile` for Jenkins, [`.circleci/config.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/.circleci/config.yml) for CircleCI, or [`azure-pipelines.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/azure-pipelines.yml) for Azure DevOps—are present in the codebase. All continuous integration logic is confined to the `.github/workflows/` directory, adhering to GitHub's standard workflow conventions.

The workflows utilize **GitHub-hosted runners** including `ubuntu-latest`, `macos-latest`, and `windows-latest` to validate code changes across operating systems. While the configurations support manual triggers via `workflow_dispatch`, they primarily execute on `push` and `pull_request` events targeting the main branch.

## Core Workflow Configuration

The project's CI/CD logic is distributed across three primary workflow files, each handling distinct aspects of the development lifecycle.

### Main CI Pipeline (ci.yml)

The [`.github/workflows/ci.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/.github/workflows/ci.yml) file serves as the primary continuous integration workflow. It triggers on every push and pull request to the `main` branch, orchestrating cross-platform validation.

```yaml
name: CI
on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  build-and-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up PowerShell (for cross‑platform scripts)
        uses: azure/powershell@v1
      - name: Run Linux tests
        run: |
          bash skills/scripts/test-routing.sh
          bash skills/scripts/verify-routing-coherence.sh
      - name: Run Windows tests
        if: runner.os == 'Windows'
        run: |
          powershell -NoProfile -ExecutionPolicy Bypass -File skills/scripts/test-routing.ps1

```

This workflow invokes [`skills/scripts/test-routing.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/test-routing.sh) for Linux-based validation and conditionally executes `skills/scripts/test-routing.ps1` when Windows runners are active. The pipeline also runs [`skills/scripts/verify-routing-coherence.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/verify-routing-coherence.sh) to ensure routing logic integrity.

### macOS Bash Compatibility (macos-bash-compat.yml)

To ensure shell script portability, the [`.github/workflows/macos-bash-compat.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/.github/workflows/macos-bash-compat.yml) workflow specifically targets macOS environments. It triggers only when shell scripts are modified, using the `macos-latest` runner to validate syntax and execution.

```yaml
name: macOS Bash Compatibility
on:
  push:
    paths:
      - '**/*.sh'

jobs:
  check-bash:
    runs-on: macos-latest
    steps:
      - uses: actions/checkout@v4
      - name: Verify Bash scripts
        run: |
          bash -n $(git ls-files '*.sh')

```

This configuration ensures that changes to scripts like [`skills/scripts/test-routing.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/test-routing.sh) do not introduce Bash compatibility issues specific to macOS systems.

### Post-Merge Automation (auto-merge-journal.yml)

The [`.github/workflows/auto-merge-journal.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/.github/workflows/auto-merge-journal.yml) workflow handles repository maintenance tasks automatically after pull requests are merged. This workflow is distinct from the main CI pipeline and focuses on housekeeping operations such as updating journals or cleaning up temporary resources.

## Cross-Platform Testing Strategy

The reverse-skill CI/CD platform validates code across multiple operating systems through GitHub-hosted runners. The testing strategy leverages both Bash and PowerShell scripts located in `skills/scripts/`:

- **Linux Testing**: Executed on `ubuntu-latest`, running [`skills/scripts/test-routing.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/test-routing.sh) and [`skills/scripts/verify-routing-coherence.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/verify-routing-coherence.sh)
- **macOS Testing**: Validated via [`macos-bash-compat.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/macos-bash-compat.yml) using `bash -n` syntax checks on `macos-latest`
- **Windows Testing**: PowerShell scripts like `skills/scripts/test-routing.ps1` and `skills/scripts/scan-leaks.ps1` execute on `windows-latest` with `-NoProfile -ExecutionPolicy Bypass` flags

Additionally, the workflows reference maintenance scripts including [`skills/scripts/refresh-tool-index.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/skills/scripts/refresh-tool-index.sh) for updating tool indices and `skills/scripts/scan-leaks.ps1` for security scanning, though these may run as part of the main CI pipeline or as separate scheduled jobs.

## Summary

- The reverse-skill repository uses **GitHub Actions** as its exclusive CI/CD platform, with no evidence of Jenkins, GitLab CI, CircleCI, or other external providers
- Three workflow files in `.github/workflows/` define the automation: [`ci.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ci.yml) for primary testing, [`macos-bash-compat.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/macos-bash-compat.yml) for macOS validation, and [`auto-merge-journal.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/auto-merge-journal.yml) for post-merge maintenance
- GitHub-hosted runners `ubuntu-latest`, `macos-latest`, and `windows-latest` provide cross-platform coverage
- Testing invokes native scripts from `skills/scripts/`, including [`test-routing.sh`](https://github.com/zhaoxuya520/reverse-skill/blob/main/test-routing.sh) for Linux/macOS and `test-routing.ps1` for Windows
- Workflows trigger on `push`, `pull_request`, and `workflow_dispatch` events, with specific path filtering for shell script changes

## Frequently Asked Questions

### Does reverse-skill use GitLab CI or Jenkins for automation?

No, the project relies exclusively on GitHub Actions for all CI/CD functionality. The repository contains no [`.gitlab-ci.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/.gitlab-ci.yml), `Jenkinsfile`, or configuration files for other external CI providers. All automation is defined within the `.github/workflows/` directory according to GitHub Actions specifications.

### Which operating systems does the reverse-skill CI test against?

The GitHub Actions workflows target three GitHub-hosted runners: `ubuntu-latest` for Linux testing, `macos-latest` for macOS compatibility checks, and `windows-latest` for PowerShell script validation. This ensures the reverse-skill utilities function correctly across the major desktop operating systems.

### What triggers the CI pipelines in reverse-skill?

Workflows trigger on `push` events to the main branch, `pull_request` events targeting main, and manual `workflow_dispatch` triggers for on-demand execution. The [`macos-bash-compat.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/macos-bash-compat.yml) workflow additionally uses path filtering to trigger only when `**/*.sh` files are modified, while [`ci.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ci.yml) runs on all relevant code changes.

### Where are the CI/CD configuration files located?

All workflow definitions reside in the `.github/workflows/` directory at the repository root. Key files include [`ci.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/ci.yml) for the main pipeline, [`macos-bash-compat.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/macos-bash-compat.yml) for macOS-specific checks, and [`auto-merge-journal.yml`](https://github.com/zhaoxuya520/reverse-skill/blob/main/auto-merge-journal.yml) for automated post-merge tasks. Supporting test scripts called by these workflows are stored in `skills/scripts/`.