CI-FirstGitLab CI · GitHub Actions
Quick Start
Shiro runs inside your existing CI runner as a Docker image. No new infrastructure. No agents. Just add three files and push.
1Create your workflow file
Save as .shiro/workflows/my-workflow.json
json
{
"name": "my-workflow",
"steps": [
{
"id": "build",
"type": "shell",
"config": { "command": "echo Building..." }
},
{
"id": "test",
"type": "shell",
"config": { "command": "echo Running tests..." },
"depends_on": ["build"]
}
]
}2Add Shiro to your CI
GitLab CI.gitlab-ci.yml
stages:
- run
shiro:
stage: run
image: ghcr.io/rajitk13/shiro-automation:latest
variables:
GITLAB_TOKEN: $GL_TOKEN
script:
- shiro run
-workflow .shiro/workflows/my-workflow.json
-state-store gitlab
artifacts:
paths:
- .shiro/state/
expire_in: 1 dayGitHub Actions.github/workflows/shiro.yml
name: Shiro
on: [push, pull_request]
jobs:
run:
runs-on: ubuntu-latest
container:
image: ghcr.io/rajitk13/shiro-automation:latest
steps:
- uses: actions/checkout@v4
- run: |
shiro run \
-workflow .shiro/workflows/my-workflow.json \
-state-store github
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}3Commit and push
bash
git add .shiro/ .gitlab-ci.yml # or .github/
git commit -m "add shiro workflow"
git pushShiro runs automatically on the next pipeline trigger. Check the CI job logs for output.
Testing locally?
Run the same workflow on your machine before pushing:
bash
# Via Docker (mirrors CI exactly)
docker run --rm -v $(pwd):/workspace -w /workspace \
ghcr.io/rajitk13/shiro-automation:latest \
shiro run -workflow .shiro/workflows/my-workflow.json
# Or install the binary
curl -sSL https://raw.githubusercontent.com/rajitk13/shiro-automation/master/scripts/install-auto.sh | bash
shiro run -workflow .shiro/workflows/my-workflow.json