Skip to content

Add persistToPropertiesFile overload #287

Add persistToPropertiesFile overload

Add persistToPropertiesFile overload #287

name: Integration Tests
on:
push:
branches:
- master
# 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: Unlabel 'safe to test'
uses: actions-ecosystem/action-remove-labels@v1
if: ${{github.event_name != 'push' }}
with:
labels: 'safe to test'
Distribution:
needs: Pretest
name: Distribution (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor:test --tests *DistributionManagerTest*
env:
BITESTS_PLATFORM_URL: ${{ secrets.PLATFORM_URL }}
BITESTS_PLATFORM_USERNAME: ${{ secrets.PLATFORM_USER }}
BITESTS_PLATFORM_ADMIN_TOKEN: ${{ secrets.PLATFORM_ADMIN_TOKEN }}
Extractor:
needs: Pretest
name: Extractor (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Setup Artifactory
run: |
go install github.com/jfrog/jfrog-testing-infra/local-rt-setup@latest
~/go/bin/local-rt-setup
env:
RTLIC: ${{secrets.RTLIC}}
GOPROXY: direct
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-api:test build-info-client:test build-info-extractor:test build-info-vcs:test -PexcludeTests=**/*DistributionManager*
env:
BITESTS_PLATFORM_ADMIN_TOKEN: ${{ env.JFROG_TESTS_LOCAL_ACCESS_TOKEN }}
Go:
needs: Pretest
name: Go (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.x
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor-go:test
env:
BITESTS_PLATFORM_URL: ${{ secrets.PLATFORM_URL }}
BITESTS_PLATFORM_USERNAME: ${{ secrets.PLATFORM_USER }}
BITESTS_PLATFORM_ADMIN_TOKEN: ${{ secrets.PLATFORM_ADMIN_TOKEN }}
Gradle:
needs: Pretest
name: Gradle (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
env:
GRADLE_OPTS: -Dorg.gradle.daemon=false
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.x
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Setup Artifactory
run: |
go install github.com/jfrog/jfrog-testing-infra/local-rt-setup@latest
~/go/bin/local-rt-setup
env:
RTLIC: ${{secrets.RTLIC}}
GOPROXY: direct
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor-gradle:test
Ivy:
needs: Pretest
name: Ivy (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor-ivy:test
Maven:
needs: Pretest
name: Maven (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor-maven3:test
npm:
needs: Pretest
name: npm (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install npm
uses: actions/setup-node@v3
with:
node-version: "15"
- name: Config list
run: npm config ls -l
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.x
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Setup Artifactory
run: |
go install github.com/jfrog/jfrog-testing-infra/local-rt-setup@latest
~/go/bin/local-rt-setup
env:
RTLIC: ${{secrets.RTLIC}}
GOPROXY: direct
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor-npm:test
env:
# We use localhost because npm does not support authenticating with registries started with 127.0.0.1
BITESTS_PLATFORM_URL: http://localhost:8081
NuGet:
needs: Pretest
name: NuGet (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install NuGet
uses: nuget/setup-nuget@v1
with:
nuget-version: 5.x
- name: Install dotnet
uses: actions/setup-dotnet@v2
with:
dotnet-version: "3.x"
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Install Go
uses: actions/setup-go@v3
with:
go-version: 1.19.x
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Setup Artifactory
run: |
go install github.com/jfrog/jfrog-testing-infra/local-rt-setup@latest
~/go/bin/local-rt-setup
env:
RTLIC: ${{secrets.RTLIC}}
GOPROXY: direct
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor-nuget:test
Python:
needs: Pretest
name: Python (${{ matrix.os }})
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, windows-latest ]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Setup Python3
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Setup Virtualenv
run: python -m venv env
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Setup Artifactory
run: |
go install github.com/jfrog/jfrog-testing-infra/local-rt-setup@latest
~/go/bin/local-rt-setup
env:
RTLIC: ${{secrets.RTLIC}}
GOPROXY: direct
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor-pip:test
env:
BITESTS_ARTIFACTORY_PIP_ENV: fromJSON('{"Linux":"env/bin","macOS":"env/bin","Windows":"env\\Scripts"}')[runner.os]
Docker:
needs: Pretest
name: Docker
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Install Java
uses: actions/setup-java@v3
with:
java-version: "8"
distribution: "temurin"
- name: Cache local Maven repository
uses: actions/cache@v3
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Containerize Artifactory
run: |
cd ./build-info-extractor-docker/src/test/resources/artifactory/
./start.sh
env:
RTLIC: ${{secrets.RTLIC}}
GOPROXY: direct
- name: Wait for Artifactory to finish loading
uses: nev7n/wait_for_response@v1
with:
url: "http://localhost:8082"
responseCode: 200
timeout: 600000
interval: 500
# Run tests
- name: Run Tests
uses: gradle/gradle-build-action@v2
with:
arguments: clean build-info-extractor-docker:test