Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

General Updates #38

Merged
merged 10 commits into from
May 29, 2024
Merged
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
4 changes: 2 additions & 2 deletions .github/workflows/acceptance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,10 @@ jobs:
name: runner / acceptance-tests
strategy:
matrix:
ruby: [ '2.7.5', '3.1.2', '3.2.2', '3.3.0' ]
ruby: [ '2.7.5', '3.1.2', '3.2.2', '3.3.0', '3.3.1' ]

steps:
- uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939 # pin@v1.152.0
- uses: ruby/setup-ruby@1198b074305f9356bd56dd4b311757cc0dab2f1c # pin@v1.175.1
with:
bundler-cache: true
ruby-version: ${{ matrix.ruby }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,17 @@ jobs:

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}

# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3
#- run: |
# make bootstrap
# make release

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
7 changes: 5 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,18 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
ruby: [ '2.7.5', '3.1.2', '3.2.2', '3.3.0' ]
ruby: [ '2.7.5', '3.1.2', '3.2.2', '3.3.0', '3.3.1' ]

steps:
- name: checkout
uses: actions/checkout@v4

- uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939 # pin@v1.152.0
- uses: ruby/setup-ruby@1198b074305f9356bd56dd4b311757cc0dab2f1c # pin@v1.175.1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true

- name: bootstrap
run: script/bootstrap

- run: bundle exec rubocop -c .rubocop.yml lib/ spec/
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: checkout
uses: actions/checkout@v4

- uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939 # pin@v1.152.0
- uses: ruby/setup-ruby@1198b074305f9356bd56dd4b311757cc0dab2f1c # pin@v1.175.1
with:
bundler-cache: true

Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,18 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
ruby: [ '2.7.5', '3.1.2', '3.2.2', '3.3.0' ]
ruby: [ '2.7.5', '3.1.2', '3.2.2', '3.3.0', '3.3.1' ]

steps:
- name: checkout
uses: actions/checkout@v4

- uses: ruby/setup-ruby@250fcd6a742febb1123a77a841497ccaa8b9e939 # pin@v1.152.0
- uses: ruby/setup-ruby@1198b074305f9356bd56dd4b311757cc0dab2f1c # pin@v1.175.1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true

- run: script/test -d
- name: bootstrap
run: script/bootstrap

- run: script/test -d -k
2 changes: 1 addition & 1 deletion .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ inherit_gem:
AllCops:
SuggestExtensions: false
DisplayCopNames: true
TargetRubyVersion: 3.3.0
TargetRubyVersion: 3.3.1
Exclude:
- 'bin/*'
- 'vendor/**/*'
Expand Down
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.3.0
3.3.1
8 changes: 4 additions & 4 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
PATH
remote: .
specs:
entitlements-app (0.3.3)
entitlements-app (0.3.4)
concurrent-ruby (= 1.1.9)
faraday (~> 2.0)
net-ldap (~> 0.17)
faraday (> 2.0, <= 2.7.10)
net-ldap (~> 0.19)
octokit (~> 4.18)
optimist (= 3.0.0)

Expand Down Expand Up @@ -39,7 +39,7 @@ GEM
reline (>= 0.3.6)
json (2.6.3)
minitest (5.19.0)
net-ldap (0.18.0)
net-ldap (0.19.0)
octokit (4.25.1)
faraday (>= 1, < 3)
sawyer (~> 0.9)
Expand Down
4 changes: 2 additions & 2 deletions entitlements-app.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ Gem::Specification.new do |s|
s.executables = %w[deploy-entitlements]

s.add_dependency "concurrent-ruby", "= 1.1.9"
s.add_dependency "faraday", "~> 2.0"
s.add_dependency "net-ldap", "~> 0.17"
s.add_dependency "faraday", "> 2.0", "<= 2.7.10"
s.add_dependency "net-ldap", "~> 0.19"
s.add_dependency "octokit", "~> 4.18"
s.add_dependency "optimist", "= 3.0.0"

Expand Down
1 change: 0 additions & 1 deletion lib/entitlements.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
require "erb"
require "logger"
require "ostruct"
require "set"
require "stringio"
require "uri"
require "yaml"
Expand Down
2 changes: 0 additions & 2 deletions lib/entitlements/backend/base_provider.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
# frozen_string_literal: true

require "set"

module Entitlements
class Backend
class BaseProvider
Expand Down
2 changes: 1 addition & 1 deletion lib/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@

module Entitlements
module Version
VERSION = "0.3.3"
VERSION = "0.3.4"
end
end
79 changes: 54 additions & 25 deletions script/test
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
#!/bin/bash
#! /usr/bin/env bash

# run script/test -h for help

# COLORS
OFF='\033[0m'
RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'

set -e

function usage()
{
echo -e "\t ================== script/test usage =================="
echo -e "\t-h --help : displays help message"
echo -e "\t-k --no-linter : disables linting tests"
echo -e "\t-d --disable-bootstrap : disables bootstrap"
echo -e "\n\t Suggested flags for development: script/test -d"
echo -e "\n\t Suggested flags for development: script/test -d -s"
}

