{"id":26718011,"url":"https://github.com/bugnificent/ci-cd_test","last_synced_at":"2026-01-06T19:05:40.639Z","repository":{"id":283638602,"uuid":"952416400","full_name":"bugnificent/ci-cd_test","owner":"bugnificent","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-22T09:56:03.000Z","size":2519,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T10:29:41.194Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bugnificent.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-03-21T08:44:36.000Z","updated_at":"2025-03-22T09:56:06.000Z","dependencies_parsed_at":"2025-03-22T10:39:55.290Z","dependency_job_id":null,"html_url":"https://github.com/bugnificent/ci-cd_test","commit_stats":null,"previous_names":["bugnificent/accessibility-test-v2","bugnificent/lighthouse-test","bugnificent/ci-cd_test"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugnificent%2Fci-cd_test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugnificent%2Fci-cd_test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugnificent%2Fci-cd_test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bugnificent%2Fci-cd_test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bugnificent","download_url":"https://codeload.github.com/bugnificent/ci-cd_test/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245883040,"owners_count":20687978,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2025-03-27T16:34:36.829Z","updated_at":"2026-01-06T19:05:40.633Z","avatar_url":"https://github.com/bugnificent.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Portfolio CI/CD Pipeline 🚀\nThis repository contains a **CI/CD pipeline** for deploying a personal portfolio website, integrating **Lighthouse CI for performance \u0026 accessibility auditing**, and **Dastardly for security vulnerability scanning**. The setup ensures high-quality and secure web deployments using **GitHub Actions, Jenkins and Vercel**.\n\n---\n\n## 🌟 Features\n- **Automated performance, SEO, and accessibility testing** using **Lighthouse CI**.\n- **Security vulnerability scanning** with **Dastardly by PortSwigger**.\n- **CI/CD pipeline** to deploy the website automatically on Vercel after each successful scan.\n- **Artifacts generation** for security reports.\n\n---\n\n## 📂 Lighthouse CI Configuration\nThe **Lighthouse CI** configuration is defined in `lighthouserc.js`:\n\n```js\nmodule.exports = {\n  ci: {\n    collect: {\n      staticDistDir: './', // Replace with the path to your built files or if using Node.js, adjust package.json\n    },\n    upload: {\n      target: 'temporary-public-storage', // Use public storage or setup server\n    },\n  },\n};\n```\n\n---\n\n## 📊 Generated Artifacts\n- **Lighthouse CI** will generate **temporary reports** for **accessibility, performance, and SEO** as **HTML reports** for better visualization.\n- **Dastardly** will generate an **XML report** that contains detected **security vulnerabilities** in the application.\n\n---\n\n## 📄 GitHub Actions CI/CD Pipeline\nThe pipeline is defined in [`.github/workflows/ci-cd.yml`](https://github.com/bugnificent/ci-cd_test/blob/main/.github/workflows/ci-cd.yml).  \nIt consists of **two jobs**:\n\n### 1. Lighthouse CI and Dastardly Scan\n- Runs **Lighthouse CI** for performance audits.\n- Runs **Dastardly** to generate an **XML report** for security vulnerabilities.\n- Uploads the scan reports as **artifacts**.\n\n### 2. Deploy to Vercel *(only if the first job succeeds)*\n- Deploys the site to **Vercel**.\n- If on `main` branch, deploys **production build**.\n- Adds deployment URL as a comment in PR.\n\n---\n\n## 🔋 How to Run Locally\nIf you want to run Lighthouse CI locally, follow these steps:\n\n```bash\nnpm install -g @lhci/cli@0.14.x\nlhci autorun\n```\n\n---\n\n## 🚀 Deployment\nThe website is automatically deployed to **Vercel** on each push/PR to the **main** branch. The deployment URL will be added as a **comment** in the PR.\n\n---\n\n## 🔑 Required Secrets\nEnsure the following **GitHub Secrets** are configured for a successful pipeline:\n- **`LHCI_GITHUB_APP_TOKEN`** → Required for Lighthouse CI authentication.\n- **`VERCEL_TOKEN`** → Required for Vercel deployment.\n- **`VERCEL_ORG_ID` \u0026 `VERCEL_PROJECT_ID`** → Identifies the Vercel project.\n\n---\n\n## 🛠️ Technologies Used\n- **Jenkins**\n- **GitHub Actions**\n- **Lighthouse CI**\n- **Dastardly (PortSwigger)**\n- **Node.js**\n- **Vercel (Deployment)**\n\n---\n\n## 📚 License\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n## 📩 Contact\nFor any issues or questions, feel free to **open an issue** or reach out via **[yusufasik.com](https://yusufasik.com/)**.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbugnificent%2Fci-cd_test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbugnificent%2Fci-cd_test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbugnificent%2Fci-cd_test/lists"}