Skip to content

add ci ssh key and gpg key #217

add ci ssh key and gpg key

add ci ssh key and gpg key #217

Workflow file for this run

name: Build
on:
pull_request: {}
push:
tags:
- v*
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
ssh-key: ${{ secrets.GH_PAT }}
- name: Import GPG Key
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY2 }}
GPG_KEY_ID: ${{ secrets.GPG_KEY_ID }}
run: |
echo "$GPG_PRIVATE_KEY" | gpg --import
git config --global user.signingkey $GPG_KEY_ID
git config --global commit.gpgsign true
# Configure Git with CI account details
git config --global user.name "ci-dominantstrategies"
git config --global user.email "[email protected]"
# Optionally, check that the GPG key is correctly configured for signing
gpg --list-keys "[email protected]"
- name: Read .nvmrc
run: echo "NVMRC=$(cat ./.nvmrc)" >> $GITHUB_OUTPUT
id: nvm
- name: Use Node + Yarn
uses: actions/setup-node@v3
with:
node-version: "${{ steps.nvm.outputs.NVMRC }}"
cache: "yarn"
- run: yarn install --frozen-lockfile
- name: Detect env block
id: env-block
if: github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/tags/')
uses: actions/github-script@v6
with:
script: |
const detectEnvBlock = require("./.github/workflows/builds/detect-env-block.js")
return await detectEnvBlock({ github, context })
- name: Dev build
if: github.ref != 'refs/heads/main' && !startsWith(github.ref, 'refs/tags/')
run: |
echo -e ${{ steps.env-block.outputs.result }} > .env
echo 'USE_ANALYTICS_SOURCE="BETA"' >> .env
yarn build
env:
ALCHEMY_KEY: ${{ secrets.DEV_ALCHEMY_API_KEY || 'oV1Rtjh61hGa97X2MTqMY9kEUcpxP-6K' }}
BLOCKNATIVE_API_KEY: ${{ secrets.DEV_BLOCKNATIVE_API_KEY || 'f60816ff-da02-463f-87a6-67a09c6d53fa' }}
DAYLIGHT_API_KEY: ${{ secrets.DAYLIGHT_API_KEY }}
COMMIT_SHA: ${{ github.sha }}
- name: Production build
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/')
run: |
echo 'USE_ANALYTICS_SOURCE="PROD"' >> .env
yarn build
env:
ALCHEMY_KEY: ${{ secrets.ALCHEMY_API_KEY }}
BLOCKNATIVE_API_KEY: ${{ secrets.BLOCKNATIVE_API_KEY }}
UNS_API_KEY: ${{ secrets.UNS_API_KEY }}
SIMPLE_HASH_API_KEY: ${{ secrets.SIMPLE_HASH_API_KEY }}
ZEROX_API_KEY: ${{ secrets.ZEROX_API_KEY }}
COMMIT_SHA: ${{ github.sha }}
POAP_API_KEY: ${{ secrets.POAP_API_KEY }}
DAYLIGHT_API_KEY: ${{ secrets.DAYLIGHT_API_KEY }}
- name: Upload build asset
if: ${{ !startsWith(github.ref, 'refs/tags/') }}
uses: actions/upload-artifact@v3
with:
name: extension-builds-${{ github.event.number || github.event.head_commit.id }}
path: dist/*.zip
- name: Create Release and Upload Artifacts
uses: softprops/action-gh-release@1e07f4398721186383de40550babbdf2b84acfc5 # v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: dist/*.zip
draft: true
generate_release_notes: true
prerelease: ${{ contains(github.ref, '-pre') || contains(github.ref, 'v0.') }}
## test:
## runs-on: ubuntu-latest
## steps:
## - uses: actions/checkout@v3
## - name: Read .nvmrc
## run: echo "NVMRC=$(cat ./.nvmrc)" >> $GITHUB_OUTPUT
## id: nvm
## - name: Use Node + Yarn
## uses: actions/setup-node@v3
## with:
## node-version: "${{ steps.nvm.outputs.NVMRC }}"
## cache: "yarn"
## - run: yarn install --frozen-lockfile
## - run: yarn test
## lint:
## runs-on: ubuntu-latest
## steps:
## - uses: actions/checkout@v3
## - name: Read .nvmrc
## run: echo "NVMRC=$(cat ./.nvmrc)" >> $GITHUB_OUTPUT
## id: nvm
## - name: Use Node + Yarn
## uses: actions/setup-node@v3
## with:
## node-version: "${{ steps.nvm.outputs.NVMRC }}"
## cache: "yarn"
## - run: yarn install --frozen-lockfile
## - run: yarn lint
detect-if-flag-changed:
runs-on: ubuntu-latest
outputs:
path-filter: ${{ steps.filter.outputs.path-filter }}
steps:
- uses: actions/checkout@v3
if: github.event_name == 'pull_request'
- uses: dorny/paths-filter@v2
if: github.event_name == 'pull_request'
id: filter
with:
filters: |
path-filter:
- '.env.defaults'
## e2e-tests:
## if: |
## github.ref == 'refs/heads/main'
## || contains(github.head_ref, 'e2e')
## || needs.detect-if-flag-changed.outputs.path-filter == 'true'
## needs: [build, detect-if-flag-changed]
## timeout-minutes: 60
## runs-on: ubuntu-latest
## steps:
## - uses: actions/checkout@v3
## - name: Read .nvmrc
## run: echo "NVMRC=$(cat ./.nvmrc)" >> $GITHUB_OUTPUT
## id: nvm
## - name: Use Node + Yarn
## uses: actions/setup-node@v3
## with:
## node-version: "${{ steps.nvm.outputs.NVMRC }}"
## cache: "yarn"
## - run: yarn install --frozen-lockfile
## - name: Install Playwright Browsers
## run: npx playwright install --with-deps chromium
## - uses: actions/download-artifact@v3
## with:
## name: extension-builds-${{ github.event.number || github.event.head_commit.id }}
## - name: Extract extension
## run: unzip -o chrome.zip -d dist/chrome
## - name: Run Playwright tests
## run: xvfb-run npx playwright test
## #env:
## # DEBUG: pw:api*
## - uses: actions/upload-artifact@v3
## if: failure()
## with:
## name: debug-output
## path: |
## test-results/
## #videos/
## retention-days: 30