-
Notifications
You must be signed in to change notification settings - Fork 16
feat: containerize + shared CI pipeline #75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
42ddcb8
d61c92e
e70f70f
4923133
c14c5f6
076f59c
1a9bc71
5d364b4
475cc7e
2859ba5
59a7be2
7fd54cf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| # Copilot Instructions — seclab-taskflows | ||
|
|
||
| ## Project | ||
|
|
||
| - **Name**: seclab-taskflows | ||
| - **Organization**: AiFeatures (fork from GitHubSecurityLab) | ||
| - **Enterprise**: iAiFy | ||
| - **Description**: Security lab task flows and automation templates | ||
|
|
||
| ## Conventions | ||
|
|
||
| - Use kebab-case for file and directory names | ||
| - Use conventional commits (feat:, fix:, chore:, docs:, refactor:, test:) | ||
| - All PRs require review before merge | ||
| - Branch from main, merge back to main | ||
|
|
||
| ## Shared Infrastructure | ||
|
|
||
| - Reusable workflows: Ai-road-4-You/enterprise-ci-cd@v1 | ||
| - Composite actions: Ai-road-4-You/github-actions@v1 | ||
| - Governance standards: Ai-road-4-You/governance | ||
|
|
||
| ## Quality Standards | ||
|
|
||
| - Run lint and tests before submitting PRs | ||
| - Keep dependencies updated via Dependabot | ||
| - No hardcoded secrets — use GitHub Secrets or environment variables | ||
| - Follow OWASP Top 10 security practices | ||
|
|
||
| ## AgentHub Integration | ||
| - Skills: `.agents/skills/` in this repo links to shared AgentHub skills | ||
| - 14 shared agents available | ||
| - MCP: 12 servers (GitHub, Supabase, Playwright, MongoDB, Notion, HuggingFace, etc.) |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| version: 2 | ||
| updates: | ||
| - package-ecosystem: "github-actions" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" | ||
| - package-ecosystem: "pip" | ||
| directory: "/" | ||
| schedule: | ||
| interval: "weekly" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| name: Docker | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
| branches: [main] | ||
|
|
||
| permissions: | ||
| contents: read | ||
| packages: write | ||
|
|
||
| jobs: | ||
| docker: | ||
| uses: Ai-road-4-You/enterprise-ci-cd/.github/workflows/ci-docker.yml@v1 | ||
| with: | ||
| tags-override: latest | ||
| secrets: inherit |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,14 @@ | ||
| name: Release | ||
|
|
||
| on: | ||
| push: | ||
| tags: | ||
| - "v*" | ||
|
|
||
| permissions: | ||
| contents: write | ||
|
|
||
| jobs: | ||
| release: | ||
| uses: Ai-road-4-You/enterprise-ci-cd/.github/workflows/release.yml@v1 | ||
| secrets: inherit |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| name: Security Scan | ||
|
|
||
| on: | ||
| push: | ||
| branches: [main] | ||
| pull_request: | ||
| branches: [main] | ||
| schedule: | ||
| - cron: "0 6 * * 1" | ||
|
|
||
| permissions: | ||
| contents: read | ||
| security-events: write | ||
|
|
||
| jobs: | ||
| security: | ||
| uses: Ai-road-4-You/enterprise-ci-cd/.github/workflows/security-scan.yml@v1 | ||
| secrets: inherit |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| # AI Agent Instructions | ||
|
|
||
| ## Repository: seclab-taskflows | ||
|
|
||
| - **Organization**: AiFeatures (fork from GitHubSecurityLab) | ||
| - **Enterprise**: iAiFy | ||
|
|
||
| ## Shared Infrastructure | ||
|
|
||
| | Resource | Reference | | ||
| |---|---| | ||
| | Reusable workflows | `Ai-road-4-You/enterprise-ci-cd@v1` | | ||
| | Composite actions | `Ai-road-4-You/github-actions@v1` | | ||
| | Governance docs | `Ai-road-4-You/governance` | | ||
| | Repo templates | `Ai-road-4-You/repo-templates` | | ||
|
|
||
| ## Conventions | ||
|
|
||
| 1. Use **conventional commits** (`feat:`, `fix:`, `chore:`, `docs:`, `refactor:`, `test:`) | ||
| 2. Create **feature branches** for all changes | ||
| 3. Never push directly to `main` | ||
| 4. Run tests before submitting PR | ||
| 5. Keep dependencies updated via Dependabot | ||
| 6. All file names in **kebab-case** | ||
|
|
||
| ## Quality Gates | ||
|
|
||
| Before merging any PR: | ||
|
|
||
| - [ ] Lint passes | ||
| - [ ] Tests pass (if test suite exists) | ||
| - [ ] No new security vulnerabilities | ||
| - [ ] PR has a meaningful description | ||
| - [ ] Conventional commit messages used | ||
|
|
||
| ## Branch Strategy | ||
|
|
||
| - `main` — Production-ready, protected | ||
| - `feature/*` — New features | ||
| - `fix/*` — Bug fixes | ||
| - `chore/*` — Maintenance | ||
|
|
||
| ## Code Review | ||
|
|
||
| - CODEOWNERS auto-assigns reviewers | ||
| - Self-merge allowed for single-developer workflow | ||
| - All changes must go through PR (org ruleset enforced) | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,22 @@ | ||||||
| # seclab-taskflows | ||||||
|
|
||||||
| ## Overview | ||||||
|
|
||||||
| Security lab task flows and automation templates. | ||||||
|
|
||||||
| ## Project Structure | ||||||
|
|
||||||
| - GitHub Security Lab workflows and task definitions | ||||||
|
|
||||||
| ## Conventions | ||||||
|
|
||||||
| - Use kebab-case for file and directory names | ||||||
|
||||||
| - Use kebab-case for file and directory names | |
| - Use kebab-case for new source files and directories; standard top-level files such as `README.md`, `LICENSE`, and `CLAUDE.md` may keep their conventional names |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,28 @@ | ||||||
| FROM python:3.12-slim AS builder | ||||||
|
|
||||||
| WORKDIR /build | ||||||
|
|
||||||
| COPY pyproject.toml README.md ./ | ||||||
| COPY src/ ./src/ | ||||||
|
|
||||||
| RUN pip install --no-cache-dir --prefix=/install . | ||||||
|
|
||||||
| # ----------------------------------------------------------- | ||||||
| FROM python:3.12-slim | ||||||
|
|
||||||
| LABEL org.opencontainers.image.source="https://github.com/AiFeatures/seclab-taskflows" \ | ||||||
| org.opencontainers.image.description="Security lab task flows and automation templates" \ | ||||||
| org.opencontainers.image.licenses="MIT" | ||||||
|
|
||||||
| COPY --from=builder /install /usr/local | ||||||
|
|
||||||
| WORKDIR /app | ||||||
| COPY src/ ./src/ | ||||||
|
|
||||||
| RUN groupadd --system appgroup && useradd --system --gid appgroup appuser | ||||||
| USER appuser | ||||||
|
|
||||||
| HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ | ||||||
| CMD ["python", "-c", "import seclab_taskflows; print('ok')"] | ||||||
|
|
||||||
| ENTRYPOINT ["python", "-m", "seclab_taskflows"] | ||||||
|
||||||
| ENTRYPOINT ["python", "-m", "seclab_taskflows"] | |
| ENTRYPOINT ["python"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file states “All file names in kebab-case”, but the repo includes several non-kebab-case filenames (e.g.,
README.md,LICENSE, and thisAGENTS.md). Consider clarifying the convention (e.g., apply to new source files / directories) or renaming to match the stated rule to avoid conflicting guidance.