Commit graph

101 commits

Author SHA1 Message Date
Derek Slenk
a0956c37cf Add Forgejo Actions workflows for CI/CD
Some checks failed
CI / test (push) Failing after 1s
CI / test (pull_request) Failing after 1s
Build Check / build-check (push) Failing after 3m28s
Build Check / build-check (pull_request) Successful in 4m44s
- Create CI workflow for automated testing on push/PR
- Create deployment workflow with secrets handling
- Use self-hosted runners with existing Node.js installation
- Support YouTube API key and AWS credentials from repository secrets

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 00:04:42 -04:00
Derek Slenk
3461feb9a4 Resolve merge conflict in settings.local.json 2025-07-15 23:57:44 -04:00
Derek Slenk
eae994b32e Update local settings 2025-07-15 23:57:03 -04:00
a8b88b8622 Merge branch 'main' into feature/updates
All checks were successful
Build Check / build-check (push) Successful in 4m5s
Build Check / build-check (pull_request) Successful in 9m5s
2025-07-16 06:51:36 +03:00
25a89176a8 Merge pull request 'Migrate from GitHub to Forgejo' (#1) from forgejo-migration into main
All checks were successful
Build Check / build-check (push) Successful in 10m4s
Reviewed-on: #1
2025-07-16 06:50:09 +03:00
1849ef1bfa Update .forgejo/workflows/nextjs.yml
All checks were successful
Build Check / build-check (pull_request) Successful in 5m1s
Build Check / build-check (push) Successful in 6m20s
2025-07-16 05:41:31 +03:00
9d96d366bf Update .forgejo/workflows/build-check.yml
Some checks failed
Build Check / build-check (push) Has been cancelled
Build Check / build-check (pull_request) Successful in 6m4s
2025-07-16 05:40:46 +03:00
Decobus
a939c6ed65 Migrate from GitHub to Forgejo
Some checks failed
Build Check / build-check (pull_request) Failing after 2m18s
Build Check / build-check (push) Failing after 2m19s
- Rename .github directory to .forgejo
- Update workflow actions to use Forgejo-specific URLs
- Change runners from ubuntu-latest to self-hosted
- Replace GitHub-specific AWS action with environment variables
- Update documentation references from GitHub to Forgejo/git.deco.sh

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 18:43:35 -04:00
Derek Slenk
0e26e3945b Update layout and page components
Some checks failed
Build Check / build-check (push) Has been cancelled
Build Check / build-check (pull_request) Has been cancelled
2025-07-10 13:54:14 -04:00
Derek Slenk
08d6605fcc
Add am link (#15)
Some checks failed
Build Check / build-check (push) Has been cancelled
2025-06-30 11:24:03 -04:00
Derek Slenk
dba7d7a1a7
Update package.json
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-30 11:21:50 -04:00
Derek Slenk
4a0b9e95e4
Apply suggestions from code review
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-30 11:18:59 -04:00
Derek Slenk
b2475a845c feat: add pre-commit hook to enforce linting
- Install husky for git hook management
- Add pre-commit hook that runs 'npm run lint'
- Ensures all commits pass linting before being allowed
2025-06-30 11:17:35 -04:00
Derek Slenk
09f78df1da Fix ESLint error: remove unused CardDescription import
- Remove CardDescription from imports in long-story page
- Component was imported but never used, causing linting error
- All ESLint warnings now resolved
2025-06-30 10:29:25 -04:00
Derek Slenk
b7bcc6e69b Refactor footer into reusable component
- Create Footer component with consistent styling and angrymichigander.com link
- Replace inline footers in all pages (home, long-story, gallery) with Footer component
- Ensure consistent footer content across the entire site
- Add proper link styling with hover effects and security attributes
2025-06-30 09:59:59 -04:00
Derek Slenk
563aa2efab Fix angrymichigander.com link styling in footer
- Add proper CSS classes for link visibility (text-primary hover:underline)
- Add target='_blank' to open in new tab
- Add security attributes for external link
- Fix spacing around the link text
2025-06-30 09:52:03 -04:00
Derek Slenk
50bc078b15
Remove AWS Amplify dependencies and configuration (#14)
- Remove amplify/ directory and amplify.yml configuration
- Remove aws-amplify, @aws-amplify/backend, and @aws-amplify/backend-cli
dependencies
- Clean up .gitignore entries for Amplify artifacts
- Regenerate package-lock.json without Amplify packages
- Reduce dependency count by 2,038 packages
- Build time improved and bundle size optimized
2025-06-29 18:30:49 -04:00
Derek Slenk
95dc02e88e
force build 2025-06-29 18:24:50 -04:00
Derek Slenk
0620c1b450 Remove AWS Amplify dependencies and configuration
- Remove amplify/ directory and amplify.yml configuration
- Remove aws-amplify, @aws-amplify/backend, and @aws-amplify/backend-cli dependencies
- Clean up .gitignore entries for Amplify artifacts
- Regenerate package-lock.json without Amplify packages
- Reduce dependency count by 2,038 packages
- Build time improved and bundle size optimized
2025-06-29 18:20:59 -04:00
Derek Slenk
c5a6ad3b39
Add secrets configuration and deployment infrastructure (#12)
## Overview
This PR adds the necessary secrets configuration and deployment
infrastructure to enable automated deployment of the Next.js application
to AWS.

## Changes Made

### GitHub Actions Configuration
- Updated to include environment variables and secrets for AWS
deployment
- Added proper secret references for AWS credentials and configuration

### Application Configuration
- **next.config.ts**: Added environment variable configuration for
production deployment
- **package.json**: Updated with deployment-related dependencies and
scripts
- **robots.ts**: Added SEO configuration for search engine crawlers
- **sitemap.ts**: Added sitemap generation for better SEO

### Deployment Scripts
- **scripts/create-s3-bucket.js**: Added utility script for S3 bucket
creation and management

## Benefits
-  Automated deployment pipeline ready
-  Proper secrets management in place
-  SEO optimization with robots.txt and sitemap
-  Production-ready configuration
-  AWS infrastructure automation scripts

## Testing
- All configuration files have been validated
- Environment variables properly referenced
- Scripts are executable and ready for deployment

Ready for review and merge to enable automated deployments! 🚀
2025-06-29 18:07:17 -04:00
Derek Slenk
b1cc9cb295 Update AWS region to us-east-1 and clarify CloudFlare proxy
- Changed aws-region from us-east-2 to us-east-1 for correct deployment
- Updated S3 website URL to use us-east-1 endpoint
- Added note about CloudFlare proxy for production serving
2025-06-29 18:00:13 -04:00
Derek Slenk
d03121001a Fix ESLint issues across codebase
- Replace 'any' types with proper TypeScript interfaces
- Fix unescaped apostrophe in not-found page
- Convert actionTypes constant to type definition to fix unused variable
- Optimize font loading using next/font instead of external links
- Improve type safety and remove linting warnings
2025-06-29 17:55:13 -04:00
Derek Slenk
9619cf2bf9 Use CC_OIDC_ROLE secret for AWS role ARN
- Replace hardcoded AWS role ARN with CC_OIDC_ROLE secret
- Improves security by not exposing AWS account details in workflow
- Makes the workflow more portable and configurable
2025-06-29 17:52:44 -04:00
Derek Slenk
cb164b8255 Add build check workflow for non-master branches
- Runs on all pushes except to master branch
- Also runs on pull requests
- Performs linting, building, and optional testing
- Provides fast feedback for development branches
- Uses concurrency groups to cancel outdated runs
2025-06-29 17:49:33 -04:00
Derek Slenk
57558687d9
Update scripts/create-s3-bucket.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-29 17:47:11 -04:00
Derek Slenk
626219620b Add secrets configuration and deployment scripts
- Added GitHub Actions secrets configuration for deployment
- Updated next.config.ts with environment variables
- Modified package.json for production deployment
- Added robots.ts and sitemap.ts configuration
- Created deployment scripts directory
2025-06-29 17:42:11 -04:00
Derek Slenk
cece15bcb6
Fix Node.js version compatibility and improve documentation (#11)
- Update amplify.yml to use Node.js 20 to resolve engine compatibility
warnings
- Add .nvmrc file to ensure consistent Node.js version across
environments
- Replace basic README with comprehensive project documentation
including features, setup instructions, and deployment options

🤖 Generated with [Claude Code](https://claude.ai/code)
2025-06-27 19:21:24 -04:00
Derek Slenk
f4b9516f9c
Update amplify.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-27 19:21:15 -04:00
Derek Slenk
c39bbe9f60 Fix Node.js version compatibility and improve documentation
- Update amplify.yml to use Node.js 20 to resolve engine compatibility warnings
- Add .nvmrc file to ensure consistent Node.js version across environments
- Replace basic README with comprehensive project documentation including features, setup instructions, and deployment options

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 18:31:16 -04:00
Derek Slenk
10a26c2c9d
Merge pull request #9 from derekslenk/ampl
Amplify Release
2025-06-27 17:47:50 -04:00
Derek Slenk
0665a990e4 update packages 2025-06-27 16:25:43 -04:00
Derek Slenk
09b97c97db Add secret retrieval from Amplify secret stores
- Try AWS Secrets Manager first with the Amplify secret path
- Fall back to SSM Parameter Store if Secrets Manager fails
- Fall back to environment variable if both fail
- Write retrieved secret to .env.production for Next.js to use
- Log the process but hide the actual secret value

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 16:21:03 -04:00
Derek Slenk
33d4a1119a Simplify to just use environment variables
- Remove unnecessary Lambda function and API route
- Remove backend deployment from amplify.yml
- Just use process.env.YOUTUBE_API_KEY directly
- Keep it simple - no need for complex secret management

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 16:19:54 -04:00
Derek Slenk
2524e0cb27 Implement proper Amplify Gen 2 secret management
- Create Lambda function with secret environment variable
- Add YouTube API function to backend configuration
- Create Next.js API route to handle YouTube requests
- Update gallery page to use API route
- This follows the correct Amplify Gen 2 pattern for secrets

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 16:00:32 -04:00
Derek Slenk
969839c840 Revert to simple environment variable approach
- Remove backend pipeline deployment that was causing IAM issues
- Remove complex secret configuration from backend.ts
- Use simple environment variable approach from Amplify Console

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 15:58:04 -04:00
Derek Slenk
b03225cf76 Configure Amplify Gen 2 backend with secrets
- Add secret definition to backend.ts using proper Amplify Gen 2 syntax
- Update amplify.yml to include backend build phase
- This should properly expose secrets as environment variables

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 15:51:57 -04:00
Derek Slenk
21ac70c502 Fix YAML syntax error in amplify.yml
- Remove colon from echo command that was causing YAML parsing error
- Commands should now execute properly

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 15:42:54 -04:00
Derek Slenk
65601e5ad6 Write YOUTUBE_API_KEY to .env.production file
- Echo the API key value to debug if it's actually set
- Write to .env.production file for Next.js to read
- Display contents of .env.production to verify

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 15:40:06 -04:00
Derek Slenk
06a0051c51 Fix Amplify environment variable access
- Simplified amplify.yml to export env var during build
- Updated both gallery and dadvocate pages to check multiple env var names
- Added debugging to show available env vars
- Added publicRuntimeConfig and serverRuntimeConfig to next.config.ts
- Created config helper in lib/config.ts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 15:33:58 -04:00
Derek Slenk
2de4fb5f69 Enhanced Amplify secret detection
- Check multiple possible locations for the API key
- Add debugging to find available environment variables
- Try secrets object, AMPLIFY_ prefix, and standard env var
- Create placeholder .env.production file

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 15:24:46 -04:00
Derek Slenk
627da2c7ec Debug and fix Amplify environment variable access
- Add debugging commands to check environment variables
- Improve .env.production file creation logic
- Remove env config from next.config.ts to avoid conflicts

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 15:17:35 -04:00
Derek Slenk
f8a8c4f547
Merge pull request #8 from derekslenk/amplify-updates
Update amplify.yml to inject environment variable
2025-06-27 15:13:30 -04:00
Derek Slenk
3a035e9257 Update amplify.yml to inject environment variable
- Create .env.production file with YOUTUBE_API_KEY during build
- This ensures Next.js can access the environment variable

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 15:12:52 -04:00
Derek Slenk
c26f2e3d98
Merge pull request #7 from derekslenk/amplify-updates
Fix Amplify environment variable configuration
2025-06-27 14:58:38 -04:00
Derek Slenk
40c2f0c263 Fix Amplify environment variable configuration
- Add amplify.yml for proper build configuration
- Update next.config.ts to expose YOUTUBE_API_KEY env var
- This should fix the issue with secrets not being available in production

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-27 14:56:31 -04:00
Derek Slenk
dcc186ffc1
Merge pull request #5 from derekslenk/more-updates
More updates
2025-06-27 14:41:15 -04:00
Derek Slenk
ddbd6c27d6 refactor: remove unused fallback video ID and clean up API key logging 2025-06-27 14:39:37 -04:00
Derek Slenk
eea040d1f3 chore: update dependencies and add AWS Amplify packages
- Added aws-amplify and related packages to dependencies.
- Updated TypeScript and added tsx to devDependencies.
- Modified gallery page to log the availability of the YouTube API key.
2025-06-27 14:34:18 -04:00
Derek Slenk
82aec67cf5 fix 404 2025-06-27 02:57:25 +00:00
Derek Slenk
839593a0db I have done that 2025-06-27 02:46:57 +00:00