Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
505bd84
RTECO-1003 - Harden Access and Maven tests for cloud Artifactory beha…
naveenku-jfrog Apr 14, 2026
4cb4864
RTECO-1003 - Updated pipelines.yml
naveenku-jfrog Apr 14, 2026
ba2c510
RTECO-1003 - Updated pipeline names
naveenku-jfrog Apr 14, 2026
4291827
RTECO-1003 - Add dedicated jfrog_cli_tests status step
naveenku-jfrog Apr 14, 2026
c377366
RTECO-1003 - Fix jfrog_cli_tests_status onExecute YAML scalars
naveenku-jfrog Apr 14, 2026
3ad12af
RTECO-1003 - Default workflow dispatch ref to master
naveenku-jfrog Apr 14, 2026
b3f9a27
RTECO-1003 - Allow dispatching jfrog-cli tests from branch ref
naveenku-jfrog Apr 14, 2026
bd0cf50
RTECO-1003 - Point workflows dispatch ref to podman feature branch
naveenku-jfrog Apr 14, 2026
0973dd7
RTECO-1003 - Harden jfrog_cli_tests status reporting to PropertyBag
naveenku-jfrog Apr 14, 2026
45b5714
RTECO-1003 - Exclude Podman tests from pipeline dispatch
naveenku-jfrog Apr 14, 2026
3ec7773
RTECO-1003 - Remove jfrog_cli_tests_status step, re-include Podman te…
naveenku-jfrog Apr 14, 2026
c7cb5f3
RTECO-1003 - Increase Maven artifact deletion timeout for eventual co…
naveenku-jfrog Apr 14, 2026
b5fa86a
RTECO-1003 - Fix native npm publish auth for npm 10 compatibility
naveenku-jfrog Apr 14, 2026
084a444
RTECO-1003 - Add external Artifactory support to all test workflows
naveenku-jfrog Apr 15, 2026
7d35ca2
RTECO-1003 - Add test-suites.json manifest for dynamic test discovery
naveenku-jfrog Apr 15, 2026
1c6ee8f
RTECO-1003 - Add yarn install to npm suite setup script
naveenku-jfrog Apr 15, 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
55 changes: 55 additions & 0 deletions .github/actions/install-local-artifactory/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: "Setup Local Artifactory"
description: "Setup Local Artifactory or connect to an external JFrog Platform instance"
inputs:
RTLIC:
description: "Local Artifactory License. Not required when JFROG_URL is provided."
required: false
JFROG_HOME:
description: "JFrog Home."
required: false
VERSION:
description: "Artifactory Version. Default is latest."
required: false
RT_SETUP_VERSION:
description: "Version of the local-rt-setup tool. Default is latest."
required: false
default: "1.3.9"
RT_CONNECTION_TIMEOUT_SECONDS:
description: "Connection timeout for the local Artifactory to be up."
required: false
default: "1200"
JFROG_URL:
description: "External JFrog Platform URL. If provided, skip local Artifactory install and use this instance instead."
required: false
JFROG_ADMIN_TOKEN:
description: "Admin token for external JFrog Platform. Required when JFROG_URL is set."
required: false

runs:
using: "composite"
steps:
- name: Setup Artifactory
run: |
if [ -n "${JFROG_URL}" ]; then
echo "Using external Artifactory at: ${JFROG_URL}"
echo "JFROG_TESTS_LOCAL_ACCESS_TOKEN=${JFROG_ADMIN_TOKEN}" >> $GITHUB_ENV
echo "JFROG_TESTS_URL=${JFROG_URL}" >> $GITHUB_ENV
echo "JFROG_TESTS_IS_EXTERNAL=true" >> $GITHUB_ENV
else
go install github.com/jfrog/jfrog-testing-infra/local-rt-setup@${RT_SETUP_VERSION}
if [ -n "${VERSION}" ]; then
~/go/bin/local-rt-setup --rt-version "${VERSION}" --connection-timeout-seconds "${RT_CONNECTION_TIMEOUT_SECONDS}"
else
~/go/bin/local-rt-setup --connection-timeout-seconds "${RT_CONNECTION_TIMEOUT_SECONDS}"
fi
echo "JFROG_TESTS_URL=http://127.0.0.1:8082" >> $GITHUB_ENV
fi
shell: bash
env:
RTLIC: ${{ inputs.RTLIC }}
JFROG_HOME: ${{ inputs.JFROG_HOME }}
VERSION: ${{ inputs.VERSION }}
RT_SETUP_VERSION: ${{ inputs.RT_SETUP_VERSION }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ inputs.RT_CONNECTION_TIMEOUT_SECONDS }}
JFROG_URL: ${{ inputs.JFROG_URL }}
JFROG_ADMIN_TOKEN: ${{ inputs.JFROG_ADMIN_TOKEN }}
18 changes: 17 additions & 1 deletion .github/workflows/accessTests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: Access Tests
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -75,6 +86,8 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}

- name: Get ID Token and Exchange Token
Expand All @@ -87,4 +100,7 @@ jobs:

- name: Run Access tests
if: matrix.os.name != 'macos'
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.access --jfrog.url=http://127.0.0.1:8082 --jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.access
--jfrog.url=${{ env.JFROG_TESTS_URL || 'http://127.0.0.1:8082' }}
--jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}
23 changes: 21 additions & 2 deletions .github/workflows/artifactoryTests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: Artifactory Tests
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -75,12 +86,20 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}

