Skip to content

Add: Support for Faraday 2.x #2748

Add: Support for Faraday 2.x

Add: Support for Faraday 2.x #2748

Workflow file for this run

name: Singleton-Ruby-Client
on: [pull_request, push]
jobs:
pre-process:
name: Pre process
runs-on: ubuntu-latest
outputs:
were-only-docs-updated: ${{ steps.were-only-docs-updated-action.outputs.were-only-docs-updated }}
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 2.
- name: Get commit range
id: get-commit-range-action
uses: ./.github/actions/get-commit-range-action
- name: Were only docs updated
id: were-only-docs-updated-action
uses: ./.github/actions/were-only-docs-updated-action
with:
commit-range: ${{ steps.get-commit-range-action.outputs.commit-range }}
check-header:
name: Check Header
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 2.
- name: Get commit range
id: get-commit-range-action
uses: ./.github/actions/get-commit-range-action
- name: Check header
run: |
git clone --branch=devops https://github.com/vmware/singleton.git devops
cp $GITHUB_WORKSPACE/devops/check_headers.py .
chmod +x check_headers.py
git diff ${{ steps.get-commit-range-action.outputs.commit-range }} --stat
git diff --name-only --diff-filter=d ${{ steps.get-commit-range-action.outputs.commit-range }}
python ./check_headers.py -f "$(git diff --name-only --diff-filter=d ${{ steps.get-commit-range-action.outputs.commit-range }})"
unit-test:
name: Unit Test
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.3
- name: Install dependencies
run: bundle install
- name: Unit test
run: |
COVERAGE=true bundle exec rspec
- name: Upload Codecov report for ruby-client
uses: codecov/codecov-action@v2
with:
files: ./coverage/coverage.json
flags: g11n-ruby-client
security-analysis:
name: Security Analysis
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
permissions:
actions: read
contents: read
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.3
- name: Install dependencies
run: bundle install
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ruby
- name: Autobuild
uses: github/codeql-action/autobuild@v3
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
codacy-analysis-cli:
name: Codacy Analysis CLI
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@main
- name: Run Codacy Analysis CLI
uses: codacy/codacy-analysis-cli-action@master
with:
output: results.sarif
format: sarif
# Adjust severity of non-security issues
gh-code-scanning-compat: true
# Force 0 exit code to allow SARIF file generation
# This will handover control about PR rejection to the GitHub side
max-allowed-issues: 2147483647
# Upload the SARIF file generated in the previous step
- name: Upload SARIF results file
uses: github/codeql-action/upload-sarif@main
with:
sarif_file: results.sarif
smoke-test:
name: Smoke Test
runs-on: ubuntu-latest
needs: pre-process
if: needs.pre-process.outputs.were-only-docs-updated != 'yes'
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.3
- name: Install dependencies
run: bundle install
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
distribution: 'temurin'
java-version: '17'
- name: Smoke Test
run: |
export PATH=${PATH/:\/usr\/local\/lib\/jvm\/openjdk11\/bin:/:}
sudo apt-get update
sudo apt-get install -y openjdk-17-jdk
export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
git clone --branch=master https://github.com/vmware/singleton.git server
git clone --branch=devops https://github.com/vmware/singleton.git devops
cd $GITHUB_WORKSPACE/server/g11n-ws && ./gradlew build -x test
cp $GITHUB_WORKSPACE/devops/deploy/i18n-service/Dockerfile $GITHUB_WORKSPACE/server/publish/
cd $GITHUB_WORKSPACE/server/publish && mv singleton-0.1.0.jar i18n-service.jar
docker build -t singleton .
docker run -d -p 8090:8090 -p 8091:8091 --name singleton singleton
docker ps
sleep 15s
mkdir -p $GITHUB_WORKSPACE/l10n/bundles
cp -r $GITHUB_WORKSPACE/devops/autotest/client/ruby/l10n/bundles $GITHUB_WORKSPACE/l10n/
docker cp $GITHUB_WORKSPACE/l10n singleton:/
cd $GITHUB_WORKSPACE
cp -r $GITHUB_WORKSPACE/devops/autotest/client/ruby/l10n/bundles/* $GITHUB_WORKSPACE/l10n/bundles
cd $GITHUB_WORKSPACE/devops/autotest/client/ruby
sed -i 's|path => "../../../../ruby_client/singleton|path => "/home/runner/work/singleton/singleton|g' Gemfile
bundle install
bundle exec rspec spec