* Migration to CFS
* Add .npmrc to all packages in the repository to consume packages from the internal feed.
* Change run to runAsync in L0 tests
* Add SYSTEM_DEBUG environment variable for the test command
* Add NpmAuthenticate@0 task before the installation task
* Fix indents in AppStoreRelease
Save 21 seconds per pipeline run.
- Added `--no-document` to fastlane install in task IpaResign.
- Added `--no-document` to fastlane install in task AppStorePromote.
- Added `--no-document` to fastlane install in task AppStoreRelease.
* Migrate app-store tasks to Node20
- Migrated make.js script to support Node 20
- Changed ci to use node20
- Removed unused dependencies
- Removed unreacheble code since the app-store tasks are not used make.json file
* Migrate app-store tasks to Node20
- Migrated tasks to Node20
* Migrate app-store tasks to Node20
- replaced typescript from 3.2.2 to 5.1.6 for the build process
* Add support for authenticating using an API key
This commit adds support for the App Store Connect API key authentication
method, which is the new recommended method by fastlane.
It passes new options through to the --api_key_path option of fastlane.
The options are:
apiKeyId, apiKeyIssuerId, apiKeyContent, apiKeyInHouse
(cherry picked from commit f3c49eb4377263227ae041e18e3f796847b39d21)
* App App Store Connect API Key support to ServiceEndpoint
This commits adds the ability to use the Service Endpoint to provide
API Key credentials. The "token auth" scheme was chosen because it
seems to be the closest match to what the App Store Connect API
Key is.
(cherry picked from commit 9a6c3b657de449563c552d6274bc0fe83cef58de)
* Use base64-encoded private App Store Connect API Key
Azure DevOps doesn't support multi-line string values in input fields which caused problems
with the Private Key for the App Store Connect p8 private key.
Base64-encoding the private key (which is supported by fastlane) solves this.
(cherry picked from commit a98d239d12d4159cd38bd5322990ee010f2c4b95)
* Merge branch 'master' into app_store_connect_api_key_support
(cherry picked from commit 1a5108161bbc8701bd94372ba9864af631cf19fa)
* Merge branch 'master' into app_store_connect_api_key_support
(cherry picked from commit 594948c75cdb5e5c5ef48e36dc7704c969e79283)
* Bump version number to 180.0
(cherry picked from commit e2f51247b12287f83e1887d0704db66c00cb088b)
* Merge branch 'master' into app_store_connect_api_key_support
(cherry picked from commit 991b03e6daf2df9795c53ad217e7eb21b1e40dcb)
* Resolved merging conflicts
* Change scheme value from ms.vss-endpoint.endpoint-auth-scheme-token to Token
As noted by @PeterStaev, the value should be "Token".
* Use API Key ID in filename and delete API Key file in a clean up step
To avoid any conflicts, we now use the API Key ID to construct the name of the
API Key JSON file, and we save it inside of `Agent.BuildDirectory` or
`Agent.TempDirectory`.
By default, the API Key JSON file will be deleted after its use. That should
be much safer. Using the `DEBUG_API_KEY_FILE` environment variable keeps it
from being deleted. We use that env var for testing so we can verify that the
file has been created with the correct content.
* fix tests failing on windows
* fix deprecated mocha types
* Change 'apiKeyContent' to 'apitoken' to avoid duplicate field in ADO UI
When using a service endpoint auth type with the new API key, the ADO UI
adds an unused "API Token" field alongside our "API Key Content" field.
As suggested by @PeterStaev, it's better to reuse the "apitoken" field name
with our task-specific labels instead of adding our own field. That reuses
the "apitoken" field that ADO adds anyway, but displays it with our labels.
* fix invalid precheck for in app purchases
* add message about precheck for in app purchases
* Ensure API Key tests clean up api_key.json test files reliably
Since we were cleaning up at the end of the tests, the clean up didn't
happen when an assertion before it failed. That left an api_key.json
file on disk. Now we read the file first and clean up right away.
* apply deliver precheck fix for AppStoreRelease too
* fix service endpoint values for better secret masking
Agent's secret masker assumes that every service endpoint parameter is a secret, so if 'true' and 'false' are used as endpoint values, every 'true' and 'false' string in the logs of the job will be replaced with '***'
* Change `apiKeyFileName` to `apiKeyFilePath` and prefer Agent.TempDirectory
As per @egor-bryzgalov's code review, I've changed the name of the variable
holding the path to the API Key file to make it clearer that it's not just
the file *name*.
Also change where the file is saved on disk: Prefer Agent.TempDirectory
to Agent.BuildDirectory. This required some changes to the tests, since
the system also writes a `.taskkey` file into the temp dir, which we need
to clean up in order to delete the temp directory we had to create for
testing.
Co-authored-by: Egor Bryzgalov <v-egbryz@microsoft.com>
Co-authored-by: DaniilShmelev <daniil.shmelev@akvelon.com>