Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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: >-
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this change impact the integration tests run on jfrog-cli-artifactory?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, all the changes are backward compatible.

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