Skip to content

Commit

Permalink
UBER-477: Uberflow dependencies (#3440)
Browse files Browse the repository at this point in the history
Signed-off-by: Andrey Sobolev <[email protected]>
  • Loading branch information
haiodo authored Jun 20, 2023
1 parent 0bc097f commit 2eab0fc
Show file tree
Hide file tree
Showing 25 changed files with 331 additions and 119 deletions.
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Don't allow people to merge changes to these generated files, because the result
# may be invalid. You need to run "rush update" again.
pnpm-lock.yaml merge=binary
pnpm-lock.yaml merge=text
shrinkwrap.yaml merge=binary
npm-shrinkwrap.json merge=binary
yarn.lock merge=binary
Expand Down
25 changes: 9 additions & 16 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ concurrency:
on:
# Triggers the workflow on push or pull request events but only for the main branch
push:
branches: [main, develop]
branches: [main]
tags:
- v*
pull_request:
branches: [main, develop]
branches: [main]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand Down Expand Up @@ -205,14 +205,7 @@ jobs:
mongodb-version: 5.0

- name: Testing...
uses: paambaati/[email protected]
env:
CC_TEST_REPORTER_ID: 346a83855d7124e9da8e6ec36a4fd01dc432f5cdc755eb28da7d9c44da9d1142
with:
coverageCommand: node common/scripts/install-run-rush.js test --verbose
coverageLocations: |
${{github.workspace}}/packages/*/coverage/lcov.info:lcov
${{github.workspace}}/server/*/coverage/lcov.info:lcov
run: node common/scripts/install-run-rush.js test --verbose
uitest:
needs: build
runs-on: ubuntu-latest
Expand Down Expand Up @@ -282,12 +275,12 @@ jobs:
with:
name: playwright-results
path: ./tests/sanity/playwright-report/
- name: Upload DB snapshot
if: always()
uses: actions/upload-artifact@v3
with:
name: db-snapshot
path: ./tests/db_dump
# - name: Upload DB snapshot
# if: always()
# uses: actions/upload-artifact@v3
# with:
# name: db-snapshot
# path: ./tests/db_dump
docker-build:
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') }}
needs: [build, uitest, test, svelte-check]
Expand Down
20 changes: 20 additions & 0 deletions common/config/rush/.npmrc-publish
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# This config file is very similar to common/config/rush/.npmrc, except that .npmrc-publish
# is used by the "rush publish" command, as publishing often involves different credentials
# and registries than other operations.
#
# Before invoking the package manager, Rush will copy this file to "common/temp/publish-home/.npmrc"
# and then temporarily map that folder as the "home directory" for the current user account.
# This enables the same settings to apply for each project folder that gets published. The copied file
# will omit any config lines that reference environment variables that are undefined in that session;
# this avoids problems that would otherwise result due to a missing variable being replaced by
# an empty string.
#
# * * * SECURITY WARNING * * *
#
# It is NOT recommended to store authentication tokens in a text file on a lab machine, because
# other unrelated processes may be able to read the file. Also, the file may persist indefinitely,
# for example if the machine loses power. A safer practice is to pass the token via an
# environment variable, which can be referenced from .npmrc using ${} expansion. For example:
#
# //registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}
#
24 changes: 24 additions & 0 deletions common/config/rush/artifactory.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,14 @@
*/
"artifactoryWebsiteUrl": "",

/**
* Uncomment this line to specify the type of credential to save in the user's ~/.npmrc file.
* The default is "password", which means the user's API token will be traded in for an
* npm password specific to that registry. Optionally you can specify "authToken", which
* will save the user's API token as credentials instead.
*/
// "credentialType": "password",

/**
* These settings allow the "rush setup" interactive prompts to be customized, for
* example with messages specific to your team or configuration. Specify an empty string
Expand All @@ -57,29 +65,45 @@
* "This monorepo consumes packages from an Artifactory private NPM registry."
*/
// "introduction": "",

/**
* Overrides the message that normally says:
* "Please contact the repository maintainers for help with setting up an Artifactory user account."
*/
// "obtainAnAccount": "",

/**
* Overrides the message that normally says:
* "Please open this URL in your web browser:"
*
* The "artifactoryWebsiteUrl" string is printed after this message.
*/
// "visitWebsite": "",

/**
* Overrides the message that normally says:
* "Your user name appears in the upper-right corner of the JFrog website."
*/
// "locateUserName": "",

/**
* Overrides the message that normally says:
* "Click 'Edit Profile' on the JFrog website. Click the 'Generate API Key'
* button if you haven't already done so previously."
*/
// "locateApiKey": ""

/**
* Overrides the message that normally prompts:
* "What is your Artifactory user name?"
*/
// "userNamePrompt": ""

/**
* Overrides the message that normally prompts:
* "What is your Artifactory API key?"
*/
// "apiKeyPrompt": ""
}
}
}
75 changes: 67 additions & 8 deletions common/config/rush/build-cache.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* This configuration file manages Rush's build cache feature.
* More documentation is available on the Rush website: https://rushjs.io
*/
{
{
"$schema": "https://developer.microsoft.com/json-schemas/rush/v5/build-cache.schema.json",

/**
Expand All @@ -21,9 +21,16 @@

/**
* Setting this property overrides the cache entry ID. If this property is set, it must contain
* a [hash] token. It may also contain a [projectName] or a [projectName:normalize] token.
* a [hash] token.
*
* Other available tokens:
* - [projectName]
* - [projectName:normalize]
* - [phaseName]
* - [phaseName:normalize]
* - [phaseName:trimPrefix]
*/
"cacheEntryNamePattern": "[projectName:normalize]-[hash]",
// "cacheEntryNamePattern": "[projectName:normalize]-[phaseName:normalize]-[hash]"

/**
* Use this configuration with "cacheProvider"="azure-blob-storage"
Expand Down Expand Up @@ -62,23 +69,75 @@
*/
"amazonS3Configuration": {
/**
* (Required) The Amazon S3 region of the bucket to use for build cache (e.g. "us-east-1").
* (Required unless s3Endpoint is specified) The name of the bucket to use for build cache.
* Example: "my-bucket"
*/
// "s3Region": "us-east-1",
// "s3Bucket": "my-bucket",

/**
* The name of the bucket in Amazon S3 to use for build cache.
* (Required unless s3Bucket is specified) The Amazon S3 endpoint of the bucket to use for build cache.
* This should not include any path; use the s3Prefix to set the path.
* Examples: "my-bucket.s3.us-east-2.amazonaws.com" or "http://localhost:9000"
*/
// (Required) "s3Bucket": "my-bucket",
// "s3Endpoint": "https://my-bucket.s3.us-east-2.amazonaws.com",

/**
* An optional prefix ("folder") for cache items.
* (Required) The Amazon S3 region of the bucket to use for build cache.
* Example: "us-east-1"
*/
// "s3Region": "us-east-1",

/**
* An optional prefix ("folder") for cache items. It should not start with "/".
*/
// "s3Prefix": "my-prefix",

/**
* If set to true, allow writing to the cache. Defaults to false.
*/
// "isCacheWriteAllowed": true
},

/**
* Use this configuration with "cacheProvider"="http"
*/
"httpConfiguration": {
/**
* (Required) The URL of the server that stores the caches.
* Example: "https://build-cacches.example.com/"
*/
// "url": "https://build-cacches.example.com/",

/**
* (Optional) The HTTP method to use when writing to the cache (defaults to PUT).
* Should be one of PUT, POST, or PATCH.
* Example: "PUT"
*/
// "uploadMethod": "PUT",

/**
* (Optional) HTTP headers to pass to the cache server.
* Example: { "X-HTTP-Company-Id": "109283" }
*/
// "headers": {},

/**
* (Optional) Shell command that prints the authorization token needed to communicate with the
* cache server, and exits with exit code 0. This command will be executed from the root of
* the monorepo.
* Example: { "exec": "node", "args": ["common/scripts/auth.js"] }
*/
// "tokenHandler": { "exec": "node", "args": ["common/scripts/auth.js"] },

/**
* (Optional) Prefix for cache keys.
* Example: "my-company-"
*/
// "cacheKeyPrefix": "",

/**
* (Optional) If set to true, allow writing to the cache. Defaults to false.
*/
// "isCacheWriteAllowed": true
}
}
30 changes: 29 additions & 1 deletion common/config/rush/experiments.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,33 @@
* If true, the chmod field in temporary project tar headers will not be normalized.
* This normalization can help ensure consistent tarball integrity across platforms.
*/
// "noChmodFieldInTarHeaderNormalization": true
// "noChmodFieldInTarHeaderNormalization": true,

/**
* If true, build caching will respect the allowWarningsInSuccessfulBuild flag and cache builds with warnings.
* This will not replay warnings from the cached build.
*/
// "buildCacheWithAllowWarningsInSuccessfulBuild": true,

/**
* If true, the phased commands feature is enabled. To use this feature, create a "phased" command
* in common/config/rush/command-line.json.
*/
"phasedCommands": true,

/**
* If true, perform a clean install after when running `rush install` or `rush update` if the
* `.npmrc` file has changed since the last install.
*/
// "cleanInstallAfterNpmrcChanges": true,

/**
* If true, print the outputs of shell commands defined in event hooks to the console.
*/
// "printEventHooksOutputToConsole": true,

/**
* If true, Rush will not allow node_modules in the repo folder or in parent folders.
*/
// "forbidPhantomResolvableNodeModulesFolders": true
}
3 changes: 2 additions & 1 deletion common/config/rush/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 29 additions & 0 deletions common/config/rush/rush-plugins.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* This configuration file manages Rush's plugin feature.
*/
{
"$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush-plugins.schema.json",
"plugins": [
/**
* Each item configures a plugin to be loaded by Rush.
*/
// {
// /**
// * The name of the NPM package that provides the plugin.
// */
// "packageName": "@scope/my-rush-plugin",
// /**
// * The name of the plugin. This can be found in the "pluginName"
// * field of the "rush-plugin-manifest.json" file in the NPM package folder.
// */
// "pluginName": "my-plugin-name",
// /**
// * The name of a Rush autoinstaller that will be used for installation, which
// * can be created using "rush init-autoinstaller". Add the plugin's NPM package
// * to the package.json "dependencies" of your autoinstaller, then run
// * "rush update-autoinstaller".
// */
// "autoinstallerName": "rush-plugins"
// }
]
}
2 changes: 1 addition & 1 deletion common/config/rush/version-policies.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
// * When creating a release branch in Git, this field should be updated according to the
// * type of release.
// *
// * Valid values are: "prerelease", "release", "minor", "patch", "major"
// * Valid values are: "prerelease", "minor", "patch", "major"
// */
// "nextBump": "prerelease",
//
Expand Down
2 changes: 1 addition & 1 deletion models/all/src/version.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "major": 0, "minor": 6, "patch": 99 }
{ "major": 0, "minor": 6, "patch": 108 }
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"incrementalBuildIgnoredGlobs": ["temp/**"],
"incrementalBuildIgnoredGlobs": ["temp/**", "dist_cache/**", "lib/**"],
"disableBuildCacheForProject": false,

"operationSettings": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"incrementalBuildIgnoredGlobs": ["temp/**"],
"incrementalBuildIgnoredGlobs": ["temp/**", "dist_cache/**", "lib/**"],
"disableBuildCacheForProject": false,

"operationSettings": [
Expand Down
4 changes: 2 additions & 2 deletions packages/platform-rig/profiles/ui/config/rush-project.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"incrementalBuildIgnoredGlobs": ["temp/**"],
"incrementalBuildIgnoredGlobs": ["temp/**", "dist_cache/**", "lib/**"],
"disableBuildCacheForProject": false,

"operationSettings": [
{
"operationName": "build",
"outputFolderNames": ["dist_cache"]
"outputFolderNames": ["dist", "lib", "dist_cache"]
}
]
}
Loading

0 comments on commit 2eab0fc

Please sign in to comment.