chore: fix using environment

This commit is contained in:
DIYgod 2023-01-18 22:37:44 +00:00
parent 784a23b173
commit 1d46f03c11
No known key found for this signature in database
5 changed files with 81 additions and 94 deletions

View File

@ -0,0 +1,75 @@
# build and push docker image to docker hub
name: Build & Deploy Dev
on:
push:
branches:
- "dev"
env:
IMAGE_NAME: rss3/xlog
REGION_ID: us-east-1
ACK_CLUSTER_ID: cd1d0ffc40b5242b39ddda1864e71e30d
jobs:
build:
runs-on: ubuntu-latest
environment: Preview
outputs:
version: ${{ steps.meta.outputs.version }}
steps:
- uses: hmarr/debug-action@v2
- name: Checkout
uses: actions/checkout@v3
- name: docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.IMAGE_NAME }}
tags: |
type=sha
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v3
with:
context: .
file: Dockerfile
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: |
"NEXT_PUBLIC_DISCORD_LINK=${{ vars.NEXT_PUBLIC_DISCORD_LINK }}"
"NEXT_PUBLIC_GITHUB_LINK=${{ vars.NEXT_PUBLIC_GITHUB_LINK }}"
"NEXT_PUBLIC_OUR_DOMAIN=${{ vars.NEXT_PUBLIC_OUR_DOMAIN }}"
"NEXT_PUBLIC_TWITTER_LINK=${{ vars.NEXT_PUBLIC_TWITTER_LINK }}"
deploy-dev:
runs-on: ubuntu-latest
environment: Preview
needs: build
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set K8s context
uses: aliyun/ack-set-context@v1
with:
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
cluster-id: "${{ env.ACK_CLUSTER_ID }}"
- run: |
wget https://github.com/mikefarah/yq/releases/download/v4.25.1/yq_linux_amd64.tar.gz -O - | tar xz && mv yq_linux_amd64 /usr/local/bin/yq
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.22.10/bin/linux/amd64/kubectl && chmod +x kubectl && mv kubectl /usr/local/bin/kubectl
- uses: sljeff/secrets2env@main
with:
secrets-json: ${{ toJson(secrets) }}
- env:
IMAGE_TAG_RELEASE: ${{ env.IMAGE_NAME }}:${{ needs.build.outputs.version }}
run: |
sh apply.sh deploy/dev/*

View File

@ -1,21 +1,20 @@
# build and push docker image to docker hub
name: Build & Deploy
name: Build & Deploy Prod
on:
push:
branches:
- "dev"
- "main"
env:
IMAGE_NAME: rss3/xlog
REGION_ID: us-east-1
DEV_ACK_CLUSTER_ID: cd1d0ffc40b5242b39ddda1864e71e30d
PROD_ACK_CLUSTER_ID: cfc647c22fd6848b5a602ad4d7470632b
ACK_CLUSTER_ID: cfc647c22fd6848b5a602ad4d7470632b
jobs:
build:
runs-on: ubuntu-latest
environment: Production
outputs:
version: ${{ steps.meta.outputs.version }}
steps:
@ -51,9 +50,9 @@ jobs:
"NEXT_PUBLIC_OUR_DOMAIN=${{ vars.NEXT_PUBLIC_OUR_DOMAIN }}"
"NEXT_PUBLIC_TWITTER_LINK=${{ vars.NEXT_PUBLIC_TWITTER_LINK }}"
deploy-dev:
if: github.ref == 'refs/heads/dev'
deploy-prod:
runs-on: ubuntu-latest
environment: Production
needs: build
steps:
- name: Checkout
@ -63,31 +62,7 @@ jobs:
with:
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
cluster-id: "${{ env.DEV_ACK_CLUSTER_ID }}"
- run: |
wget https://github.com/mikefarah/yq/releases/download/v4.25.1/yq_linux_amd64.tar.gz -O - | tar xz && mv yq_linux_amd64 /usr/local/bin/yq
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.22.10/bin/linux/amd64/kubectl && chmod +x kubectl && mv kubectl /usr/local/bin/kubectl
- uses: sljeff/secrets2env@main
with:
secrets-json: ${{ toJson(secrets) }}
- env:
IMAGE_TAG_RELEASE: ${{ env.IMAGE_NAME }}:${{ needs.build.outputs.version }}
run: |
sh apply.sh deploy/dev/*
deploy-prod:
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs: [build, deploy-dev]
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set K8s context
uses: aliyun/ack-set-context@v1
with:
access-key-id: "${{ secrets.ACCESS_KEY_ID }}"
access-key-secret: "${{ secrets.ACCESS_KEY_SECRET }}"
cluster-id: "${{ env.PROD_ACK_CLUSTER_ID }}"
cluster-id: "${{ env.ACK_CLUSTER_ID }}"
- run: |
wget https://github.com/mikefarah/yq/releases/download/v4.25.1/yq_linux_amd64.tar.gz -O - | tar xz && mv yq_linux_amd64 /usr/local/bin/yq
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.22.10/bin/linux/amd64/kubectl && chmod +x kubectl && mv kubectl /usr/local/bin/kubectl

View File

@ -1,47 +0,0 @@
# Temporarily disabled
name: Test
on:
pull_request:
push:
branches:
- dev
jobs:
test:
if: true == false
runs-on: ubuntu-latest
name: Test
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "16"
- uses: pnpm/action-setup@v2.2.4
with:
version: 7
run_install: false
- name: Get pnpm store directory
id: pnpm-cache
run: |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)"
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm i
- name: Install browsers
run: pnpm playwright install chromium --with-deps
- name: E2E test
run: pnpm test-e2e
- name: Upload test results
if: always()
uses: actions/upload-artifact@v3
with:
name: playwright-report
path: playwright-report

View File

@ -1,14 +1,6 @@
# Remember to add it in env.production because it is the nextjs project
apiVersion: v1
stringData:
NEXT_PUBLIC_APP_NAME: xLog
NEXT_PUBLIC_OUR_DOMAIN: xlog.page
NEXT_PUBLIC_DISCORD_LINK: "https://discord.gg/46VJMMVCuF"
NEXT_PUBLIC_TWITTER_LINK: "https://twitter.com/_xLog"
NEXT_PUBLIC_GITHUB_LINK: "https://github.com/Crossbell-Box/xlog"
NEXT_PUBLIC_CSB_IO: ""
NEXT_PUBLIC_CSB_SCAN: "https://scan.crossbell.io"
NEXT_PUBLIC_IPFS_GATEWAY: "https://ipfs.4everland.xyz/ipfs/"
REDIS_URL: ${REDIS_URL_DEV}
MORALIS_WEB3_API_KEY: ${MORALIS_WEB3_API_KEY}
ALCHEMY_ETHEREUM_API_KEY: ${ALCHEMY_ETHEREUM_API_KEY}

View File

@ -1,14 +1,6 @@
# Remember to add it in env.production because it is the nextjs project
apiVersion: v1
stringData:
NEXT_PUBLIC_APP_NAME: xLog
NEXT_PUBLIC_OUR_DOMAIN: xlog.app
NEXT_PUBLIC_DISCORD_LINK: "https://discord.gg/46VJMMVCuF"
NEXT_PUBLIC_TWITTER_LINK: "https://twitter.com/_xLog"
NEXT_PUBLIC_GITHUB_LINK: "https://github.com/Crossbell-Box/xlog"
NEXT_PUBLIC_CSB_IO: "https://crossbell.io"
NEXT_PUBLIC_CSB_SCAN: "https://scan.crossbell.io"
NEXT_PUBLIC_IPFS_GATEWAY: "https://ipfs.4everland.xyz/ipfs/"
REDIS_URL: ${REDIS_URL}
MORALIS_WEB3_API_KEY: ${MORALIS_WEB3_API_KEY}
ALCHEMY_ETHEREUM_API_KEY: ${ALCHEMY_ETHEREUM_API_KEY}