Skip to content

Commit 53791ea

Browse files
committed
Merge branch 'vnext' of https://github.com/pksorensen/pks-cli into vnext
2 parents c7a9e99 + 6ec9d8e commit 53791ea

File tree

15 files changed

+271
-24
lines changed

15 files changed

+271
-24
lines changed

.github/workflows/build-base-images.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ on:
77
- vnext
88
paths:
99
- 'templates/base-images/**'
10+
- 'src/**'
1011
workflow_dispatch:
1112
inputs:
1213
image:
@@ -94,8 +95,8 @@ jobs:
9495
- name: Build and push
9596
uses: docker/build-push-action@v5
9697
with:
97-
context: templates/base-images
98-
file: templates/base-images/${{ matrix.image.dockerfile }}
98+
context: ${{ matrix.image.context || 'templates/base-images' }}
99+
file: ${{ matrix.image.dockerfile }}
99100
push: true
100101
tags: ${{ steps.meta.outputs.tags }}
101102
labels: ${{ steps.meta.outputs.labels }}

.github/workflows/release-please.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ jobs:
182182
- name: Setup Node.js
183183
uses: actions/setup-node@v4
184184
with:
185-
node-version: '20'
185+
node-version: '24'
186186
registry-url: 'https://registry.npmjs.org'
187187

188188
- name: Download npm packages
@@ -192,8 +192,6 @@ jobs:
192192
path: ./packages
193193

194194
- name: Publish to npm
195-
env:
196-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
197195
run: |
198196
VERSION="${{ needs.release-please.outputs.cli_version }}"
199197
@@ -207,7 +205,7 @@ jobs:
207205
fi
208206
209207
echo "Publishing version $VERSION to '$TAG' channel..."
210-
PUBLISH_FLAGS="--access public --tag $TAG"
208+
PUBLISH_FLAGS="--access public --tag $TAG --provenance"
211209
212210
# Publish platform packages first (they are optionalDependencies)
213211
for package in ./packages/pks-cli-cli-{linux,osx,win}-*.tgz; do

.release-please-manifest.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
2-
"src": "5.0.0-rc.1",
3-
"templates/devcontainer": "5.0.0-rc.1",
4-
"templates/claude-dotnet-9": "5.0.0-rc.1",
5-
"templates/claude-dotnet-10-full": "5.0.0-rc.1",
6-
"templates/pks-fullstack": "5.0.0-rc.1"
2+
"src": "5.1.3-rc.28",
3+
"templates/devcontainer": "4.0.0-rc.11",
4+
"templates/claude-dotnet-9": "3.0.0-rc.11",
5+
"templates/claude-dotnet-10-full": "4.0.0-rc.11",
6+
"templates/pks-fullstack": "3.0.0-rc.13"
77
}

release-please-config.vnext.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
33
"prerelease": true,
44
"prerelease-type": "rc",
5-
"separate-pull-requests": false,
5+
"separate-pull-requests": true,
66
"bump-minor-pre-major": true,
77
"bump-patch-for-minor-pre-major": true,
88
"include-v-in-tag": true,

src/CHANGELOG.md

Lines changed: 161 additions & 0 deletions
Large diffs are not rendered by default.

src/Commands/Ado/AdoInitCommand.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
namespace PKS.Commands.Ado;
88

99
/// <summary>
10-
/// Interactive Azure DevOps authentication via OAuth2 authorization code + PKCE
10+
/// Interactive Azure DevOps authentication via OAuth2 authorization code + PKCE.
11+
/// Opens browser for user consent, exchanges code for tokens, and stores
12+
/// credentials for use with git credential helper.
1113
/// </summary>
1214
[Description("Authenticate with Azure DevOps")]
1315
public class AdoInitCommand : Command<AdoInitCommand.Settings>

src/Commands/Ado/AdoSettings.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33

44
namespace PKS.Commands.Ado;
55

6+
/// <summary>
7+
/// Shared settings for Azure DevOps commands.
8+
/// </summary>
69
public class AdoSettings : CommandSettings
710
{
811
[CommandOption("-v|--verbose")]

src/Commands/Ado/AdoStatusCommand.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
namespace PKS.Commands.Ado;
77

88
/// <summary>
9-
/// Display current Azure DevOps authentication status
9+
/// Displays current Azure DevOps authentication status including user profile,
10+
/// selected organization, and token refresh timestamps.
1011
/// </summary>
1112
[Description("Show Azure DevOps authentication status")]
1213
public class AdoStatusCommand : Command<AdoSettings>
@@ -49,6 +50,8 @@ private async Task<int> ExecuteAsync()
4950
table.AddRow("Org URL", Markup.Escape($"https://dev.azure.com/{credentials.SelectedOrg}"));
5051
table.AddRow("Authenticated", credentials.CreatedAt.ToString("yyyy-MM-dd HH:mm:ss UTC"));
5152
table.AddRow("Last Refreshed", credentials.LastRefreshedAt.ToString("yyyy-MM-dd HH:mm:ss UTC"));
53+
var tokenStatus = string.IsNullOrEmpty(credentials.RefreshToken) ? "[red]Missing[/]" : "[green]Present[/]";
54+
table.AddRow("Refresh Token", tokenStatus);
5255

5356
_console.Write(table);
5457
return 0;

src/Commands/GitHub/Runner/RunnerStartCommand.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,8 @@ public async Task<int> ExecuteAsync(CommandContext context, Settings settings)
135135
await using var credentialServer = new GitCredentialServer(
136136
_authService,
137137
firstRegistration.Id,
138-
msg => {
138+
msg =>
139+
{
139140
try { File.AppendAllText(logPath, $"[{DateTime.UtcNow:yyyy-MM-dd HH:mm:ss}] [cred-server] {msg}\n"); } catch { }
140141
});
141142
await credentialServer.StartAsync();

src/Infrastructure/Services/Runner/GitCredentialServer.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,15 @@ public async Task StartAsync(CancellationToken ct = default)
7373
await _app.StartAsync(ct);
7474

7575
// Make socket world-accessible so container users (e.g. 'node') can connect
76-
if (File.Exists(_socketPath))
76+
if (OperatingSystem.IsLinux() || OperatingSystem.IsMacOS())
7777
{
78-
File.SetUnixFileMode(_socketPath,
79-
UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute |
80-
UnixFileMode.GroupRead | UnixFileMode.GroupWrite | UnixFileMode.GroupExecute |
81-
UnixFileMode.OtherRead | UnixFileMode.OtherWrite | UnixFileMode.OtherExecute);
78+
if (File.Exists(_socketPath))
79+
{
80+
File.SetUnixFileMode(_socketPath,
81+
UnixFileMode.UserRead | UnixFileMode.UserWrite | UnixFileMode.UserExecute |
82+
UnixFileMode.GroupRead | UnixFileMode.GroupWrite | UnixFileMode.GroupExecute |
83+
UnixFileMode.OtherRead | UnixFileMode.OtherWrite | UnixFileMode.OtherExecute);
84+
}
8285
}
8386
}
8487

0 commit comments

Comments
 (0)