Skip to content

Commit

Permalink
Merge pull request #2652 from github/mbg/private-registries/feed-outputs
Browse files Browse the repository at this point in the history
Add private registry URLs as output to the `start-proxy` Action
  • Loading branch information
mbg authored Dec 16, 2024
2 parents dd75594 + 38fd34c commit 9d59969
Show file tree
Hide file tree
Showing 7 changed files with 118 additions and 1 deletion.
80 changes: 80 additions & 0 deletions .github/workflows/__start-proxy.yml

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

4 changes: 4 additions & 0 deletions lib/start-proxy-action.js

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

2 changes: 1 addition & 1 deletion lib/start-proxy-action.js.map

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

1 change: 1 addition & 0 deletions pr-checks/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
env
25 changes: 25 additions & 0 deletions pr-checks/checks/start-proxy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: "Start proxy"
description: "Tests that the proxy can be initialised on all platforms"
operatingSystems: ["ubuntu", "macos", "windows"]
versions: ["linked"]
steps:
- uses: ./../action/init
with:
languages: csharp
tools: ${{ steps.prepare-test.outputs.tools-url }}

- name: Setup proxy for registries
id: proxy
uses: ./../action/start-proxy
with:
registry_secrets: '[{ "type": "nuget_feed", "url": "https://api.nuget.org/v3/index.json" }]'

- name: Print proxy outputs
run: |
echo "${{ steps.proxy.outputs.proxy_host }}"
echo "${{ steps.proxy.outputs.proxy_port }}"
echo "${{ steps.proxy.outputs.proxy_urls }}"
- name: Fail if proxy outputs are not set
if: (!steps.proxy.outputs.proxy_host) || (!steps.proxy.outputs.proxy_port) || (!steps.proxy.outputs.proxy_ca_certificate) || (!steps.proxy.outputs.proxy_urls)
run: exit 1
5 changes: 5 additions & 0 deletions src/start-proxy-action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,11 @@ async function startProxy(
core.setOutput("proxy_host", host);
core.setOutput("proxy_port", port.toString());
core.setOutput("proxy_ca_certificate", config.ca.cert);

const registry_urls = config.all_credentials
.filter((credential) => credential.url !== undefined)
.map((credential) => credential.url);
core.setOutput("proxy_urls", JSON.stringify(registry_urls));
} catch (error) {
core.setFailed(`start-proxy action failed: ${util.getErrorMessage(error)}`);
}
Expand Down
2 changes: 2 additions & 0 deletions start-proxy/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ outputs:
description: The port of the proxy
proxy_ca_certificate:
description: The proxy's internal CA certificate in PEM format
proxy_urls:
description: The URLs of the configured registries, as a JSON array.
runs:
using: node20
main: "../lib/start-proxy-action.js"
Expand Down

0 comments on commit 9d59969

Please sign in to comment.