Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
304 commits
Select commit Hold shift + click to select a range
0b7af44
Update main.yml
anilnair00 Sep 23, 2025
a8535c6
Update main.yml
anilnair00 Sep 23, 2025
8bce512
Update main.yml
anilnair00 Sep 23, 2025
6b7b685
Update main.yml
anilnair00 Sep 23, 2025
7acb750
Update main.yml
anilnair00 Sep 23, 2025
57d165f
Update main.yml
anilnair00 Sep 23, 2025
b0bfe91
Update main.yml
anilnair00 Sep 23, 2025
e212305
Update main.yml
anilnair00 Sep 23, 2025
1e1147b
Update main.yml
anilnair00 Sep 23, 2025
c049494
Update main.yml
anilnair00 Sep 23, 2025
c46d154
Update main.yml
anilnair00 Sep 23, 2025
10cd3c2
Update main.yml
anilnair00 Sep 23, 2025
c7a35fe
Update main.yml
anilnair00 Sep 23, 2025
7370893
Update main.yml
anilnair00 Sep 23, 2025
43e6ced
Update main.yml
anilnair00 Sep 23, 2025
8a5899b
Update main.yml
anilnair00 Sep 23, 2025
534e67a
Update main.yml
anilnair00 Sep 24, 2025
b1ed98f
Update main.yml
anilnair00 Sep 24, 2025
5255e06
Update main.yml
anilnair00 Sep 24, 2025
24d803a
Update main.yml
anilnair00 Sep 24, 2025
e52ec6d
Update main.yml
anilnair00 Sep 24, 2025
143a448
Update main.yml
anilnair00 Sep 24, 2025
0975082
Update main.yml
anilnair00 Sep 24, 2025
10cbc5d
Update main.yml
anilnair00 Sep 24, 2025
f340114
Update main.yml
anilnair00 Sep 24, 2025
72d4e0a
Update main.yml
anilnair00 Sep 24, 2025
14d8a89
Update main.yml
anilnair00 Sep 24, 2025
ebd5b44
Update main.yml
anilnair00 Sep 24, 2025
3a66cfb
Update main.yml
anilnair00 Sep 24, 2025
63f6309
Update main.yml
anilnair00 Sep 24, 2025
e13eec6
Update main.yml
anilnair00 Sep 24, 2025
90328ed
Update main.yml
anilnair00 Sep 24, 2025
858b456
Update main.yml
anilnair00 Sep 24, 2025
3ec431f
Update main.yml
anilnair00 Sep 24, 2025
cbec33e
Update main.yml
anilnair00 Sep 24, 2025
3024f02
Update main.yml
anilnair00 Sep 24, 2025
64d3f9e
Update main.yml
anilnair00 Sep 24, 2025
050d23c
Update main.yml
anilnair00 Sep 24, 2025
66cee55
Update main.yml
anilnair00 Sep 24, 2025
f955f22
Update main.yml
anilnair00 Sep 24, 2025
38a3f58
Update main.yml
anilnair00 Sep 24, 2025
5ee6745
Update main.yml
anilnair00 Sep 24, 2025
6772862
Update main.yml
anilnair00 Sep 24, 2025
9946c27
Update main.yml
anilnair00 Sep 24, 2025
9c1b38e
Update main.yml
anilnair00 Sep 24, 2025
8d66f6a
Merge pull request #1 from anilnair00/feature
anilnair00 Sep 24, 2025
4a97000
Update main.yml
anilnair00 Sep 25, 2025
a45815e
Update main.yml
anilnair00 Sep 25, 2025
0b17625
Merge pull request #2 from anilnair00/feature
anilnair00 Sep 25, 2025
d010adb
Update main.yml
anilnair00 Sep 25, 2025
53096ac
Update main.yml
anilnair00 Sep 25, 2025
66c311d
Merge pull request #3 from anilnair00/feature
anilnair00 Sep 25, 2025
5a5d35b
Update main.yml
anilnair00 Sep 25, 2025
a9fb77a
Update main.yml
anilnair00 Sep 25, 2025
3ff8e3a
Merge pull request #4 from anilnair00/feature
anilnair00 Sep 25, 2025
df57fa1
Update main.yml
anilnair00 Sep 25, 2025
81f11a9
Update main.yml
anilnair00 Sep 25, 2025
d856fe9
Merge pull request #5 from anilnair00/feature
anilnair00 Sep 25, 2025
0765a52
Update main.yml
anilnair00 Sep 25, 2025
64ec8fc
Update main.yml
anilnair00 Sep 25, 2025
24840b7
Merge pull request #6 from anilnair00/release
anilnair00 Sep 25, 2025
688b30f
Create linuxtest.yml
anilnair00 Sep 25, 2025
2811a46
Update linuxtest.yml
anilnair00 Sep 25, 2025
80ede54
Update linuxtest.yml
anilnair00 Sep 25, 2025
0540eae
Update linuxtest.yml
anilnair00 Sep 25, 2025
c72941e
Update linuxtest.yml
anilnair00 Sep 25, 2025
a30332e
Update linuxtest.yml
anilnair00 Sep 25, 2025
5ad315d
Update linuxtest.yml
anilnair00 Sep 25, 2025
70651a1
Update linuxtest.yml
anilnair00 Sep 25, 2025
60485cf
Update linuxtest.yml
anilnair00 Sep 25, 2025
4d73cdb
Update linuxtest.yml
anilnair00 Sep 25, 2025
b2cd0e0
Update linuxtest.yml
anilnair00 Sep 25, 2025
fcf67c2
Update linuxtest.yml
anilnair00 Sep 25, 2025
15a376e
Update linuxtest.yml
anilnair00 Sep 25, 2025
04155e2
Update linuxtest.yml
anilnair00 Sep 25, 2025
3144cad
Update linuxtest.yml
anilnair00 Sep 25, 2025
4e7f801
Update linuxtest.yml
anilnair00 Sep 25, 2025
b9e64b6
Update linuxtest.yml
anilnair00 Sep 25, 2025
f1529c1
Update linuxtest.yml
anilnair00 Sep 25, 2025
5467521
Update linuxtest.yml
anilnair00 Sep 25, 2025
7d46a92
Update linuxtest.yml
anilnair00 Sep 25, 2025
4a34c8b
Update linuxtest.yml
anilnair00 Sep 25, 2025
cf3331c
Update linuxtest.yml
anilnair00 Sep 25, 2025
c7e254c
Update linuxtest.yml
anilnair00 Sep 25, 2025
855c07a
Update linuxtest.yml
anilnair00 Sep 25, 2025
6e0db7f
Update linuxtest.yml
anilnair00 Sep 25, 2025
0af2eeb
Update linuxtest.yml
anilnair00 Sep 25, 2025
59ac9c3
Update linuxtest.yml
anilnair00 Sep 25, 2025
d45814b
Create deploy.ps1
anilnair00 Sep 25, 2025
1301d9f
Update linuxtest.yml
anilnair00 Sep 25, 2025
a3c3b22
Update linuxtest.yml
anilnair00 Sep 25, 2025
6c0172c
Update linuxtest.yml
anilnair00 Sep 26, 2025
408afdf
Create github.yml
anilnair00 Sep 26, 2025
1e4214e
Update github.yml
anilnair00 Sep 26, 2025
ba4e2ed
Update github.yml
anilnair00 Sep 26, 2025
e1d75ab
Update github.yml
anilnair00 Sep 26, 2025
72336ef
Update github.yml
anilnair00 Sep 26, 2025
cc46dfe
Update github.yml
anilnair00 Sep 26, 2025
fc6121a
Update github.yml
anilnair00 Sep 26, 2025
e53cbc4
Update github.yml
anilnair00 Sep 26, 2025
753deb2
Update github.yml
anilnair00 Sep 26, 2025
f1a2a9a
Update github.yml
anilnair00 Sep 26, 2025
e8e170d
Update github.yml
anilnair00 Sep 26, 2025
738bd28
Update github.yml
anilnair00 Sep 26, 2025
4fd34ee
Update github.yml
anilnair00 Sep 26, 2025
78d4ddf
Update github.yml
anilnair00 Sep 26, 2025
90720c7
Update github.yml
anilnair00 Sep 26, 2025
056b428
Update github.yml
anilnair00 Sep 26, 2025
c857100
Update github.yml
anilnair00 Sep 26, 2025
5a6a537
Update github.yml
anilnair00 Sep 26, 2025
e8a0f43
Update linuxtest.yml
anilnair00 Sep 26, 2025
f285ad8
Update github.yml
anilnair00 Sep 26, 2025
8dd512b
Update linuxtest.yml
anilnair00 Sep 26, 2025
be5531a
Update linuxtest.yml
anilnair00 Sep 26, 2025
b14da23
Update linuxtest.yml
anilnair00 Sep 26, 2025
1f8cbfa
Update linuxtest.yml
anilnair00 Sep 26, 2025
d12837f
Update linuxtest.yml
anilnair00 Sep 26, 2025
78cf6da
Update linuxtest.yml
anilnair00 Sep 26, 2025
214c682
Update linuxtest.yml
anilnair00 Sep 26, 2025
4943914
Update linuxtest.yml
anilnair00 Sep 26, 2025
2c173c7
Update linuxtest.yml
anilnair00 Sep 26, 2025
7b9d683
Update linuxtest.yml
anilnair00 Sep 26, 2025
6410c67
Update linuxtest.yml
anilnair00 Sep 26, 2025
e416f13
Update linuxtest.yml
anilnair00 Sep 26, 2025
1198c91
Update linuxtest.yml
anilnair00 Sep 26, 2025
adb3f54
Update linuxtest.yml
anilnair00 Sep 26, 2025
d0c1ea5
Update linuxtest.yml
anilnair00 Sep 26, 2025
9434a0c
Update linuxtest.yml
anilnair00 Sep 26, 2025
c3dcc9c
Update github.yml
anilnair00 Sep 29, 2025
ab9caf0
Update linuxtest.yml
anilnair00 Sep 29, 2025
0893505
Update linuxtest.yml
anilnair00 Sep 29, 2025
bbfc526
Update linuxtest.yml
anilnair00 Sep 29, 2025
b0a9fa6
Update linuxtest.yml
anilnair00 Sep 29, 2025
e765a49
Update linuxtest.yml
anilnair00 Sep 29, 2025
780dcf3
Update linuxtest.yml
anilnair00 Sep 29, 2025
991c444
Update linuxtest.yml
anilnair00 Sep 29, 2025
ced3c5e
Update linuxtest.yml
anilnair00 Sep 29, 2025
81249b2
Update linuxtest.yml
anilnair00 Sep 29, 2025
e26efb8
Update linuxtest.yml
anilnair00 Sep 29, 2025
d669be1
Update linuxtest.yml
anilnair00 Sep 29, 2025
8573502
Update linuxtest.yml
anilnair00 Sep 29, 2025
82196bc
Update github.yml
anilnair00 Sep 29, 2025
ede8795
Update github.yml
anilnair00 Sep 29, 2025
2b1ab5a
Update github.yml
anilnair00 Sep 29, 2025
c195c79
Update github.yml
anilnair00 Sep 29, 2025
e4fe763
Update github.yml
anilnair00 Sep 30, 2025
c692dc0
Create storage.yml
anilnair00 Sep 30, 2025
d9642f3
Update storage.yml
anilnair00 Sep 30, 2025
21b8b00
Update storage.yml
anilnair00 Sep 30, 2025
98f4fe1
Update storage.yml
anilnair00 Sep 30, 2025
0fbabae
Update storage.yml
anilnair00 Sep 30, 2025
a3aa3d0
Update storage.yml
anilnair00 Sep 30, 2025
685b75d
Update storage.yml
anilnair00 Sep 30, 2025
ff4fc3a
Update storage.yml
anilnair00 Sep 30, 2025
2aee5d4
Update storage.yml
anilnair00 Sep 30, 2025
bdc3dd4
Update storage.yml
anilnair00 Sep 30, 2025
af47810
Update storage.yml
anilnair00 Sep 30, 2025
09042fc
Update storage.yml
anilnair00 Sep 30, 2025
7b6405b
Update storage.yml
anilnair00 Sep 30, 2025
5f10722
Update storage.yml
anilnair00 Sep 30, 2025
fdc6ba8
Update storage.yml
anilnair00 Sep 30, 2025
0197cba
Update storage.yml
anilnair00 Sep 30, 2025
3b6dc4c
Rename deploy.ps1 to deploytest.ps1
anilnair00 Sep 30, 2025
cb8df45
Create deploy.ps1
anilnair00 Sep 30, 2025
751cfbf
Update storage.yml
anilnair00 Sep 30, 2025
b4d5a52
Update storage.yml
anilnair00 Sep 30, 2025
4f534e0
Update storage.yml
anilnair00 Sep 30, 2025
810d6e0
Update storage.yml
anilnair00 Sep 30, 2025
88fff2d
Update storage.yml
anilnair00 Sep 30, 2025
765b089
Update storage.yml
anilnair00 Sep 30, 2025
b70ff7c
Add files via upload
anilnair00 Oct 15, 2025
487d668
Add files via upload
anilnair00 Oct 15, 2025
8a444a3
Delete CircleApp.Data/AirCanada.eHR.eLang.Entities.0.0.1.nupkg
anilnair00 Oct 15, 2025
6401f8d
Delete .github/workflows directory
anilnair00 Oct 15, 2025
a4c4ed0
Add GitHub Actions workflow for storage deployment
anilnair00 Oct 15, 2025
8611be6
Add Linux testing workflow for CircleApp
anilnair00 Oct 15, 2025
50bbd95
Add GitHub Actions workflow for CI/CD
anilnair00 Oct 15, 2025
5dd2a51
Enable overwrite option for CircleApp zip upload
anilnair00 Oct 31, 2025
ec3b089
Fix PowerShell script formatting in storage.yml
anilnair00 Oct 31, 2025
f829c6d
Comment out overwrite option in storage workflow
anilnair00 Oct 31, 2025
515c978
Update storage.yml
anilnair00 Oct 31, 2025
abbae3a
Update storage.yml
anilnair00 Oct 31, 2025
c54fcf6
Rename container from 'artifacts' to 'Artifacts'
anilnair00 Nov 3, 2025
b787888
Fix case sensitivity in SCP destination path
anilnair00 Nov 3, 2025
4bd912b
Fix SCP destination path in linuxtest.yml
anilnair00 Nov 3, 2025
be54711
Add new workflow for storage testing
anilnair00 Nov 3, 2025
8a2fca8
Rename workflow and modify download path
anilnair00 Nov 3, 2025
2db8fb1
Install PowerShell in storagetesting2 workflow
anilnair00 Nov 3, 2025
617429b
Specify shell for IIS deployment step
anilnair00 Nov 3, 2025
b4da1b9
Change deployment method to SSH for IIS
anilnair00 Nov 3, 2025
cedcc44
Update storagetesting2.yml
anilnair00 Nov 3, 2025
29d5cd4
Update storage.yml
anilnair00 Nov 3, 2025
879506f
Refactor PowerShell script syntax in storage.yml
anilnair00 Nov 3, 2025
298142d
Add Azure CLI login command to workflow
anilnair00 Nov 3, 2025
f761858
Fix formatting of az login command in storage.yml
anilnair00 Nov 3, 2025
431020f
Update storage.yml
anilnair00 Nov 3, 2025
51f4bbe
Modify Azure CLI login to use password
anilnair00 Nov 3, 2025
1d560e8
Refactor Azure VM deployment script in storage.yml
anilnair00 Nov 3, 2025
5656333
Refactor deployment to use az vm run-command
anilnair00 Nov 3, 2025
8494a5a
Fix indentation for Deploy to IIS VM step
anilnair00 Nov 3, 2025
cd19692
Refactor Azure CLI and IIS VM deployment steps
anilnair00 Nov 3, 2025
026f8e5
Modify Azure CLI deployment step in workflow
anilnair00 Nov 3, 2025
10407b5
Update Azure CLI deployment method in workflow
anilnair00 Nov 3, 2025
3334de8
Enhance Azure CLI installation with size check
anilnair00 Nov 3, 2025
64a1bc2
Refactor Azure CLI installation in workflow
anilnair00 Nov 3, 2025
77763e4
Modify Azure CLI installation for Ubuntu 24.04
anilnair00 Nov 3, 2025
c20c360
Refactor Azure CLI installation and add IIS deployment
anilnair00 Nov 3, 2025
3c139c2
Change SCP destination path to use Windows format
anilnair00 Nov 3, 2025
b6d35ae
Update linuxtest.yml
anilnair00 Nov 3, 2025
42a2b99
Update linuxtest.yml
anilnair00 Nov 3, 2025
f570857
Update linuxtest.yml
anilnair00 Nov 3, 2025
115b1b2
Fix sshpass command for password option
anilnair00 Nov 3, 2025
b3995a3
Fix sshpass command for artifact copying
anilnair00 Nov 3, 2025
3f852f8
Fix Azure CLI commands and container naming
anilnair00 Nov 4, 2025
dbd96ea
Update storagetesting2.yml
anilnair00 Nov 4, 2025
24e99f9
Comment out PowerShell installation in storagetesting2.yml
anilnair00 Nov 4, 2025
25b0237
Fix script path in storagetesting2.yml
anilnair00 Nov 4, 2025
4110bac
Update script path in storage testing workflow
anilnair00 Nov 4, 2025
0ff5cb6
Update storagetesting2.yml
anilnair00 Nov 4, 2025
e3e64b9
Update storagetesting2.yml
anilnair00 Nov 4, 2025
db97ee7
Update script path in Azure VM command
anilnair00 Nov 4, 2025
9dc0ca1
Update storagetesting2.yml
anilnair00 Nov 4, 2025
0f3e2a8
Update storagetesting2.yml
anilnair00 Nov 4, 2025
ee3ccb0
Create deploy.ps1
anilnair00 Nov 4, 2025
e65e6ac
Update storagetesting2.yml
anilnair00 Nov 4, 2025
ae468b9
Update storage.yml
anilnair00 Nov 4, 2025
f64f8fe
Update storage.yml
anilnair00 Nov 4, 2025
3f2d546
Update linuxtest.yml
anilnair00 Nov 5, 2025
bcd8fdc
Update storagetesting2.yml
anilnair00 Nov 5, 2025
196fa97
Update storagetesting2.yml
anilnair00 Nov 5, 2025
0996341
Update storagetesting2.yml
anilnair00 Nov 5, 2025
268907a
Update linuxtest.yml
anilnair00 Nov 5, 2025
4ba1d37
Update linuxtest.yml
anilnair00 Nov 5, 2025
59dfd5d
Update linuxtest.yml
anilnair00 Nov 6, 2025
bb66695
Update linuxtest.yml
anilnair00 Nov 6, 2025
8cf36fe
Update linuxtest.yml
anilnair00 Nov 11, 2025
344de06
Update linuxtest.yml
anilnair00 Nov 11, 2025
f47247d
Update linuxtest.yml
anilnair00 Nov 11, 2025
03b58c0
Update linuxtest.yml
anilnair00 Nov 11, 2025
ca47ad5
Create azureartifact.yml
anilnair00 Nov 14, 2025
99d2d88
Update azureartifact.yml
anilnair00 Nov 14, 2025
36c5028
Update azureartifact.yml
anilnair00 Nov 14, 2025
63585c1
Update azureartifact.yml
anilnair00 Nov 14, 2025
52e415e
Update azureartifact.yml
anilnair00 Nov 14, 2025
5342107
Create main.yml
anilnair00 Nov 17, 2025
0aee7e3
Update resource group and VM name for deployment
anilnair00 Feb 4, 2026
e2a8dc2
Fix destination file path casing in workflow
anilnair00 Feb 4, 2026
681f5d0
Update deployment VM and resource group in workflow
anilnair00 Feb 4, 2026
227bf4d
Update deployment VM resource group and name
anilnair00 Feb 5, 2026
9b963ee
Update deployment target IP address in workflow
anilnair00 Feb 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions .github/workflows/azureartifact.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Publish Universal Package

