-
Notifications
You must be signed in to change notification settings - Fork 5.7k
Commit
Expanded packages/backend-common with MySQL Tests Updated packages/backend-tasks column types to conform to MySQL Updated packages/backend-tasks database tests with MySQL Updated packages/backend-tasks datetime column to work with MySQL Updated packages/create-app with a production MySQL App Config template Updated packages/e2e-test to allow for e2e testing with MySQL Updated plugins/app-backend some text columns to string Updated plugins/app-backend interval to work with MySQL Updated plugins/bazaar-backend to run db tests against MySQL Updated plugins/catalog-backend-module-incremental-ingestion to run db tests against MySQL Updated plugins/catalog-backend text columns to longtext to work with MySQL like issue suggested Updated plugins/code-coverage-backend text column to string Updated plugins/linguist-backend text column to string Updated plugins/tech-insights-backend text columns to string Updated plugins/tech-insights-backend db tests to include MySQL Added New E2E tests to run on pull requests to test against MySQL Co-authored-by: Alex Rocha <alexr1@vmware.com> Co-authored-by: David Alvarado <dalvarado@vmware.com> Co-authored-by: Shwetha Gururaj <gururajsh@vmware.com> Co-authored-by: Al <aberezovsky@vmware.com> Co-authored-by: Gerg <gcobb@vmware.com> Signed-off-by: Pete Levine A <lpete@vmware.com>
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
--- | ||
'@backstage/plugin-catalog-backend-module-incremental-ingestion': patch | ||
'@backstage/plugin-code-coverage-backend': patch | ||
'@backstage/plugin-tech-insights-backend': patch | ||
'@backstage/plugin-linguist-backend': patch | ||
'@backstage/backend-common': patch | ||
'@backstage/plugin-catalog-backend': patch | ||
'@backstage/backend-tasks': patch | ||
'@backstage/plugin-bazaar-backend': patch | ||
'@backstage/plugin-app-backend': patch | ||
'e2e-test': patch | ||
--- | ||
|
||
Expanded packages/backend-common added test to database manager specifically for MySQL for test that targets postgresql | ||
Updated packages/backend-tasks text columns to longtext to work | ||
Check failure on line 15 in .changeset/yellow-trains-protect.md
|
||
with MySQL. MySQL requires lengths on their varchar columns. String columns in knex default to 255 characters unless otherwise provided in configuration | ||
Updated packages/backend-tasks database migrations, scheduler and task manager test database array to include MySQL in the tests | ||
Updated packages/backend-tasks task worker to add the includeOffset flag when updating the startAt column | ||
Check failure on line 18 in .changeset/yellow-trains-protect.md
|
||
Updated packages/create-app with a production MySQL App Config template. This config is referenced in the new e2e Linux MySQL test | ||
Updated plugins/app-backend text columns to longtext to work | ||
Check failure on line 20 in .changeset/yellow-trains-protect.md
|
||
with MySQL. MySQL requires lengths on their varchar columns. String columns in knex default to 255 characters unless otherwise provided in configuration | ||
Updated plugins/app-backend StaticAssetStore interval column to use the date_sub function to work with MySQL | ||
Check failure on line 22 in .changeset/yellow-trains-protect.md
|
||
Updated plugins/bazaar-backend Database Handler tests to run db tests against MySQL | ||
Updated plugins/catalog-backend-module-incremental-ingestion WrapperProviders tests database array to run tests against MySQL | ||
db tests against MySQL | ||
Updated plugins/catalog-backend text columns to longtext to work | ||
Check failure on line 26 in .changeset/yellow-trains-protect.md
|
||
with MySQL. MySQL requires lengths on their varchar columns. String columns in knex default to 255 characters unless otherwise provided in configuration | ||
Updated plugins/code-coverage-backend Migration sql text columns to string to work with MySQL. MySQL requires lengths on varchar columns. String columns default to 255 characters | ||
Check failure on line 28 in .changeset/yellow-trains-protect.md
|
||
Updated plugins/linguist-backend Migration sql text columns to string to work with MySQL. MySQL requires lengths on varchar columns. String columns default to 255 characters | ||
Check failure on line 29 in .changeset/yellow-trains-protect.md
|
||
Updated plugins/tech-insights-backend Migration sql text columns to string to work with MySQL. MySQL requires lengths on varchar columns. String columns default to 255 characters | ||
Updated plugins/tech-insights-backend FactRetriever engine database list to run against MySQL | ||
Updated e2e-test run command to run automated e2e tests against a MySQL service |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: "!Test Databases" | ||
|
||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
branches: [ "mysql" ] | ||
|
||
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
node-version: [18.x] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Use Node.js ${{ matrix.node-version }} | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
cache: yarn | ||
- run: yarn install | ||
- run: yarn tsc | ||
- run: yarn build:all | ||
- run: yarn test |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
name: E2E Linux MySQL | ||
on: | ||
# NOTE: If you change these you must update verify_e2e-linux-noop.yml as well | ||
pull_request: | ||
paths-ignore: | ||
- '.changeset/**' | ||
- 'contrib/**' | ||
- 'docs/**' | ||
- 'microsite/**' | ||
|
||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
services: | ||
mysql8: | ||
image: mysql:8 | ||
env: | ||
MYSQL_ROOT_PASSWORD: root | ||
options: >- | ||
--health-cmd "mysqladmin ping -h localhost" | ||
--health-interval 10s | ||
--health-timeout 5s | ||
--health-retries 5 | ||
ports: | ||
- 3306/tcp | ||
|
||
strategy: | ||
fail-fast: true | ||
matrix: | ||
node-version: [16.x] | ||
|
||
env: | ||
CI: true | ||
NODE_OPTIONS: --max-old-space-size=4096 | ||
|
||
name: E2E Linux mysql ${{ matrix.node-version }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Configure Git | ||
run: | | ||
git config --global user.email noreply@backstage.io | ||
git config --global user.name 'GitHub e2e user' | ||
- name: use node.js ${{ matrix.node-version }} | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
registry-url: https://registry.npmjs.org/ # Needed for auth | ||
cache: '' | ||
- name: yarn install | ||
uses: backstage/actions/yarn-install@v0.6.4 | ||
with: | ||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}-${{ github.ref }} | ||
|
||
- run: yarn tsc | ||
- run: yarn backstage-cli repo build | ||
- name: run E2E test | ||
run: | | ||
yarn e2e-test run | ||
env: | ||
BACKSTAGE_TEST_DISABLE_DOCKER: 1 | ||
BACKSTAGE_TEST_DATABASE_MYSQL8_CONNECTION_STRING: mysql://root:root@localhost:${{ job.services.mysql8.ports[3306] }}/ignored |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
app: | ||
# Should be the same as backend.baseUrl when using the `app-backend` plugin. | ||
baseUrl: http://localhost:7007 | ||
|
||
backend: | ||
# Note that the baseUrl should be the URL that the browser and other clients | ||
# should use when communicating with the backend, i.e. it needs to be | ||
# reachable not just from within the backend host, but from all of your | ||
# callers. When its value is "http://localhost:7007", it's strictly private | ||
# and can't be reached by others. | ||
baseUrl: http://localhost:7007 | ||
# The listener can also be expressed as a single <host>:<port> string. In this case we bind to | ||
# all interfaces, the most permissive setting. The right value depends on your specific deployment. | ||
listen: ':7007' | ||
|
||
# config options including ssl: https://github.com/mysqljs/mysql#connection-options | ||
database: | ||
client: mysql2 | ||
connection: | ||
host: ${MYSQL_HOST} | ||
port: ${MYSQL_PORT} | ||
user: ${MYSQL_USER} | ||
password: ${MYSQL_PASSWORD} | ||
|
||
catalog: | ||
# Overrides the default list locations from app-config.yaml as these contain example data. | ||
# See https://backstage.io/docs/features/software-catalog/#adding-components-to-the-catalog for more details | ||
# on how to get entities into the catalog. | ||
locations: [] |