From 3792fbc75773b22995322ef1584a62e6d6ba84cb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 4 Apr 2026 21:09:48 +0000 Subject: [PATCH 1/3] Initial plan From 619b10f25922afb8aea687ba9b332cf8d58ec4d7 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 4 Apr 2026 21:19:04 +0000 Subject: [PATCH 2/3] Add prod and release branch triggers to workflows, add create-branches workflow Agent-Logs-Url: https://github.com/professoroakz/.github/sessions/b83b124c-1463-49f6-bb0e-75fb7fc6d428 Co-authored-by: professoroakz <6593422+professoroakz@users.noreply.github.com> --- .github/workflows/ci.yml | 118 +++++++++++++++++++++++++- .github/workflows/codeql.yml | 45 +++++++++- .github/workflows/create-branches.yml | 41 +++++++++ .github/workflows/makefile.yml | 36 +++++++- 4 files changed, 231 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/create-branches.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a9c9d93..74356b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,3 +1,115 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f20c21552d72da557bb7ebc34d9fe705628718aced7687a7aa5a6b45831588d0 -size 2624 +name: CI + +on: + push: + branches: [ main, prod, release, copilot/** ] + pull_request: + branches: [ main, prod, release ] + +permissions: + contents: read + +jobs: + verify: + name: Verify Repository + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Check file structure + run: | + echo "Checking required files..." + for file in .gitignore README.md Makefile package.json Dockerfile; do + if [ ! -f "$file" ]; then + echo "ERROR: Missing required file: $file" + exit 1 + fi + done + echo "✓ All required files present" + + - name: Verify scripts + run: | + echo "Verifying scripts..." + if [ -d scripts ]; then + for script in scripts/*.sh; do + if [ -f "$script" ]; then + bash -n "$script" || exit 1 + echo "✓ $script syntax OK" + fi + done + fi + echo "✓ Script verification complete" + + - name: Check for large files + run: | + echo "Checking for large files (>5MB)..." + large_files=$(find . -type f -size +5M -not -path "./.git/*" -not -path "./backups/*" -not -path "./node_modules/*") + if [ -n "$large_files" ]; then + echo "WARNING: Large files found:" + echo "$large_files" + else + echo "✓ No large files found" + fi + + test: + name: Test Package + runs-on: ubuntu-latest + needs: verify + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install dependencies + run: npm install + + - name: Run tests + run: npm test + + - name: Validate package + run: npm pack --dry-run + + markdown-lint: + name: Markdown Lint + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Lint markdown files + uses: DavidAnson/markdownlint-cli2-action@v16 + with: + globs: | + **/*.md + !node_modules + + makefile-test: + name: Test Makefile + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Test Makefile commands + run: | + make help + make info + make stats + make install + make test + make validate + echo "✓ All Makefile commands executed successfully" diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index d78c653..db87d79 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -1,3 +1,42 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f1c98135b15fa4551fbee5207eea5c8094744359c8b1d05d36ae9e69afd99a66 -size 877 +name: "CodeQL Security Scan" + +on: + push: + branches: [ "main", "prod", "release" ] + pull_request: + branches: [ "main", "prod", "release" ] + schedule: + - cron: '0 0 * * 1' # Weekly on Monday at midnight + +permissions: + actions: read + contents: read + security-events: write + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + language: [ 'javascript' ] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Initialize CodeQL + uses: github/codeql-action/init@v3 + with: + languages: ${{ matrix.language }} + queries: security-extended,security-and-quality + + - name: Autobuild + uses: github/codeql-action/autobuild@v3 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v3 + with: + category: "/language:${{matrix.language}}" diff --git a/.github/workflows/create-branches.yml b/.github/workflows/create-branches.yml new file mode 100644 index 0000000..966cd56 --- /dev/null +++ b/.github/workflows/create-branches.yml @@ -0,0 +1,41 @@ +name: Create Branches + +on: + push: + branches: [ "main" ] + workflow_dispatch: + +permissions: + contents: write + +jobs: + create-branches: + name: Create prod and release branches + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Create prod branch + run: | + if ! git ls-remote --exit-code --heads origin prod; then + git checkout -b prod + git push origin prod + echo "✓ Created prod branch" + else + echo "prod branch already exists" + fi + + - name: Create release branch + run: | + git checkout ${{ github.sha }} + if ! git ls-remote --exit-code --heads origin release; then + git checkout -b release + git push origin release + echo "✓ Created release branch" + else + echo "release branch already exists" + fi diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 56a4818..7a2f6bf 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -1,3 +1,33 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8f1fd72bcc56b0b08bce68d90ffd27620ffc0c5cf54658bfdfa66c02ed50e2a6 -size 455 +name: Makefile CI * + +on: + push: + branches: [ "main", "prod", "release" ] + pull_request: + branches: [ "main", "prod", "release" ] + +jobs: + build: + + runs-on: self-hosted + + steps: + - uses: actions/checkout@v4 + + - name: configure + run: ./configure + + - name: github + run: ./github + + - name: * + run: ./* + + - name: Install dependencies + run: make * + + - name: Run check + run: make * check + + - name: Run distcheck + run: make * distcheck From 0ec8f704401aebf12ef633ec99687f6d119f5ec4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 4 Apr 2026 21:19:57 +0000 Subject: [PATCH 3/3] Add missing permissions block to makefile.yml workflow Agent-Logs-Url: https://github.com/professoroakz/.github/sessions/b83b124c-1463-49f6-bb0e-75fb7fc6d428 Co-authored-by: professoroakz <6593422+professoroakz@users.noreply.github.com> --- .github/workflows/makefile.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 7a2f6bf..6f2c494 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -6,6 +6,9 @@ on: pull_request: branches: [ "main", "prod", "release" ] +permissions: + contents: read + jobs: build: