Skip to content

Instantly share code, notes, and snippets.

@smcelhinney
Last active December 10, 2022 20:14
Show Gist options
  • Save smcelhinney/9433bef18088b08e17a7349c454508f8 to your computer and use it in GitHub Desktop.
Save smcelhinney/9433bef18088b08e17a7349c454508f8 to your computer and use it in GitHub Desktop.
Github workflow to build static Next.js site and deploy to an S3 bucket
name: Deploy to S3
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12
- run: npm install
- run: npm run build
- run: npm run export
- name: Upload artifacts
uses: actions/upload-artifact@v1
with:
name: build_dir
path: ./out
publish-s3:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@master
with:
name: build_dir
path: ./out
- uses: jakejarvis/s3-sync-action@master
with:
args: --acl public-read --follow-symlinks --delete
env:
SOURCE_DIR: './out'
AWS_REGION: 'us-east-1'
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
create-release:
needs: publish-s3
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: smcelhinney/github-create-release-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment