From 8f74bb7bba5952a63d90d2efa3b7bfe51107fc62 Mon Sep 17 00:00:00 2001
From: wenyt <75360946+wenytang-ms@users.noreply.github.com>
Date: Wed, 25 Aug 2021 09:14:00 +0800
Subject: [PATCH] chore: support simpleauth cd on GitHub action (#1954)
* chore: support simpleauth cd on github action
* chore: update
* chore: update
* chore: chrome dirver update
* chore: restore simpleauth setting config
* chore: update
* chore: udpate
---
.github/scripts/pkg-postversion.sh | 18 ++++
.github/scripts/pkg-version.sh | 22 +++++
.github/scripts/sdk-postversion.sh | 6 --
.github/scripts/sdk-version.sh | 9 --
.github/scripts/simpleauth-azdo-pipelines.sh | 26 ++++++
.github/scripts/update-simpleauth-ver.js | 75 ++++++++++++++++
.github/workflows/cd.yml | 83 +++++++++++++++---
.gitignore | 1 +
lerna.json | 1 +
packages/sdk/package.json | 4 +-
packages/simpleauth/package-lock.json | 87 +++++++++++++++++++
packages/simpleauth/package.json | 16 ++++
.../Microsoft.TeamsFx.SimpleAuth.Tests.csproj | 2 +-
.../appsettings.IntegrationTests.json | 2 +-
14 files changed, 321 insertions(+), 31 deletions(-)
create mode 100755 .github/scripts/pkg-postversion.sh
create mode 100755 .github/scripts/pkg-version.sh
delete mode 100755 .github/scripts/sdk-postversion.sh
delete mode 100755 .github/scripts/sdk-version.sh
create mode 100755 .github/scripts/simpleauth-azdo-pipelines.sh
create mode 100644 .github/scripts/update-simpleauth-ver.js
create mode 100644 packages/simpleauth/package-lock.json
create mode 100644 packages/simpleauth/package.json
diff --git a/.github/scripts/pkg-postversion.sh b/.github/scripts/pkg-postversion.sh
new file mode 100755
index 0000000000..750ef7bfdb
--- /dev/null
+++ b/.github/scripts/pkg-postversion.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+if [[ $1 == 'templates' ]]; then
+ if [[ $SkipSyncup == *"template"* ]]; then
+ echo "skip sync up templates version with sdk version"
+ elif [[ -z "$(git tag --points-at HEAD | grep templates)" && ! -z "$(git diff HEAD^ -- ../../templates/package.json|grep version)" ]]
+ then
+ echo "need to tag on templates cause templates has no tags but bump up version"
+ git tag "templates@$(node -p "require('../../templates/package.json').version")"
+ fi
+elif [[ $1 == 'fx-core' ]]; then
+ if [[ $SkipSyncup == *"fx-core"* ]]; then
+ echo "skip sync up fx-core version with simpleauth version"
+ elif [[ -z "$(git tag --points-at HEAD | grep @microsoft/teamsfx-core)" && ! -z "$(git diff HEAD^ -- ../fx-core/package.json|grep version)" ]]
+ then
+ echo "need to tag on fx-core cause fx-core has no tags but bump up version"
+ git tag "@microsoft/teamsfx-core@$(node -p "require('../fx-core/package.json').version")"
+ fi
+fi
\ No newline at end of file
diff --git a/.github/scripts/pkg-version.sh b/.github/scripts/pkg-version.sh
new file mode 100755
index 0000000000..268688ee47
--- /dev/null
+++ b/.github/scripts/pkg-version.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+if [ $1 == 'templates' ]; then
+ if [[ $SkipSyncup == *"template"* ]]; then
+ echo "skip sync up templates version with sdk version"
+ elif [[ -z "$(git diff -- ../../templates)" ]]; then
+ echo "need bump up templates version since templates don not bump up by self"
+ node ../../.github/scripts/sdk-sync-up-version.js yes;
+ else
+ echo "no need to bump up templates version"
+ node ../../.github/scripts/sdk-sync-up-version.js
+ fi
+ git add ../../templates
+elif [ $1 == 'fx-core' ]; then
+ if [[ -z "$(git diff -- ../fx-core)" ]]; then
+ echo "need bump up fx-core version since fx-core don not bump up by self"
+ node ../../.github/scripts/update-simpleauth-ver.js yes;
+ else
+ echo "no need to bump up templates version"
+ node ../../.github/scripts/update-simpleauth-ver.js
+ fi
+ git add ../fx-core
+fi
\ No newline at end of file
diff --git a/.github/scripts/sdk-postversion.sh b/.github/scripts/sdk-postversion.sh
deleted file mode 100755
index 9d5112d7b0..0000000000
--- a/.github/scripts/sdk-postversion.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-if [[ -z "$(git tag --points-at HEAD | grep templates)" && ! -z "$(git diff HEAD^ -- ../../templates/package.json|grep version)" ]]
-then
- echo "need to tag on templates cause templates has no tags but bump up version"
- git tag "templates@$(node -p "require('../../templates/package.json').version")"
-fi
\ No newline at end of file
diff --git a/.github/scripts/sdk-version.sh b/.github/scripts/sdk-version.sh
deleted file mode 100755
index b1b3c67936..0000000000
--- a/.github/scripts/sdk-version.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-if [ -z "$(git diff -- ../../templates)" ]; then
-echo "need bump up templates version since templates don not bump up by self"
-node ../../.github/scripts/sdk-sync-up-version.js yes;
-else
-echo "no need to bump up templates version"
-node ../../.github/scripts/sdk-sync-up-version.js
-fi
-git add ../../templates
\ No newline at end of file
diff --git a/.github/scripts/simpleauth-azdo-pipelines.sh b/.github/scripts/simpleauth-azdo-pipelines.sh
new file mode 100755
index 0000000000..188e918ba2
--- /dev/null
+++ b/.github/scripts/simpleauth-azdo-pipelines.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+countNum=1
+restUrl="https://dev.azure.com/mseng/VSIoT/_apis/build/latest/$2?api-version=6.0-preview.1"
+rsp=$(curl -u :$1 $restUrl | jq -r '.value| .[0]')
+status=$(echo $rsp | jq -r '.state')
+buildId=$(echo $rsp | jq -r '.id')
+echo "===== build id is: " $buildId
+echo "===== build pipeline status: " $status
+while [[ $countNum -le 50 && "$status" != "completed" ]]
+do
+ sleep 1m
+ rsp=$(curl -u :$1 $restUrl | jq -r '.value| .[0]')
+ status=$(echo $rsp | jq -r '.state')
+ echo "loop status" $status
+ countNum=$(( $countNum + 1 ))
+done
+if [[ "$status" != "completed" ]]
+then
+exit 1
+fi
+
+restUrl="https://dev.azure.com/mseng/VSIoT/_apis/build/builds/$buildId/artifacts?api-version=6.0"
+asset_rsp=$(curl -u :$1 $restUrl)
+echo "====== asset url response:" $asset_rsp
+asset_id=$(echo $asset_rsp | jq '.value |.[] | .resource' |jq '.data' | tr -d -c 0-9)
+echo "====== asset id is: " $asset_id
\ No newline at end of file
diff --git a/.github/scripts/update-simpleauth-ver.js b/.github/scripts/update-simpleauth-ver.js
new file mode 100644
index 0000000000..a644f2d36a
--- /dev/null
+++ b/.github/scripts/update-simpleauth-ver.js
@@ -0,0 +1,75 @@
+const fs = require("fs");
+const path = require("path")
+const simpleauth = path.join(__dirname, "../../packages/simpleauth")
+const xml2js = require(path.join(simpleauth, "node_modules/xml2js"))
+const csprojFile = path.join(simpleauth, "src/TeamsFxSimpleAuth/Microsoft.TeamsFx.SimpleAuth.csproj");
+const simpleauthVer = require(path.join(simpleauth, "package.json")).version
+console.log("===== simple auth version: ", simpleauthVer)
+// update .csproj file
+fs.readFile(csprojFile, "utf-8", (err, data) => {
+ if (err) {
+ throw err;
+ }
+
+ // convert XML data to JSON object
+ xml2js.parseString(data, (err, result) => {
+ if (err) {
+ throw err;
+ }
+
+ // replace `version` with new version
+ for(let prop of result['Project'].PropertyGroup) {
+ if(prop.Version) {
+ prop.Version[0] = simpleauthVer;
+ break;
+ }
+ }
+ // convert SJON objec to XML
+ const builder = new xml2js.Builder({trim: true, headless: true});
+ const xml = builder.buildObject(result);
+
+ // write updated XML string to a file
+ fs.writeFile(csprojFile, xml, (err) => {
+ if (err) {
+ throw err;
+ }
+ console.log(`Updated XML is written to a new file.`);
+ });
+
+ });
+});
+
+const synup = process.env.SkipSyncup
+if(synup && synup.includes("fx-core")) {
+ return;
+}
+
+// update fx-core tempaltes version.txt file
+const fxCorePath = path.join(__dirname, "../../packages/fx-core");
+const simpleauthVerTxt = path.join(fxCorePath, "./templates/plugins/resource/simpleauth/version.txt")
+fs.writeFileSync(simpleauthVerTxt, simpleauthVer, "utf8")
+
+// only rc and stable release bump up version on main branch, rarely run.
+let needBumpUp = process.argv[2] === "yes" ? true : false;
+if (needBumpUp) {
+ let file = path.join(fxCorePath, "package.json");
+ let pkg_ = fse.readJsonSync(file);
+ let ver = pkg_.version;
+ if (semver.prerelease(simpleauthVer)) {
+ ver = semver.inc(ver, "prerelease", "rc");
+ } else {
+ ver = semver.inc(ver, "patch");
+ }
+
+ pkg_.version = ver;
+ fse.writeFileSync(file, JSON.stringify(pkg_, null, 4));
+
+ file = path.join(fxCorePath, "package-lock.json");
+ if (file) {
+ pkg_ = fse.readJsonSync(file);
+ pkg_.version = ver;
+ fse.writeFileSync(file, JSON.stringify(pkg_, null, 4))
+ }
+
+ console.log("bump up fx-core version as ", ver);
+}
\ No newline at end of file
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml
index e530bb7693..5e6fe892c6 100644
--- a/.github/workflows/cd.yml
+++ b/.github/workflows/cd.yml
@@ -11,6 +11,10 @@ on:
description: "release RC version just with lerna publish, skip run lerna version(yes or no)"
required: false
default: "no"
+ skip-sync-version-pkg:
+ description: "skip sync up target pkg version. input templates to skip sync up version with sdk; fx-core to skip sync up with simpleauth"
+ required: false
+ default: ""
schedule:
- cron: "0 8 * * *"
@@ -55,20 +59,15 @@ jobs:
with:
node-version: 14
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v1
+ with:
+ dotnet-version: 3.1.x
+
- name: Setup npm registry
run: |
echo "${{ secrets.NPMRC }}" > ~/.npmrc
- - name: Download Simple Auth bits
- uses: nick-invision/retry@v2
- with:
- timeout_minutes: 10
- max_attempts: 10
- retry_on: error
- shell: pwsh
- command: |
- ./.github/scripts/downloadSimpleAuth.ps1
-
- name: Setup project
run: |
npm run setup
@@ -87,17 +86,23 @@ jobs:
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.preid == 'rc' && github.ref == 'refs/heads/main' && github.event.inputs.skip-version-rc == 'no'}}
run: |
npx lerna version --conventional-commits --conventional-prerelease --preid=rc --no-changelog --ignore-scripts --yes
-
+ env:
+ SkipSyncup: ${{ github.event.inputs.skip-sync-version-pkg }}
+
- name: version rc npm packages to npmjs.org on hotfix
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.preid == 'rc' && startsWith(github.ref, 'refs/heads/hotfix/') && github.event.inputs.skip-version-rc == 'no'}}
run: |
npx lerna version --conventional-commits --conventional-prerelease --preid=rc-hotfix --no-changelog --allow-branch ${GITHUB_REF#refs/*/} --ignore-scripts --yes
+ env:
+ SkipSyncup: ${{ github.event.inputs.skip-sync-version-pkg }}
- name: version stable npm packages to npmjs.org
if: ${{ github.event_name == 'workflow_dispatch' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/heads/hotfix/')) && github.event.inputs.preid == 'stable' }}
run: |
npx lerna version --conventional-commits --conventional-graduate --no-changelog --allow-branch ${GITHUB_REF#refs/*/} --yes
-
+ env:
+ SkipSyncup: ${{ github.event.inputs.skip-sync-version-pkg }}
+
- name: version change
id: version-change
run: |
@@ -105,6 +110,8 @@ jobs:
echo "::set-output name=TEMPLATE_VERSION::$(git tag --points-at HEAD | grep templates)"
echo "::set-output name=EXTENSION_VERSION_NUM::$(git tag --points-at HEAD | grep ms-teams-vscode-extension@ | cut -d '@' -f2)"
echo "::set-output name=EXTENSION_VERSION::$(git tag --points-at HEAD | grep ms-teams-vscode-extension@)"
+ echo "::set-output name=SIMPLEAUTH_VERSION::$(git tag --points-at HEAD | grep simpleauth)"
+ echo "::set-output name=SIMPLEAUTH_VERSION_NUM::$(git tag --points-at HEAD| grep simpleauth| cut -d '@' -f2)"
if git tag --points-at HEAD | grep templates | grep rc;
then
git push -d origin $(git tag --points-at HEAD | grep templates | grep rc)
@@ -179,6 +186,58 @@ jobs:
- name: cleanup templates
run: rm -rf ./*.zip && git clean -df
+ - name: trigger simpleauth azure build pipeline for stable release
+ if: ${{ contains(steps.version-change.outputs.CHANGED, 'simpleauth') && github.event_name == 'workflow_dispatch' && github.event.inputs.preid == 'stable' }}
+ uses: Azure/pipelines@v1
+ with:
+ azure-devops-project-url: 'https://dev.azure.com/mseng/VSIoT'
+ azure-pipeline-name: 'Build Simple Auth Release Artifacts'
+ azure-devops-token: '${{ secrets.ADO_PAT }}'
+
+ - name: check build status and download assets for stable release
+ if: ${{ contains(steps.version-change.outputs.CHANGED, 'simpleauth') && github.event_name == 'workflow_dispatch' && github.event.inputs.preid == 'stable' }}
+ run: |
+ output=$(./.github/scripts/simpleauth-azdo-pipelines.sh ${{ secrets.ADO_PAT }} 11303 >&1)
+ echo $output
+ asset_id=$(echo $output | rev |cut -d ' ' -f 1 | rev)
+ curl "https://dev.azure.com/mseng/_apis/resources/Containers/$asset_id/drop?itemPath=drop/Microsoft.TeamsFx.SimpleAuth_${{ steps.version-change.outputs.SIMPLEAUTH_VERSION_NUM }}.zip" -L -O -u :${{ secrets.ADO_PAT }}
+ if [ ! -f Microsoft.TeamsFx.*.zip ]; then exit 1; fi
+
+ - name: build SimpleAuth on prerelease
+ if: ${{ contains(steps.version-change.outputs.CHANGED, 'simpleauth') && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' && github.event.inputs.preid != 'stable') }}
+ run: |
+ dotnet build --configuration Release
+ zip -r -j ../../Microsoft.TeamsFx.SimpleAuth_${{ steps.version-change.outputs.SIMPLEAUTH_VERSION_NUM }}.zip src/TeamsFxSimpleAuth/bin/Release/*
+ working-directory: ./packages/simpleauth
+
+ - name: download simpleauth to fx-core
+ uses: nick-invision/retry@v2
+ with:
+ timeout_minutes: 10
+ max_attempts: 10
+ retry_on: error
+ command: |
+ if [ -f Microsoft.TeamsFx.SimpleAuth_*.zip ]; then
+ cp Microsoft.TeamsFx.SimpleAuth_*.zip packages/fx-core/templates/plugins/resource/simpleauth/SimpleAuth.zip
+ else
+ ./.github/scripts/downloadSimpleAuth.ps1
+ fi
+ - name: publish alpha simpleauth to github release page
+ if: ${{ contains(steps.version-change.outputs.CHANGED, 'simpleauth') && github.ref == 'refs/heads/dev' }}
+ uses: ncipollo/release-action@v1.7.3
+ with:
+ token: ${{ secrets.CD_PAT }}
+ tag: 'simpleauth-${{steps.version-change.outputs.SIMPLEAUTH_VERSION_NUM}}'
+ artifacts: Microsoft.TeamsFx.SimpleAuth_*.zip
+
+ - name: publish simpleauth to github release page
+ if: ${{ contains(steps.version-change.outputs.CHANGED, 'simpleauth') && github.ref == 'refs/heads/main'}}
+ uses: ncipollo/release-action@v1.7.3
+ with:
+ token: ${{ secrets.CD_PAT }}
+ tag: ${{ steps.version-change.outputs.SIMPLEAUTH_VERSION }}
+ artifacts: Microsoft.TeamsFx.SimpleAuth_*.zip
+
- name: publish alpha release to npm org
if: ${{ github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/dev' && github.event.inputs.preid == 'alpha')}}
run: |
diff --git a/.gitignore b/.gitignore
index e394e1ed14..caef508868 100644
--- a/.gitignore
+++ b/.gitignore
@@ -368,6 +368,7 @@ test-results.*
# simple auth
SimpleAuth.zip
SimpleAuthUnzipOutput
+Microsoft.TeamsFx.SimpleAuth_*.zip
# so you can npm install inside a template and not worry about committing
templates/*/*/package-lock.json
diff --git a/lerna.json b/lerna.json
index cfd1a4b99a..7c20b2a6aa 100644
--- a/lerna.json
+++ b/lerna.json
@@ -7,6 +7,7 @@
"packages/cli",
"packages/vscode-extension",
"packages/failpoint-ts",
+ "packages/simpleauth",
"templates"
],
"command": {
diff --git a/packages/sdk/package.json b/packages/sdk/package.json
index 6d60a2f138..9e39cfef5d 100644
--- a/packages/sdk/package.json
+++ b/packages/sdk/package.json
@@ -38,8 +38,8 @@
"test:unit": "npm run build:test && npm run unit-test:node && npm run unit-test:browser",
"ui-test": "mocha --no-timeouts -r test/mocha.env.ts -r ts-node/register test/ui/**/*.spec.ts --exit",
"precommit": "lint-staged",
- "version": "../../.github/scripts/sdk-version.sh",
- "postversion": "../../.github/scripts/sdk-postversion.sh"
+ "version": "../../.github/scripts/pkg-version.sh templates",
+ "postversion": "../../.github/scripts/pkg-postversion.sh templates"
},
"files": [
"dist/",
diff --git a/packages/simpleauth/package-lock.json b/packages/simpleauth/package-lock.json
new file mode 100644
index 0000000000..0157e2dddb
--- /dev/null
+++ b/packages/simpleauth/package-lock.json
@@ -0,0 +1,87 @@
+{
+ "name": "simpleauth",
+ "version": "0.1.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "fs-extra": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz",
+ "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
+ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ },
+ "xml2js": {
+ "version": "0.4.23",
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+ "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+ "dev": true,
+ "requires": {
+ "sax": ">=0.6.0",
+ "xmlbuilder": "~11.0.0"
+ }
+ },
+ "xmlbuilder": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ }
+ }
+}
diff --git a/packages/simpleauth/package.json b/packages/simpleauth/package.json
new file mode 100644
index 0000000000..efdb077146
--- /dev/null
+++ b/packages/simpleauth/package.json
@@ -0,0 +1,16 @@
+{
+ "name": "simpleauth",
+ "version": "0.1.0",
+ "description": "The Simple Auth is a backend service helping Teams tab app access first/third party services from client side.",
+ "scripts": {
+ "version": "../../.github/scripts/pkg-version.sh fx-core && git add .",
+ "postversion": "../../.github/scripts/pkg-postversion.sh fx-core && git add ."
+ },
+ "private": "true",
+ "license": "MIT",
+ "devDependencies": {
+ "fs-extra": "^10.0.0",
+ "semver": "^7.3.5",
+ "xml2js": "^0.4.23"
+ }
+}
diff --git a/packages/simpleauth/src/TeamsFxSimpleAuth.Tests/Microsoft.TeamsFx.SimpleAuth.Tests.csproj b/packages/simpleauth/src/TeamsFxSimpleAuth.Tests/Microsoft.TeamsFx.SimpleAuth.Tests.csproj
index 619d92e49a..bbe6ddc524 100644
--- a/packages/simpleauth/src/TeamsFxSimpleAuth.Tests/Microsoft.TeamsFx.SimpleAuth.Tests.csproj
+++ b/packages/simpleauth/src/TeamsFxSimpleAuth.Tests/Microsoft.TeamsFx.SimpleAuth.Tests.csproj
@@ -28,7 +28,7 @@
-
+
diff --git a/packages/simpleauth/src/TeamsFxSimpleAuth.Tests/appsettings.IntegrationTests.json b/packages/simpleauth/src/TeamsFxSimpleAuth.Tests/appsettings.IntegrationTests.json
index 6536092a49..8a64d5c588 100644
--- a/packages/simpleauth/src/TeamsFxSimpleAuth.Tests/appsettings.IntegrationTests.json
+++ b/packages/simpleauth/src/TeamsFxSimpleAuth.Tests/appsettings.IntegrationTests.json
@@ -25,4 +25,4 @@
"TestPassword2": "__TEST_PASSWORD_2__",
"Scope": "access_as_user"
}
-}
+}
\ No newline at end of file