Skip to content

feat: Add metadata fields to core entities #5417

feat: Add metadata fields to core entities

feat: Add metadata fields to core entities #5417

name: Platform Pull Requests
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths-ignore:
- docs/**
- infrastructure/**
jobs:
validate-pr-title:
name: Validate Conventional Commit title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
types: | # mirrors changelog-sections in the /release-please-config.json
fix
feat
infra
docs
chore
build
deps
ci
refactor
style
test
run-e2e-tests-1:
runs-on: ubuntu-latest
name: E2E Local - Segments-1, Environment
services:
postgres:
image: postgres:11.12-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: flagsmith
ports: ['5432:5432']
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Cloning repo
uses: actions/checkout@v3
- name: Run E2E tests against local
uses: ./.github/actions/local-e2e-tests
with:
slack_token: ${{ secrets.SLACK_TOKEN }}
tests: segment-part-1 environment
concurrency: 1
run-e2e-tests-2:
runs-on: ubuntu-latest
name: E2E Local - Segments-2
services:
postgres:
image: postgres:11.12-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: flagsmith
ports: ['5432:5432']
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Cloning repo
uses: actions/checkout@v3
- name: Run E2E tests against local
uses: ./.github/actions/local-e2e-tests
with:
slack_token: ${{ secrets.SLACK_TOKEN }}
tests: segment-part-2
concurrency: 1
run-e2e-tests-3:
runs-on: ubuntu-latest
name: E2E Local - Segments-3, Signup, Flag, Invite, Project
services:
postgres:
image: postgres:11.12-alpine
env:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: flagsmith
ports: ['5432:5432']
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- name: Cloning repo
uses: actions/checkout@v3
- name: Run E2E tests against local
uses: ./.github/actions/local-e2e-tests
with:
slack_token: ${{ secrets.SLACK_TOKEN }}
tests: segment-part-3 signup flag invite project
concurrency: 2
run-e2e-segments-1-tests-docker-unified:
runs-on: ubuntu-latest
name: E2E Unified - Segments-1, Environment
steps:
- name: Cloning repo
uses: actions/checkout@v3
- name: Build unified docker container
uses: ./.github/actions/unified-e2e-tests
with:
github_actor: ${{github.actor}}
github_token: ${{secrets.GITHUB_TOKEN}}
e2e_test_token_staging: ${{ secrets.E2E_TEST_TOKEN }}
- name: Run tests on unified docker image
working-directory: frontend
env:
SLACK_TOKEN: ${{ inputs.slack_token }}
GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
docker compose -f docker-compose-e2e-tests.yml run frontend npx cross-env E2E_CONCURRENCY=1 npm run test -- segment-part-1 environment
run-e2e-segments-2-tests-docker-unified:
runs-on: ubuntu-latest
name: E2E Unified - Segments-2
steps:
- name: Cloning repo
uses: actions/checkout@v3
- name: Build unified docker container
uses: ./.github/actions/unified-e2e-tests
with:
github_actor: ${{github.actor}}
github_token: ${{secrets.GITHUB_TOKEN}}
e2e_test_token_staging: ${{ secrets.E2E_TEST_TOKEN }}
- name: Run tests on unified docker image
working-directory: frontend
env:
SLACK_TOKEN: ${{ inputs.slack_token }}
GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
docker compose -f docker-compose-e2e-tests.yml run frontend npx cross-env E2E_CONCURRENCY=1 npm run test -- segment-part-2
run-e2e-other-tests-docker-unified:
runs-on: ubuntu-latest
name: E2E Unified - Segments-3, Signup, Flag, Invite, Project
steps:
- name: Cloning repo
uses: actions/checkout@v3
- name: Build unified docker container
uses: ./.github/actions/unified-e2e-tests
with:
github_actor: ${{github.actor}}
github_token: ${{secrets.GITHUB_TOKEN}}
e2e_test_token_staging: ${{ secrets.E2E_TEST_TOKEN }}
- name: Run tests on unified docker image
working-directory: frontend
env:
SLACK_TOKEN: ${{ inputs.slack_token }}
GITHUB_ACTION_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
run: |
docker compose -f docker-compose-e2e-tests.yml run frontend npx cross-env E2E_CONCURRENCY=2 npm run test -- segment-part-3 signup flag invite project
docker-build-unified:
if: github.event.pull_request.draft == false
name: Test unified docker image build
runs-on: ubuntu-latest
steps:
- name: Checkout PR branch
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build
id: docker_build
uses: docker/build-push-action@v4
with:
push: false
cache-from: type=gha,scope=image-unified-fb
cache-to: type=gha,mode=max,scope=image-unified-fb
tags: flagsmith/flagsmith:testing
docker-build-api:
if: github.event.pull_request.draft == false
name: Test api docker image build
runs-on: ubuntu-latest
steps:
- name: Checkout PR branch
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build
id: docker_build
uses: docker/build-push-action@v4
with:
file: api/Dockerfile
push: false
cache-from: type=gha,scope=image-api-fb
cache-to: type=gha,mode=max,scope=image-api-fb
tags: flagsmith/flagsmith-api:testing
docker-build-frontend:
if: github.event.pull_request.draft == false
name: Test frontend docker image build
runs-on: ubuntu-latest
steps:
- name: Checkout PR branch
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build
id: docker_build
uses: docker/build-push-action@v4
with:
file: frontend/Dockerfile
push: false
cache-from: type=gha,scope=image-frontend-fb
cache-to: type=gha,mode=max,scope=image-frontend-fb
tags: flagsmith/flagsmith-frontend:testing