Skip to content

Conversation

@TheRealBenForce
Copy link
Owner

No description provided.

Copilot AI review requested due to automatic review settings November 18, 2025 05:31
@TheRealBenForce TheRealBenForce merged commit 90dd01b into main Nov 18, 2025
5 checks passed
@TheRealBenForce TheRealBenForce deleted the build-deploy-actions branch November 18, 2025 05:31
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR transitions from AWS CodeBuild to GitHub Actions for building and deploying a Jekyll-based resume website. The changes introduce two new workflows for build/package and deployment operations, add source files for a Jekyll resume site, and remove the old CodeBuild configuration.

  • Implements GitHub Actions workflows for automated build, packaging, and S3 deployment
  • Adds Jekyll resume site source files including HTML templates, configuration, and static assets
  • Removes legacy AWS CodeBuild buildspec.yml and root Gemfile.lock

Reviewed Changes

Copilot reviewed 3 out of 10 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
.github/workflows/build-and-package.yaml New workflow to build Jekyll site and create GitHub releases with artifacts
.github/workflows/deploy-to-s3.yaml New workflow to deploy releases to S3 buckets with manual trigger
src/resume.html Jekyll template for rendering resume content with multiple sections
src/index.html Entry point that uses the resume layout
src/_config.yml Jekyll configuration with resume settings and personal information
src/Gemfile Ruby dependencies declaration for Jekyll
src/CNAME Custom domain configuration file
src/favicon.png Site favicon image
buildspec.yml Removed AWS CodeBuild configuration
Gemfile.lock Removed root-level lock file

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

uses: actions/upload-artifact@v4
with:
name: site-artifact-${{ github.ref_name }}-${{ github.sha }}
path: site.zip
Copy link

Copilot AI Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The path should be src/site.zip since the zip file is created in the src directory (line 47), but the artifact upload is looking for site.zip in the root directory.

Suggested change
path: site.zip
path: src/site.zip

Copilot uses AI. Check for mistakes.

- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
Copy link

Copilot AI Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The actions/create-release@v1 action is deprecated. Consider using softprops/action-gh-release or the GitHub CLI (gh release create) instead for creating releases.

Copilot uses AI. Check for mistakes.
Comment on lines +56 to +74
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}-${{ github.sha }}
release_name: Release ${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}-${{ github.sha }}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Upload Release Asset
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: src/site.zip
asset_name: site-${{ github.ref_name }}-${{ github.sha }}.zip
asset_content_type: application/zip
env:
Copy link

Copilot AI Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The actions/upload-release-asset@v1 action is deprecated. Consider using softprops/action-gh-release which handles both release creation and asset uploads, or use the GitHub CLI.

Suggested change
- name: Create GitHub Release
id: create_release
uses: actions/create-release@v1
with:
tag_name: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}-${{ github.sha }}
release_name: Release ${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}-${{ github.sha }}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload Release Asset
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: src/site.zip
asset_name: site-${{ github.ref_name }}-${{ github.sha }}.zip
asset_content_type: application/zip
env:
- name: Create GitHub Release and Upload Asset
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}-${{ github.sha }}
name: Release ${{ github.event_name == 'pull_request' && github.head_ref || github.ref_name }}-${{ github.sha }}
draft: false
prerelease: false
files: src/site.zip
env:

Copilot uses AI. Check for mistakes.
id: get_releases
run: |
releases=$(gh release list --limit 100 --json name -q '.[].name' | jq -R -s -c 'split("\n") | map(select(length > 0))')
echo "::set-output name=releases::$releases"
Copy link

Copilot AI Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ::set-output command is deprecated. Use the environment file syntax instead: echo \"releases=$releases\" >> $GITHUB_OUTPUT.

Suggested change
echo "::set-output name=releases::$releases"
echo "releases=$releases" >> $GITHUB_OUTPUT

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +33
list-releases:
runs-on: ubuntu-latest
outputs:
releases: ${{ steps.get_releases.outputs.releases }}
steps:
- name: List GitHub Releases
id: get_releases
run: |
releases=$(gh release list --limit 100 --json name -q '.[].name' | jq -R -s -c 'split("\n") | map(select(length > 0))')
echo "::set-output name=releases::$releases"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

deploy:
needs: list-releases
Copy link

Copilot AI Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The list-releases job fetches and outputs available releases, but this output is never used by the deploy job or elsewhere in the workflow. Consider removing this job if it's not needed, or utilize the output for validation purposes.

Suggested change
list-releases:
runs-on: ubuntu-latest
outputs:
releases: ${{ steps.get_releases.outputs.releases }}
steps:
- name: List GitHub Releases
id: get_releases
run: |
releases=$(gh release list --limit 100 --json name -q '.[].name' | jq -R -s -c 'split("\n") | map(select(length > 0))')
echo "::set-output name=releases::$releases"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
deploy:
needs: list-releases
deploy:

Copilot uses AI. Check for mistakes.
- name: Download Release Asset
run: |
echo "Downloading release ${{ github.event.inputs.release }}"
gh release download ${{ github.event.inputs.release }} --dir ./release
Copy link

Copilot AI Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The gh release download command requires repository context, but the workflow doesn't check out the repository. Add a checkout step before this, or specify the repository explicitly with --repo ${{ github.repository }}.

Suggested change
gh release download ${{ github.event.inputs.release }} --dir ./release
gh release download ${{ github.event.inputs.release }} --repo ${{ github.repository }} --dir ./release

Copilot uses AI. Check for mistakes.
- name: Sync to S3
run: |
echo "Deploying release ${{ github.event.inputs.release }} to bucket ${{ github.event.inputs.bucket }}"
aws s3 sync ./release s3://${{ github.event.inputs.bucket }} --delete
Copy link

Copilot AI Nov 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The AWS CLI command is missing the --region parameter. While AWS may use a default region, it's better to explicitly specify the region either via command parameter or the AWS_DEFAULT_REGION environment variable for clarity and to avoid potential deployment errors.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant