Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
jordanrobinson committed Jan 16, 2024
0 parents commit 3100628
Show file tree
Hide file tree
Showing 22 changed files with 558 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .cljstyle
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{:files
{:ignore #{"target" ".git" "config"}}

:rules
{:blank-lines {:max-consecutive 1
:padding-lines 1}
:types {:types? false
:protocols? false}}}
6 changes: 6 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash

PROJECT_DIR="$(pwd)"

PATH_add "${PROJECT_DIR}"
PATH_add "${PROJECT_DIR}"/vendor/**/bin
23 changes: 23 additions & 0 deletions .github/workflows/github-actions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: CI and push to Clojars
run-name: Running linting and tests, then pushing to clojars 🚀
on: [push]
jobs:
build-test-and-publish:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1

- name: build
run: ${{ github.workspace }}/go library:check

- name: test
run: ${{ github.workspace }}/go library:test:unit

- name: publish
env:
VERSION: 0.0.${{ github.run_number }}
CLOJARS_DEPLOY_USERNAME: ${{ secrets.CLOJARS_USER }}
CLOJARS_DEPLOY_TOKEN: ${{ secrets.CLOJARS_TOKEN }}
run: ${{ github.workspace }}/go library:publish:release
34 changes: 34 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# vim
*.swp
*.swo

# IntelliJ
.idea/
*.ipr
*.iml
*.iws

# Build
/vendor/
/build/
/target/
dist/
.clj-kondo/.cache

# OS
.DS_Store

# Temporary
run/pids/
run/logs/
*.log
.tmp
.rakeTasks

# Terraform
.terraform
.nrepl-port

# Leiningen
.lein-repl-history
.lein-env
1 change: 1 addition & 0 deletions .java-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
11.0
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.1.1
16 changes: 16 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
source 'https://rubygems.org'

gem 'activesupport', '~> 7.0'
gem 'confidante', '0.28.0.pre.21'
gem 'docker-api', '~> 2.2'
gem 'dotenv', '~> 2.8'
gem 'nokogiri', '~> 1.13'
gem 'rake', '~> 13.0'
gem 'rake_docker', '~> 2.17'
gem 'rake_fly', '~> 2.11'
gem 'rake_leiningen', '~> 0.34'
gem 'rake_dependencies', '~> 3.1'
gem 'rake_terraform', '~> 1.23'
gem 'rake_vault', '0.1.0.pre.13'
gem 'semantic', '~> 1.6'
gem 'vault', '~> 0.17'
146 changes: 146 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (7.0.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
aws-eventstream (1.2.0)
aws-partitions (1.781.0)
aws-sdk-core (3.175.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
aws-sdk-ecr (1.60.0)
aws-sdk-core (~> 3, >= 3.174.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.5.2)
aws-eventstream (~> 1, >= 1.0.2)
colored2 (3.1.2)
concourse.rb (0.5.0)
excon (~> 0.72)
semantic (~> 1.5)
concurrent-ruby (1.1.10)
confidante (0.28.0.pre.21)
activesupport (>= 4)
hiera (~> 3.3)
shikashi (~> 0.6)
vault (~> 0.17)
docker-api (2.2.0)
excon (>= 0.47.0)
multi_json
dotenv (2.8.1)
evalhook (0.6.0)
partialruby (~> 0.3)
sexp_processor (~> 4.0)
excon (0.100.0)
getsource (0.2.2)
hamster (3.0.0)
concurrent-ruby (~> 1.0)
hiera (3.12.0)
i18n (1.10.0)
concurrent-ruby (~> 1.0)
immutable-struct (2.4.1)
jmespath (1.6.2)
lino (3.1.0)
hamster (~> 3.0)
open4 (~> 1.3)
minitar (0.9)
minitest (5.15.0)
multi_json (1.15.0)
nokogiri (1.15.2-arm64-darwin)
racc (~> 1.4)
nokogiri (1.15.2-x86_64-linux)
racc (~> 1.4)
open4 (1.3.4)
partialruby (0.3.0)
ruby2ruby (~> 2)
ruby_parser (~> 3)
racc (1.7.1)
rake (13.0.6)
rake_dependencies (3.1.0)
hamster (~> 3.0)
minitar (~> 0.9)
rake_factory (~> 0.23)
rubyzip (>= 1.3)
rake_docker (2.19.0)
aws-sdk-ecr (~> 1.2)
colored2 (~> 3.1)
docker-api (>= 1.34, < 3.0)
rake_factory (~> 0.23)
rake_factory (0.29.0)
activesupport (>= 4)
rake (~> 13.0)
rake_fly (2.13.0)
concourse.rb (>= 0.4)
rake_dependencies (~> 3.1)
rake_factory (~> 0.29)
ruby_fly (>= 0.35)
semantic (~> 1.6)
rake_leiningen (0.36.0)
rake_dependencies (~> 3.1)
rake_factory (~> 0.23)
ruby_leiningen (= 0.25.0)
semantic (~> 1.6)
rake_terraform (1.23.0)
colored2 (~> 3.1)
rake_dependencies (~> 3.1)
rake_factory (~> 0.23)
ruby-terraform (~> 1.4)
rake_vault (0.1.0.pre.13)
colored2 (~> 3.1)
rake_dependencies (~> 3.1)
rake_factory (~> 0.23)
ruby_vault (~> 0.1.0.pre.15)
vault (~> 0.17)
ruby-terraform (1.7.0)
immutable-struct (~> 2.4)
lino (~> 3.0)
ruby2ruby (2.5.0)
ruby_parser (~> 3.1)
sexp_processor (~> 4.6)
ruby_fly (0.39.0)
lino (~> 3.0)
ruby_leiningen (0.25.0)
activesupport (>= 6.0.2, < 8)
lino (~> 3.0)
ruby_parser (3.20.2)
sexp_processor (~> 4.16)
ruby_vault (0.1.0)
immutable-struct (~> 2.4)
lino (~> 3.0)
rubyzip (2.3.2)
semantic (1.6.1)
sexp_processor (4.17.0)
shikashi (0.6.0)
evalhook (>= 0.6.0)
getsource (>= 0.1.0)
tzinfo (2.0.4)
concurrent-ruby (~> 1.0)
vault (0.17.0)
aws-sigv4

PLATFORMS
arm64-darwin-21
x86_64-linux

DEPENDENCIES
activesupport (~> 7.0)
confidante (= 0.28.0.pre.21)
docker-api (~> 2.2)
dotenv (~> 2.8)
nokogiri (~> 1.13)
rake (~> 13.0)
rake_dependencies (~> 3.1)
rake_docker (~> 2.17)
rake_fly (~> 2.11)
rake_leiningen (~> 0.34)
rake_terraform (~> 1.23)
rake_vault (= 0.1.0.pre.13)
semantic (~> 1.6)
vault (~> 0.17)

BUNDLED WITH
2.3.15
21 changes: 21 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright &copy; 2023 MyPulse ltd

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# clj-wiremock-extras

Extras, helpers and convenience methods for clj-wiremock.

TODO: all of this

## License

Copyright © 2024 Jordan Robinson

Distributed under the MIT license.
84 changes: 84 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# frozen_string_literal: true

require 'rake_leiningen'
require 'rake_terraform'
require 'rake_vault'
require 'vault'
require 'yaml'
require 'rake_fly'
require 'uri'

require_relative 'lib/leiningen_task_set'

task default: %i[library:check library:test:unit]

RakeFly.define_installation_tasks(version: '7.9.0')

RakeLeiningen.define_installation_tasks(
version: '2.10.0'
)

RakeVault.define_installation_tasks(
path: File.join(Dir.pwd, 'vendor', 'vault'),
version: '1.11.2'
)

namespace :vault do
RakeVault.define_login_task(
argument_names: [:role, :address],
) do |t, args|
t.address = args[:address]
t.role = args[:role] || 'read-only'
end
end

namespace :library do
define_check_tasks(fix: true)

namespace :test do
RakeLeiningen.define_test_task(
name: :unit,
type: 'unit',
profile: 'test')
end

namespace :publish do
RakeLeiningen.define_release_task(
name: :release,
profile: 'release') do |t|
t.environment = {
'VERSION' => ENV['VERSION'],
'CLOJARS_DEPLOY_USERNAME' => ENV['CLOJARS_DEPLOY_USERNAME'],
'CLOJARS_DEPLOY_TOKEN' => ENV['CLOJARS_DEPLOY_TOKEN']
}
end
end

desc 'Lint all src files'
task :lint do
puts "Running clj-kondo from ./scripts/lint for " + RUBY_PLATFORM
platform_prefix = /darwin/ =~ RUBY_PLATFORM ? "mac" : "linux"

sh("./scripts/lint/clj-kondo-2021-06-18-#{platform_prefix}",
"--lint", "src/")

puts "Finished running clj-kondo"
end

desc 'Reformat all src files'
task :format do
puts "Running cljstyle from ./scripts/lint for " + RUBY_PLATFORM
platform_prefix = /darwin/ =~ RUBY_PLATFORM ? "mac" : "linux"

sh("./scripts/lint/cljstyle-0-15-0-#{platform_prefix}", "fix")

puts "Finished running cljstyle"
end

task :optimise do
puts 'skipping optimise...'
end
task :idiomise do
puts 'skipping idiomise...'
end
end
Loading

0 comments on commit 3100628

Please sign in to comment.