Skip to content

fix: profile view improvements and message unread indicator #53

fix: profile view improvements and message unread indicator

fix: profile view improvements and message unread indicator #53

name: Deploy - Production
on:
workflow_dispatch:
push:
branches:
- main
paths-ignore:
- "scripts/**"
- ".github/**"
- "!.github/workflows/deploy-production.yaml"
- ".gitignore"
- "LICENSE"
- "README.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "SECURITY.md"
- "docs/**"
- ".vscode/**"
- ".husky/**"
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: true
jobs:
deploy-production:
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Tailscale
uses: tailscale/github-action@v2
with:
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
oauth-secret: ${{ secrets.TS_OAUTH_SECRET }}
tags: tag:production
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.6
bundler-cache: true
- name: Install dependencies
run: |
gem install specific_install
gem specific_install https://github.com/basecamp/kamal.git
- uses: webfactory/ssh-agent@v0.7.0
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Run deploy command
run: kamal deploy
env:
DOCKER_BUILDKIT: 1
KAMAL_REGISTRY_PASSWORD: ${{ secrets.KAMAL_REGISTRY_PASSWORD }}
KAMAL_REGISTRY_USERNAME: ${{ secrets.KAMAL_REGISTRY_USERNAME }}
KAMAL_REGISTRY_SERVER: ${{ secrets.KAMAL_REGISTRY_SERVER }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_REGION: ${{ secrets.AWS_REGION }}
AWS_BUCKET: ${{ secrets.AWS_BUCKET }}
CDN_URL: ${{ secrets.CDN_URL }}
DATABASE_URL: ${{ secrets.DATABASE_URL }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
JWT_SECRET: ${{ secrets.JWT_SECRET }}
NEXT_PUBLIC_VAPID_PUBLIC_KEY: ${{ secrets.NEXT_PUBLIC_VAPID_PUBLIC_KEY }}
VAPID_PRIVATE_KEY: ${{ secrets.VAPID_PRIVATE_KEY }}
REDIS_URL: ${{ secrets.REDIS_URL }}
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
- name: Discord notification (success)
if: success()
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_DEPLOYMENT_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: "
## New Deployment\n
### Status\n
> **Success** ✅\n
### Commit (${{github.sha}})\n
> https://github.com/${{ github.repository }}/commit/${{github.sha}}\n"
- name: Discord notification (failure)
if: failure()
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_DEPLOYMENT_WEBHOOK }}
uses: Ilshidur/action-discord@master
with:
args: "
## New Deployment\n
### Status\n
> **Failure** ❌\n
### Commit (${{github.sha}})\n
> https://github.com/${{ github.repository }}/commit/${{github.sha}}\n
### Failed Jobs\n
> https://github.com/folkscommunity/folks/actions/runs/${{github.run_id}}\n"