Artifactory resolution tests: Python, Java, Go (#2354) #2074
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Scripts Tests | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
pull_request: | |
# Ensures that only the latest commit is running for each PR at a time. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
Scripts-tests: | |
name: Script tests (${{ matrix.suite.os }}) | |
defaults: | |
run: | |
shell: bash | |
strategy: | |
fail-fast: false | |
matrix: | |
suite: | |
- os: "ubuntu" | |
- os: "macos" | |
- os: "windows" | |
osSuffix: ".exe" | |
runs-on: ${{ matrix.suite.os }}-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Go Cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: ${{ runner.os }}-go- | |
- name: Test install CLI - jf | |
run: | | |
sh build/installcli/jf.sh | |
jf --version | |
- name: Test install CLI - jfrog | |
run: | | |
sh build/installcli/jfrog.sh | |
jfrog --version | |
- name: Test get CLI - jf | |
run: | | |
sh build/getcli/jf.sh | |
./jf --version | |
- name: Test get CLI - jfrog | |
run: | | |
sh build/getcli/jfrog.sh | |
./jfrog --version | |
- name: Test Build CLI - sh | |
run: | | |
sh build/build.sh | |
./jf${{ matrix.suite.osSuffix }} --version | |
if: ${{ matrix.suite.os != 'windows' }} | |
- name: Test Build CLI - bat | |
run: | | |
build/build.bat | |
./jf${{ matrix.suite.osSuffix }} --version | |
if: ${{ matrix.suite.os == 'windows' }} | |
# Prior to the release, we set the new version in the package.json files, introducing the prereleased version. | |
# This adjustment may result in an attempt to download a version that hasn't been published to releases.jfrog.io yet. | |
# To handle it, we fetch the most recent JFrog CLI release and store it in the LATEST_RELEASE step output. | |
- name: "Get latest release" | |
id: latest-release | |
run: | | |
export LATEST_RELEASE=`curl https://api.github.com/repos/jfrog/jfrog-cli/releases/latest -s --retry 10 | jq .name -r | sed "s/^v//"` | |
echo "LATEST_RELEASE=$LATEST_RELEASE" >> "$GITHUB_OUTPUT" | |
shell: bash | |
- name: Test install npm - v2 | |
working-directory: build/npm/v2 | |
run: | | |
npm version ${{ steps.latest-release.outputs.LATEST_RELEASE }} --allow-same-version | |
npm install | |
./bin/jfrog${{ matrix.suite.osSuffix }} --version | |
- name: Test install npm - v2-jf | |
working-directory: build/npm/v2-jf | |
run: | | |
npm version ${{ steps.latest-release.outputs.LATEST_RELEASE }} --allow-same-version | |
npm install | |
./bin/jf${{ matrix.suite.osSuffix }} --version |