diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index 55384de..2282655 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -9,38 +9,23 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - - uses: actions/checkout@v2 + - name: Docker login + uses: docker/login-action@v1 with: - repository: itering/actions - path: .github/actions - persist-credentials: false - ssh-key: '${{ secrets.ITERING_ACTIONS_DEPLOY_KEY }}' + username: ${{ secrets.QUAY_IO_BOT_USERNAME }} + password: ${{ secrets.QUAY_IO_BOT_PASSWORD }} + registry: quay.io - - uses: ./.github/actions/smart-vercel - name: Deploy to Vercel - id: smart-vercel + - uses: bhowell2/github-substring-action@1.0.2 + id: sha with: - node_version: 14 - vercel_token: ${{ secrets.VERCEL_TOKEN }} - vercel_group: itering - preview_output: true - script_install: npm i - script_build: npm run build - alias_domain: multisig-dev + value: ${{ github.event.pull_request.head.sha }} + length_from_start: 7 - - uses: marocchino/sticky-pull-request-comment@v2 + - uses: docker/build-push-action@v5 with: - append: true - message: ${{ steps.smart-vercel.outputs.PREVIEW_OUTPUT }} - - # - name: Slack Notification - # uses: rtCamp/action-slack-notify@v2 - # env: - # SLACK_CHANNEL: subscan-general - # SLACK_COLOR: ${{ job.status }} - # SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4 - # SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}' - # SLACK_TITLE: Preview - # SLACK_USERNAME: Vercel - # SLACK_WEBHOOK: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} + context: . + file: Dockerfile + push: true + tags: quay.io/subscan-explorer/subscan-multisig:sha-${{ + github.event.pull_request.number }}-${{ steps.sha.outputs.substring }} diff --git a/.github/workflows/deploy-prd.yml b/.github/workflows/deploy-prd.yml index 385da42..f9948ee 100644 --- a/.github/workflows/deploy-prd.yml +++ b/.github/workflows/deploy-prd.yml @@ -12,32 +12,23 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: actions/checkout@v2 + - name: Docker login + uses: docker/login-action@v1 with: - repository: itering/actions - path: .github/actions - persist-credentials: false - ssh-key: '${{ secrets.ITERING_ACTIONS_DEPLOY_KEY }}' + username: ${{ secrets.QUAY_IO_BOT_USERNAME }} + password: ${{ secrets.QUAY_IO_BOT_PASSWORD }} + registry: quay.io - - uses: ./.github/actions/smart-vercel - name: Deploy to Vercel - id: smart-vercel + - uses: olegtarasov/get-tag@v2.1 + id: tag-name + - uses: benjlevesque/short-sha@v3.0 + id: short-sha with: - node_version: 14 - vercel_token: ${{ secrets.VERCEL_TOKEN }} - vercel_group: itering - preview_output: true - prod_mode: true - script_install: npm i - script_build: npm run build + length: 7 - - name: Slack Notification - uses: rtCamp/action-slack-notify@v2 - env: - SLACK_CHANNEL: subscan-multisig-notification - SLACK_COLOR: ${{ job.status }} - SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4 - SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}' - SLACK_TITLE: Preview - SLACK_USERNAME: Vercel - SLACK_WEBHOOK: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} + - uses: docker/build-push-action@v5 + with: + context: . + file: Dockerfile + push: true + tags: quay.io/subscan-explorer/subscan-multisig:${{ env.GIT_TAG_NAME }} diff --git a/.github/workflows/deploy-stg.yml b/.github/workflows/deploy-stg.yml index b72b04c..cd8546e 100644 --- a/.github/workflows/deploy-stg.yml +++ b/.github/workflows/deploy-stg.yml @@ -11,32 +11,21 @@ jobs: steps: - uses: actions/checkout@v2 - - uses: actions/checkout@v2 + - name: Docker login + uses: docker/login-action@v1 with: - repository: itering/actions - path: .github/actions - persist-credentials: false - ssh-key: '${{ secrets.ITERING_ACTIONS_DEPLOY_KEY }}' + username: ${{ secrets.QUAY_IO_BOT_USERNAME }} + password: ${{ secrets.QUAY_IO_BOT_PASSWORD }} + registry: quay.io - - uses: ./.github/actions/smart-vercel - name: Deploy to Vercel - id: smart-vercel + - uses: benjlevesque/short-sha@v3.0 + id: short-sha with: - node_version: 14 - vercel_token: ${{ secrets.VERCEL_TOKEN }} - vercel_group: itering - preview_output: true - script_install: npm i - script_build: npm run build - alias_domain: multisig-staging + length: 7 - - name: Slack Notification - uses: rtCamp/action-slack-notify@v2 - env: - SLACK_CHANNEL: subscan-multisig-notification - SLACK_COLOR: ${{ job.status }} - SLACK_ICON: https://avatars.githubusercontent.com/u/14985020?s=48&v=4 - SLACK_MESSAGE: '${{ steps.smart-vercel.outputs.PREVIEW_LINK }}' - SLACK_TITLE: Preview - SLACK_USERNAME: Vercel - SLACK_WEBHOOK: ${{ secrets.SLACK_INCOMING_WEBHOOK_URL }} + - uses: docker/build-push-action@v5 + with: + context: . + file: Dockerfile + push: true + tags: quay.io/subscan-explorer/subscan-multisig:sha-${{ steps.short-sha.outputs.sha }}-${{ github.run_number }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..13ea9c1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM node:14 as builder +WORKDIR /app + +COPY package.json . +COPY package-lock.json . + +RUN npm install + +COPY . /app/ + +RUN npm run build + +FROM nginx:stable-alpine + +COPY --from=builder /app/build /usr/share/nginx/html + +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file