Skip to content

Commit

Permalink
ci: attempt to add vercel
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaelcr committed Jun 30, 2024
1 parent 8e1016a commit 86543f7
Show file tree
Hide file tree
Showing 5 changed files with 94 additions and 9 deletions.
79 changes: 79 additions & 0 deletions .github/workflows/vercel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
name: Vercel

env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}

on:
push:
branches:
- main
- beta
- develop
pull_request:
release:
types:
- published
workflow_dispatch:

jobs:
vercel:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./api

environment:
name: ${{ github.ref_name == 'main' && 'Production' || 'Preview' }}
url: ${{ github.ref_name == 'main' && 'https://runes-api.vercel.app/' || 'https://runes-api-pbcblockstack-blockstack.vercel.app/' }}

steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version-file: 'api/.nvmrc'

- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
path: |
~/.npm
**/node_modules
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install deps
run: npm ci --audit=false

- name: Install Vercel CLI
run: npm install --global vercel@latest

- name: Pull Vercel environment information
run: vercel pull --yes --environment=${{ github.ref_name == 'main' && 'production' || 'preview' }} --token=${{ secrets.VERCEL_TOKEN }}

- name: Build project artifacts
run: vercel build ${{ github.ref_name == 'main' && '--prod' || '' }} --token=${{ secrets.VERCEL_TOKEN }}

- name: Deploy project artifacts to Vercel
id: deploy
run: vercel ${{ github.ref_name == 'main' && '--prod' || 'deploy' }} --prebuilt --token=${{ secrets.VERCEL_TOKEN }} | awk '{print "deployment_url="$1}' >> $GITHUB_OUTPUT

- name: Trigger docs.hiro.so deployment
if: github.ref_name == 'main'
run: curl -X POST ${{ secrets.VERCEL_DOCS_DEPLOY_HOOK_URL }}

- name: Add comment with Vercel deployment URL
if: ${{ github.event_name == 'pull_request' }}
uses: thollander/actions-comment-pull-request@v2
with:
comment_tag: vercel
message: |
Vercel deployment URL: ${{ steps.deploy.outputs.deployment_url }} :rocket:
3 changes: 3 additions & 0 deletions api/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@
"start": "node dist/src/index.js",
"start-ts": "ts-node ./src/index.ts",
"test": "jest --runInBand",
"generate:openapi": "rimraf ./tmp && node -r ts-node/register ./util/openapi-generator.ts",
"generate:docs": "redoc-cli build --output ./tmp/index.html ./tmp/openapi.yaml",
"generate:git-info": "rimraf .git-info && node_modules/.bin/api-toolkit-git-info",
"generate:vercel": "npm run generate:git-info && npm run generate:openapi && npm run generate:docs",
"lint:eslint": "eslint . --ext .ts,.tsx -f unix",
"lint:prettier": "prettier --check src/**/*.ts tests/**/*.ts",
"lint:unused-exports": "ts-unused-exports tsconfig.json --showLineNumber --excludePathsFromReport=util/*"
Expand Down
7 changes: 1 addition & 6 deletions api/src/api/routes/addresses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,7 @@ import { TypeBoxTypeProvider } from '@fastify/type-provider-typebox';
import { Type } from '@sinclair/typebox';
import { FastifyPluginCallback } from 'fastify';
import { Server } from 'http';
import {
AddressSchema,
LimitSchema,
OffsetSchema,
BalanceResponseSchema,
} from '../schemas';
import { AddressSchema, LimitSchema, OffsetSchema, BalanceResponseSchema } from '../schemas';
import { parseBalanceResponse } from '../util/helpers';
import { Optional, PaginatedResponse } from '@hirosystems/api-toolkit';
import { handleCache } from '../util/cache';
Expand Down
9 changes: 6 additions & 3 deletions api/util/openapi-generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,14 @@ export const ApiGenerator: FastifyPluginAsync<
TypeBoxTypeProvider
> = async (fastify, options) => {
await fastify.register(FastifySwagger, OpenApiSchemaOptions);
await fastify.register(Api, { prefix: '/ordinals/v1' });
await fastify.register(Api, { prefix: '/runes/v1' });
if (!existsSync('./tmp')) {
mkdirSync('./tmp');
}
writeFileSync('./tmp/openapi.yaml', fastify.swagger({ yaml: true }));
writeFileSync('./tmp/openapi.json', JSON.stringify(fastify.swagger(), null, 2));
fastify.addHook('onReady', () => {
writeFileSync('./tmp/openapi.yaml', fastify.swagger({ yaml: true }));
writeFileSync('./tmp/openapi.json', JSON.stringify(fastify.swagger(), null, 2));
});
};

const fastify = Fastify({
Expand All @@ -29,5 +31,6 @@ const fastify = Fastify({
}).withTypeProvider<TypeBoxTypeProvider>();

void fastify.register(ApiGenerator).then(async () => {
await fastify.ready();
await fastify.close();
});
5 changes: 5 additions & 0 deletions vercel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"git": {
"deploymentEnabled": false
}
}

0 comments on commit 86543f7

Please sign in to comment.