Improve Tests #1056
Workflow file for this run
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: JFrog CLI Security Tests | |
on: | |
push: | |
# Triggers the workflow on labeled PRs only. | |
pull_request_target: | |
types: [ labeled ] | |
# 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: | |
Pretest: | |
if: contains(github.event.pull_request.labels.*.name, 'safe to test') || github.event_name == 'push' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Remove 'safe to test' label | |
uses: actions-ecosystem/action-remove-labels@v1 | |
if: ${{ github.event_name != 'push' }} | |
with: | |
labels: "safe to test" | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: Setup Go with cache | |
uses: jfrog/.github/actions/install-go-with-cache@main | |
- name: Run Go vet | |
run: go vet -v ./... | |
Tests: | |
needs: Pretest | |
name: ${{ matrix.suite.name }} Tests (${{ matrix.os }}) | |
runs-on: ${{ matrix.os }}-latest | |
env: | |
GOPROXY: direct | |
GRADLE_OPTS: -Dorg.gradle.daemon=false | |
CI: true | |
JFROG_CLI_LOG_LEVEL: DEBUG | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu, windows, macos ] | |
suite: | |
- name: 'Unit' | |
testFlags: '--test.unit' | |
- name: 'Artifactory Integration' | |
testFlags: '--test.artifactory' | |
- name: 'Xray Integration' | |
testFlags: '--test.xray' | |
- name: 'XSC Integration' | |
testFlags: '--test.xsc' | |
- name: 'Audit Command Integration' | |
testFlags: '--test.audit' | |
- name: 'Other Scan Commands Integration' | |
testFlags: '--test.scan' | |
# Run Docker Integration tests only on Ubuntu | |
ubuntuTestFlags: '--test.scan --test.dockerScan' | |
- name: 'Enrich Command Integration' | |
testFlags: '--test.enrich' | |
- name: 'Git commands Integration' | |
testFlags: '--test.git' | |
steps: | |
# Checkout code | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
# Install dependencies | |
- name: Setup Go with cache | |
uses: jfrog/.github/actions/install-go-with-cache@main | |
- name: Install npm | |
uses: actions/setup-node@v3 | |
with: | |
node-version: "16" | |
- name: Setup Pnpm | |
uses: pnpm/action-setup@v3 | |
with: | |
version: 8 | |
- name: Install Java | |
uses: actions/setup-java@v3 | |
with: | |
java-version: "11" | |
distribution: "adopt" | |
- name: Install NuGet | |
uses: nuget/setup-nuget@v1 | |
with: | |
nuget-version: 6.x | |
- name: Install dotnet | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: '6.x' | |
- name: Setup Python3 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- name: Setup Pipenv | |
run: python -m pip install pipenv | |
- name: Setup Poetry | |
run: python -m pip install poetry | |
- name: Setup Conan | |
run: | | |
python -m pip install conan | |
conan profile detect | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v2 | |
with: | |
gradle-version: 7.6 | |
# Test | |
- name: Run tests | |
run: go test -v github.com/jfrog/jfrog-cli-security --race --timeout 30m -cover ${{ matrix.os == 'ubuntu' && matrix.suite.ubuntuTestFlags || matrix.suite.testFlags }} --jfrog.url=${{ secrets.PLATFORM_URL }} --jfrog.adminToken=${{ secrets.PLATFORM_ADMIN_TOKEN }} --test.containerRegistry=${{ secrets.CONTAINER_REGISTRY }} --ci.runId=${{ runner.os }}-sec-test |