feat: banner position fix #12057
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
# build on PR creation/updates | |
pull_request: | |
types: [opened, synchronize] | |
env: | |
NODE_VERSION: lts/hydrogen | |
REACT_APP_SENTRY_DSN: ${{ secrets.SENTRY_DSN }} | |
REACT_APP_PINATA_API_KEY: ${{ secrets.REACT_APP_PINATA_API_KEY }} | |
REACT_APP_PINATA_SECRET_API_KEY: ${{ secrets.REACT_APP_PINATA_SECRET_API_KEY }} | |
REACT_APP_GOOGLE_ANALYTICS_ID: ${{ secrets.REACT_APP_GOOGLE_ANALYTICS_ID }} | |
REACT_APP_BLOCKNATIVE_API_KEY: ${{ secrets.REACT_APP_BLOCKNATIVE_API_KEY }} | |
REACT_APP_BFF_BASE_URL: ${{ secrets.BFF_BASE_URL }} | |
REACT_APP_CMS_BASE_URL: ${{ secrets.CMS_BASE_URL }} | |
NEXT_PUBLIC_CMS_BASE_URL: ${{ secrets.CMS_BASE_URL }} | |
jobs: | |
setup: | |
name: Setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: yarn | |
- name: Cache node_modules | |
id: cache-node-modules | |
uses: actions/cache@v3 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-${{ matrix.node-version }}-nodemodules1-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.node-version }}-nodemodules1- | |
- name: Install dependencies | |
run: yarn install --frozen-lockfile | |
- name: Cache generated files | |
id: cache-generated-files | |
uses: actions/cache@v3 | |
with: | |
path: | | |
src/state/data | |
src/locales | |
key: ${{ runner.os }}-generatedFiles-${{ hashFiles('**/yarn.lock') }} | |
test: | |
name: Test | |
needs: setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: yarn | |
- name: Load dependencies | |
id: cache-node-modules | |
uses: actions/cache@v3 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-${{ matrix.node-version }}-nodemodules1-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.node-version }}-nodemodules1- | |
- name: Load generated files | |
id: cache-generated-files | |
uses: actions/cache@v3 | |
with: | |
path: | | |
src/state/data | |
src/locales | |
key: ${{ runner.os }}-generatedFiles-${{ hashFiles('**/yarn.lock') }} | |
- name: Unit Test | |
run: yarn test | |
# - name: Coveralls | |
# uses: coverallsapp/[email protected] | |
# with: | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
lint: | |
name: Lint | |
needs: setup | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Set up node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: yarn | |
- name: Load dependencies | |
id: cache-node-modules | |
uses: actions/cache@v3 | |
with: | |
path: node_modules | |
key: ${{ runner.os }}-${{ matrix.node-version }}-nodemodules1-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-${{ matrix.node-version }}-nodemodules1- | |
- name: Load generated files | |
id: cache-generated-files | |
uses: actions/cache@v3 | |
with: | |
path: | | |
src/state/data | |
src/locales | |
key: ${{ runner.os }}-generatedFiles-${{ hashFiles('**/yarn.lock') }} | |
- name: Run eslint | |
run: yarn lint | |
integration-tests: | |
name: Cypress | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Increase watchers | |
run: echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p | |
- name: Set up node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.NODE_VERSION }} | |
cache: yarn | |
# Install deps only | |
- name: Cypress install dependencies | |
id: cypress-deps | |
uses: cypress-io/[email protected] | |
# Do not consider failure a failure. Well, sort of. | |
# See https://docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#steps-context | |
continue-on-error: true | |
with: | |
runTests: false | |
- name: Install Cypress binary | |
id: cypress-bin | |
# Only run if previous step failed | |
if: steps.cypress-deps.outcome == 'failure' | |
run: npx cypress install | |
- name: Start server in the background | |
run: yarn start & | |
# Actually run tests, building repo | |
- name: Cypress run | |
id: cypress-run | |
uses: cypress-io/[email protected] | |
with: | |
wait-on: http://[::1]:3000 | |
wait-on-timeout: 600 | |
install: false | |
working-directory: apps/cowswap-frontend-e2e | |
env: | |
CYPRESS_INTEGRATION_TEST_PRIVATE_KEY: ${{ secrets.CYPRESS_INTEGRATION_TEST_PRIVATE_KEY }} | |
CYPRESS_INTEGRATION_TESTS_INFURA_KEY: ${{ secrets.CYPRESS_INTEGRATION_TESTS_INFURA_KEY }} | |
# - uses: actions/upload-artifact@v3 | |
# if: always() | |
# with: | |
# name: cypress-videos | |
# path: | | |
# cypress-custom/videos | |
# cypress-custom/screenshots | |
# Open tmate ssh connection on failure for debugging | |
# Uncomment when needed and push upstream | |
# - name: Setup tmate session | |
# uses: mxschmitt/action-tmate@v3 | |
# if: ${{ failure() }} |