on:
workflow_dispatch:

jobs:
publish:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'

- name: Restore dependencies
run: dotnet restore CircleApp.sln

- name: Build
run: dotnet build CircleApp/CircleApp.csproj --configuration Release --no-restore

- name: Publish project
run: dotnet publish CircleApp/CircleApp.csproj --configuration Release --output ./publish

- name: Create deployment zip
run: |
cd ./publish
zip -r ../CircleApp.zip .
cd ..

- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: CircleAppPackage
path: CircleApp.zip

# Install Azure CLI + DevOps extension
- name: Install Azure CLI
run: |
sudo apt-get update
sudo apt-get install -y azure-cli
az extension add --name azure-devops

- name: Azure DevOps Login
env:
AZURE_DEVOPS_EXT_PAT: ${{ secrets.AZURE_DEVOPS_PAT }}
run: |
echo "$AZURE_DEVOPS_EXT_PAT" | az devops login --organization "https://dev.azure.com/practice990/"

# required for ArtifactTool
export AZURE_DEVOPS_EXT_ARTIFACTTOOL_PATVAR=$AZURE_DEVOPS_EXT_PAT

- name: Download artifact
uses: actions/download-artifact@v4
with:
name: CircleAppPackage
path: CircleAppPackage

# Prepare folder for upload
# Universal Packages require a FOLDER, not a .zip file directly
- name: Prepare artifact folder
run: |
mkdir -p upload_folder
cp ./CircleApp.zip upload_folder/

