Skip to content

Best design renders #1119

Best design renders

Best design renders #1119

Workflow file for this run

# Workflow to build containers
---
name: containers
on:
workflow_dispatch:
push:
branches:
- "main"
- "staging"
# Pattern matched against refs/tags
tags:
- '**'
paths-ignore:
- 'docs/**'
- 'infrastructure/**'
pull_request:
branches:
- "main"
- "staging"
paths-ignore:
- 'docs/**'
- 'infrastructure/**'
# Only run one at a time
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
########## Backend container ##################################
changes-backend:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
changes: ${{ steps.filter.outputs.backend }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
backend:
- 'go.mod'
- 'go.sum'
- 'main.go'
- 'Dockerfile'
- 'gateway/**'
- 'cmd/**'
- 'internal/**'
- 'pkg/**'
- 'backend/**'
backend:
needs: changes-backend
if: ${{ needs.changes-backend.outputs.changes == 'true' || github.event_name == 'workflow_dispatch' }}
uses: ./.github/workflows/docker.yml
with:
name: backend
deploy-environment: 'stg'
secrets: inherit
########## IPFS container ##################################
changes-ipfs:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
changes: ${{ steps.filter.outputs.ipfs }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
ipfs:
- 'docker/images/ipfs/**'
ipfs:
needs: changes-ipfs
if: ${{ needs.changes-ipfs.outputs.changes == 'true' || github.event_name == 'workflow_dispatch' }}
uses: ./.github/workflows/docker.yml
with:
name: ipfs
context: docker/images/ipfs
secrets: inherit
########## Receptor container ##################################
changes-receptor:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
changes: ${{ steps.filter.outputs.receptor }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
receptor:
- 'receptor/**'
receptor:
needs: changes-receptor
if: ${{ needs.changes-receptor.outputs.changes == 'true' || github.event_name == 'workflow_dispatch' }}
uses: ./.github/workflows/docker.yml
with:
name: receptor
context: receptor
secrets: inherit
################ Frontend container ##############################
changes-frontend:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
changes: ${{ steps.filter.outputs.frontend }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
frontend:
- 'frontend/**'
frontend:
needs: changes-frontend
if: ${{ needs.changes-frontend.outputs.changes == 'true' || github.event_name == 'workflow_dispatch' }}
strategy:
fail-fast: false
matrix:
backends: [
{ env: stg, url: 'https://api.stg.labdao.xyz', gateway: 'https://ipfs.stg.labdao.xyz/ipfs/', frontend-url: 'https://app.stg.labdao.xyz', demo-url: 'https://app.stg.labdao.xyz/experiments/268'},
{ env: prod, url: 'https://api.prod.labdao.xyz', gateway: 'http://ipfs.prod.labdao.xyz/ipfs/', frontend-url: 'https://app.prod.labdao.xyz', demo-url: 'https://app.prod.labdao.xyz/experiments/3062'},
{ env: lbbprod, url: 'https://api.lab.bio', gateway: 'https://ipfs.lab.bio/ipfs/', frontend-url: 'https://app.lab.bio', demo-url: 'https://app.lab.bio/experiments/201'},
{ env: local, url: 'http://localhost:8080', gateway: 'http://localhost:8888/ipfs/', frontend-url: 'http://localhost:3000', demo-url: 'http://localhost:3000/experients/1'}
]
uses: ./.github/workflows/docker.yml
with:
name: frontend
context: frontend
tag-suffix: -${{ matrix.backends.env }}
build-args: |
NEXT_PUBLIC_BACKEND_URL=${{ matrix.backends.url }}
NEXT_PUBLIC_IPFS_GATEWAY_ENDPOINT=${{ matrix.backends.gateway }}
NEXT_PUBLIC_FRONTEND_URL=${{ matrix.backends.frontend-url }}
NEXT_PUBLIC_DEMO_URL=${{ matrix.backends.demo-url }}
deploy-environment: ${{ matrix.backend.env }}
secrets: inherit