while [ "$1" != "" ]; do
Expand All @@ -35,42 +42,64 @@ while [ "$1" != "" ]; do
shift
done

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )"

export PATH=/usr/share/rbenv/shims:$PATH
export RBENV_VERSION="$(cat "${DIR}/.ruby-version")"

TRASHDIR=$(mktemp -d /tmp/cibuild.XXXXXXXXXXXXXXXXXX)
cleanup() {
rm -rf "$TRASHDIR"
}
trap cleanup EXIT

cd "$DIR"
. "${DIR}/script/lib/fold.sh"
# setup
export DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && cd .. && pwd )"
[ -z "$RBENV_VERSION" ] && export RBENV_VERSION=$(cat "$DIR/.ruby-version")

if [[ -z $no_bootstrap ]]; then
# bootstrap
begin_fold "Bootstrapping"
./script/bootstrap
end_fold
echo -e "\n🥾 ${BLUE}Bootstrapping: $(date "+%H:%M:%S")${OFF}\n"
echo "%%%FOLD {bootstrap}%%%"
cd "$DIR"
script/bootstrap
echo "%%%END FOLD%%%"
else
echo -e "\nBypass Bootstrap"
echo -e "\n⏩ ${BLUE}Skipping Bootstrap${OFF}"
fi

bundle exec rspec spec/unit && rspec_exit=$? || rspec_exit=$?
# Run Rubocop
if [[ -z $no_linter ]]; then
echo -e "\n🤖 ${BLUE}Running Rubocop: $(date "+%H:%M:%S")${OFF}\n"
bundle exec rubocop -c .rubocop.yml lib/ spec/
else
echo -e "\n⏩ ${BLUE}Skipping Rubocop${OFF}"
fi

# run tests
echo -e "\n🧪 ${BLUE}Running tests: $(date "+%H:%M:%S")${OFF}\n"
cd "$(dirname $0)/.."

cat "$DIR/coverage/coverage.txt"
grep -q "You're all set, friend" "$DIR/coverage/coverage.txt" && cov_exit=0 || cov_exit=1
bundle exec bin/rspec spec/unit && rspec_exit=$? || rspec_exit=$?

total_coverage=$(cat "$DIR/coverage/total-coverage.txt")

if grep -q "100.0" "$DIR/coverage/total-coverage.txt"; then
cov_exit=0
echo -e "\n✅ Total Coverage: ${GREEN}$total_coverage${OFF}"
else
cov_exit=1
echo -e "\n❌ Total Coverage: ${RED}$total_coverage${OFF}"
fi

echo ""
echo "---------------------------------------"
echo "Summary Results"
echo "📊 Summary Results"
echo "---------------------------------------"
echo ""
echo "rspec: exitcode=${rspec_exit}"
echo "coverage: exitcode=${cov_exit}"

if [[ $rspec_exit == 0 ]]; then
echo -e "✅ ${GREEN}rspec: exitcode=${rspec_exit}${OFF}"
else
echo -e "❌ ${RED}rspec: exitcode=${rspec_exit}${OFF}"
fi

if [[ $cov_exit == 0 ]]; then
echo -e "✅ \033[0;32mcoverage: exitcode=${cov_exit}\033[0m"
else
echo -e "❌ \033[0;31mcoverage: exitcode=${cov_exit}\033[0m"
fi

[ $rspec_exit -gt 0 ] && exit 1
[ $cov_exit -gt 0 ] && exit 1

exit 0
1 change: 0 additions & 1 deletion spec/acceptance/tests/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
require "open3"
require "rugged"
require "shellwords"
require "set"
require "stringio"
require "tmpdir"
require "uri"
Expand Down
20 changes: 15 additions & 5 deletions spec/unit/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,26 @@
require "vcr"
require "webmock/rspec"

COV_DIR = File.expand_path("../../coverage", File.dirname(__FILE__))

SimpleCov.root File.expand_path("../../", File.dirname(__FILE__))
SimpleCov.coverage_dir COV_DIR

SimpleCov.formatters = [
SimpleCov::Formatter::HTMLFormatter,
SimpleCov::Formatter::ERBFormatter
]
SimpleCov.start do
# don't show specs as missing coverage for themselves
add_filter "/spec/"

# don't analyze coverage for gems
add_filter "/vendor/gems/"
SimpleCov.minimum_coverage 100

SimpleCov.at_exit do
File.write("#{COV_DIR}/total-coverage.txt", SimpleCov.result.covered_percent)
SimpleCov.result.format!
end

SimpleCov.start do
add_filter "spec/"
add_filter "vendor/gems/"
end

require_relative "../../lib/entitlements"
Expand Down
Binary file removed vendor/cache/net-ldap-0.18.0.gem
Binary file not shown.
Binary file added vendor/cache/net-ldap-0.19.0.gem
Binary file not shown.
Loading