mirror of
https://github.com/Belphemur/CBZOptimizer.git
synced 2026-01-12 00:26:26 +01:00
Add GitHub Copilot instructions and setup workflow
Co-authored-by: Belphemur <197810+Belphemur@users.noreply.github.com>
This commit is contained in:
99
.github/workflows/copilot-setup.yml
vendored
Normal file
99
.github/workflows/copilot-setup.yml
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
name: GitHub Copilot Setup
|
||||
|
||||
on:
|
||||
workflow_dispatch: # Allow manual triggering
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- develop
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
copilot-setup:
|
||||
name: Setup Development Environment for Copilot
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v6
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v6
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
cache: true
|
||||
|
||||
- name: Build encoder-setup utility
|
||||
run: |
|
||||
echo "Building encoder-setup utility with encoder_setup build tag..."
|
||||
go build -tags encoder_setup -o encoder-setup ./cmd/encoder-setup
|
||||
ls -lh encoder-setup
|
||||
|
||||
- name: Run encoder-setup
|
||||
run: |
|
||||
echo "Running encoder-setup to configure WebP encoder..."
|
||||
./encoder-setup
|
||||
echo "Encoder setup completed successfully"
|
||||
|
||||
- name: Verify Go environment
|
||||
run: |
|
||||
echo "=== Go Environment ==="
|
||||
go version
|
||||
go env
|
||||
echo ""
|
||||
echo "=== Go Module Info ==="
|
||||
go list -m all | head -20
|
||||
|
||||
- name: Install development tools
|
||||
run: |
|
||||
echo "Installing gotestsum for testing..."
|
||||
go install gotest.tools/gotestsum@latest
|
||||
|
||||
echo "Installing golangci-lint for linting..."
|
||||
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin
|
||||
|
||||
echo "Development tools installed successfully"
|
||||
|
||||
- name: Verify installation
|
||||
run: |
|
||||
echo "=== Verifying tools ==="
|
||||
which gotestsum && gotestsum --version
|
||||
which golangci-lint && golangci-lint --version
|
||||
|
||||
- name: Run basic tests
|
||||
run: |
|
||||
echo "Running basic tests to verify setup..."
|
||||
mkdir -p test-results
|
||||
gotestsum --junitfile test-results/junit.xml --format testname -- -race -coverprofile=coverage.txt -covermode=atomic ./...
|
||||
echo "Tests completed successfully"
|
||||
|
||||
- name: Upload test results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v5
|
||||
with:
|
||||
name: copilot-setup-test-results
|
||||
path: |
|
||||
test-results/junit.xml
|
||||
coverage.txt
|
||||
retention-days: 7
|
||||
|
||||
- name: Setup summary
|
||||
if: always()
|
||||
run: |
|
||||
echo "## GitHub Copilot Development Environment Setup Complete! 🚀" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Environment Details" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- **Go Version:** $(go version | cut -d' ' -f3)" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- **Platform:** ubuntu-latest" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- **WebP Encoder:** Configured (libwebp 1.6.0)" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Installed Tools" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- ✅ encoder-setup (WebP configuration)" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- ✅ gotestsum (test runner)" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- ✅ golangci-lint (code quality)" >> $GITHUB_STEP_SUMMARY
|
||||
echo "" >> $GITHUB_STEP_SUMMARY
|
||||
echo "### Next Steps" >> $GITHUB_STEP_SUMMARY
|
||||
echo "1. Review the copilot instructions at \`.github/copilot-instructions.md\`" >> $GITHUB_STEP_SUMMARY
|
||||
echo "2. Use \`go test ./...\` to run tests" >> $GITHUB_STEP_SUMMARY
|
||||
echo "3. Use \`golangci-lint run\` for linting" >> $GITHUB_STEP_SUMMARY
|
||||
echo "4. Build the application with \`go build ./cmd/cbzoptimizer\`" >> $GITHUB_STEP_SUMMARY
|
||||
Reference in New Issue
Block a user