- name: Publish Universal Package
env:
AZURE_DEVOPS_EXT_PAT: ${{ secrets.AZURE_DEVOPS_PAT }}
run: |
export AZURE_DEVOPS_EXT_ARTIFACTTOOL_PATVAR=$AZURE_DEVOPS_EXT_PAT

az artifacts universal publish \
--organization "https://dev.azure.com/practice990/" \
--project "test123" \
--scope project \
--feed "artifacts" \
--name "CircleApp" \
--version "1.0.0" \
--path "upload_folder"
187 changes: 187 additions & 0 deletions .github/workflows/github.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
name: github teting

on:
workflow_dispatch:
# pull_request:
# types: [opened, synchronize, reopened, closed]
# push:
# branches:
# - master
# - develop
# - release

env:
# AZURE_WEBAPP_NAME: "app-munson-api-eastus-dev-001"
ArtifactName: "TEST"

permissions:
contents: read
pages: write
id-token: write

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: '9.0.x'

- name: Restore dependencies
run: dotnet restore CircleApp.sln

- name: Build
run: dotnet build CircleApp/CircleApp.csproj --configuration Release --no-restore

- name: Publish project
run: dotnet publish CircleApp/CircleApp.csproj --configuration Release --output ./publish

- name: Create deployment zip
run: |
cd ./publish
zip -r ../CircleApp.zip .
cd ..

- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: CircleAppPackage
path: CircleApp.zip

deployOnDev:
runs-on: runner1
needs: build
# if: github.base_ref == 'master'
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: CircleAppPackage
path: CircleAppPackage

- name: Install Azure CLI
run: |
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash

- name: Login to Azure Subscription
uses: azure/login@v1
with:
client-id: ${{ secrets.DEV_AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
allow-no-subscriptions: true

# 3. Upload artifact into VM's C:\temp
- name: Upload artifact to VM
run: |
az vm run-command invoke \
--resource-group testvm_group \
--name testvm \
--command-id RunPowerShellScript \
--scripts "New-Item -Path 'C:\\temp\\' -ItemType Directory -Force"
# 3. Upload artifact into VM's C:\temp
- name: Upload artifact to VM
run: |
# First, copy the artifact to a location accessible by the VM
# Since we're on a self-hosted runner, we can access the workspace directly

# Create temp directory on VM
az vm run-command invoke \
--resource-group testvm_group \
--name testvm \
--command-id RunPowerShellScript \
--scripts "New-Item -Path 'C:\\temp\\' -ItemType Directory -Force"

# Remove old artifact if exists
az vm run-command invoke \
--resource-group testvm_group \
--name testvm \
--command-id RunPowerShellScript \
--scripts "Remove-Item -Path 'C:\\temp\\CircleApp.zip' -Force -ErrorAction SilentlyContinue"

# Copy the artifact from the GitHub runner to the VM using Azure file copy
# Note: This requires the VM to have proper network access and the service principal to have Storage permissions
az vm run-command invoke \
--resource-group testvm_group \
--name testvm \
--command-id RunPowerShellScript \
--scripts "Copy-Item 'CircleAppPackage/CircleApp.zip' -Destination 'C:\\temp\\'"

# - name: Set up SSH key
# run: |
# mkdir -p ~/.ssh
# echo "${{ secrets.IIS_SSH_KEY }}" > ~/.ssh/id_rsa
# chmod 600 ~/.ssh/id_rsa
# ssh-keyscan -H ${{ secrets.IIS_SSH_HOST }} >> ~/.ssh/known_hosts

# - name: Copy files to IIS server over SSH
# run: |
# scp -i ~/.ssh/id_rsa CircleAppPackage/CircleApp.zip sam@20.245.242.103:"C:/temp/"

# - name: Deploy on IIS using PowerShell over SSH
# run: |
# ssh -i ~/.ssh/id_rsa ${{ secrets.IIS_SSH_USER }}@${{ secrets.IIS_SSH_HOST }} 'powershell -Command "
# Expand-Archive -Path C:/Temp/CircleApp.zip -DestinationPath C:/inetpub/wwwroot/CircleApp -Force;
# iisreset
# # Restart-WebAppPool -Name \"DefaultAppPool\"
# "

################################################################################

# - name: Setup Python and Install WinRM client
# run: |
# python3 -m pip install --upgrade pip
# pip3 install pywinrm requests-ntlm

# - name: Deploy via WinRM
# run: |
# python3 - <<'EOF'
# import os, winrm, base64

# # --- Config ---
# win_host = "${{ secrets.IIS_HOST }}" # IIS public IP or DNS
# win_user = "${{ secrets.IIS_USER }}" # Windows user
# win_pass = "${{ secrets.IIS_PASSWORD }}" # Windows password
# local_folder = "CircleAppPackage/CircleApp.zip" # Build output folder on runner
# remote_temp = "C:\\temp\\" # Temp staging folder on IIS
# remote_wwwroot = "C:\\inetpub\\wwwroot\\CircleApp"

# # --- Connect to WinRM ---
# session = winrm.Session(
# f'http://{win_host}:5985/wsman',
# auth=(win_user, win_pass),
# transport='ntlm' # Use NTLM for Windows domain/local accounts
# )

# # --- Ensure temp folder exists ---
# session.run_ps(f"New-Item -Path {remote_temp} -ItemType Directory -Force")

# # --- Upload files one by one ---
# for root, dirs, files in os.walk(local_folder):
# for file in files:
# local_path = os.path.join(root, file)
# rel_path = os.path.relpath(local_path, local_folder)
# remote_path = os.path.join(remote_temp, rel_path).replace("/", "\\")
# remote_dir = os.path.dirname(remote_path)

# # ensure remote dir exists
# session.run_ps(f"New-Item -Path '{remote_dir}' -ItemType Directory -Force")

# # upload file content (base64 encode to avoid corruption)
# with open(local_path, "rb") as f:
# content = base64.b64encode(f.read()).decode("utf-8")
# ps_script = f"""
# $bytes = [System.Convert]::FromBase64String("{content}")
# [System.IO.File]::WriteAllBytes("{remote_path}", $bytes)
# """
# session.run_ps(ps_script)

# # --- Move to IIS wwwroot ---
# session.run_ps(f"Copy-Item {remote_temp}\\* {remote_wwwroot} -Recurse -Force")

# # --- Restart IIS ---
# r = session.run_ps("iisreset")
# print(r.std_out.decode(), r.std_err.decode())
# EOF
Loading