- name: Run Artifactory tests
if: ${{ matrix.suite == 'artifactory' && matrix.os.name != 'macos' }}
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.artifactory --jfrog.url=http://127.0.0.1:8082 --jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.artifactory
--jfrog.url=${{ env.JFROG_TESTS_URL || 'http://127.0.0.1:8082' }}
--jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}

- name: Run Artifactory projects tests
if: ${{ matrix.suite == 'artifactoryProject' && matrix.os.name != 'macos' }}
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.artifactoryProject --ci.runId=${{ runner.os }}-${{ matrix.suite }}
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.artifactoryProject
--ci.runId=${{ runner.os }}-${{ matrix.suite }}
${{ env.JFROG_TESTS_IS_EXTERNAL == 'true' && format('--jfrog.url={0} --jfrog.adminToken={1}', env.JFROG_TESTS_URL, env.JFROG_TESTS_LOCAL_ACCESS_TOKEN) || '' }}
17 changes: 16 additions & 1 deletion .github/workflows/conanTests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: Conan Tests
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -62,8 +73,12 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: '1200'

- name: Run Conan tests
if: matrix.os.name != 'macos'
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.conan
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.conan
${{ env.JFROG_TESTS_IS_EXTERNAL == 'true' && format('--jfrog.url={0} --jfrog.adminToken={1}', env.JFROG_TESTS_URL, env.JFROG_TESTS_LOCAL_ACCESS_TOKEN) || '' }}
17 changes: 16 additions & 1 deletion .github/workflows/gradleTests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: Gradle Tests
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -88,8 +99,12 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}

- name: Run Gradle tests
if: matrix.os.name != 'macos'
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.gradle
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.gradle
${{ env.JFROG_TESTS_IS_EXTERNAL == 'true' && format('--jfrog.url={0} --jfrog.adminToken={1}', env.JFROG_TESTS_URL, env.JFROG_TESTS_LOCAL_ACCESS_TOKEN) || '' }}
18 changes: 17 additions & 1 deletion .github/workflows/helmTests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: Helm Tests
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -81,6 +92,8 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}

- name: Get ID Token and Exchange Token
Expand All @@ -93,5 +106,8 @@ jobs:

- name: Run Helm tests
if: matrix.os.name != 'macos'
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.helm --jfrog.url=http://127.0.0.1:8082 --jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.helm
--jfrog.url=${{ env.JFROG_TESTS_URL || 'http://127.0.0.1:8082' }}
--jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}

18 changes: 17 additions & 1 deletion .github/workflows/huggingfaceTests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: HuggingFace Tests
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -86,6 +97,8 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}

- name: Get ID Token and Exchange Token
Expand All @@ -98,5 +111,8 @@ jobs:

- name: Run HuggingFace tests
if: matrix.os.name != 'macos'
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.huggingface --jfrog.url=http://127.0.0.1:8082 --jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.huggingface
--jfrog.url=${{ env.JFROG_TESTS_URL || 'http://127.0.0.1:8082' }}
--jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}

19 changes: 18 additions & 1 deletion .github/workflows/lifecycleTests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,17 @@ env:
JFROG_CLI_LOG_LEVEL: DEBUG
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -74,8 +85,14 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}

- name: Run Lifecycle tests
if: matrix.os.name != 'macos'
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.lifecycle --jfrog.url=http://127.0.0.1:8082 --jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }} --ci.runId=${{ runner.os }}-lifecycle
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.lifecycle
--jfrog.url=${{ env.JFROG_TESTS_URL || 'http://127.0.0.1:8082' }}
--jfrog.adminToken=${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}
--ci.runId=${{ runner.os }}-lifecycle
17 changes: 16 additions & 1 deletion .github/workflows/mavenTests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: Maven Tests
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -79,8 +90,12 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}

- name: Run Maven tests
if: matrix.os.name != 'macos'
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.maven
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.maven
${{ env.JFROG_TESTS_IS_EXTERNAL == 'true' && format('--jfrog.url={0} --jfrog.adminToken={1}', env.JFROG_TESTS_URL, env.JFROG_TESTS_LOCAL_ACCESS_TOKEN) || '' }}
17 changes: 16 additions & 1 deletion .github/workflows/npmTests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
name: npm Tests
on:
workflow_dispatch:
inputs:
jfrog_url:
description: "External JFrog Platform URL. Leave empty for local Artifactory."
type: string
required: false
default: ""
jfrog_admin_token:
description: "Admin token for external JFrog Platform."
type: string
required: false
default: ""
push:
branches:
- "master"
Expand Down Expand Up @@ -78,10 +89,14 @@ jobs:
uses: jfrog/.github/actions/install-local-artifactory@main
with:
RTLIC: ${{ secrets.RTLIC }}
JFROG_URL: ${{ inputs.jfrog_url }}
JFROG_ADMIN_TOKEN: ${{ inputs.jfrog_admin_token }}
RT_CONNECTION_TIMEOUT_SECONDS: ${{ env.RT_CONNECTION_TIMEOUT_SECONDS || '1200' }}

- name: Run npm tests
if: matrix.os.name != 'macos'
env:
YARN_IGNORE_NODE: 1
run: go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.npm
run: >-
go test -v github.com/jfrog/jfrog-cli --timeout 0 --test.npm
${{ env.JFROG_TESTS_IS_EXTERNAL == 'true' && format('--jfrog.url={0} --jfrog.adminToken={1}', env.JFROG_TESTS_URL, env.JFROG_TESTS_LOCAL_ACCESS_TOKEN) || '' }}
Loading
Loading