Skip to content

Commit

Permalink
feat: add basic file system storage implementation (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
btkostner committed May 21, 2023
1 parent c53d9a4 commit 951e20a
Show file tree
Hide file tree
Showing 922 changed files with 883 additions and 3,109 deletions.
22 changes: 22 additions & 0 deletions .doctor.exs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
%Doctor.Config{
exception_moduledoc_required: true,
failed: false,
ignore_modules: [
~r/^Inspect/
],
ignore_paths: [
~r/\/controllers\//,
~r/\/live\//,
~r/\/views\//,
~r/test\//
],
min_module_doc_coverage: 75,
min_module_spec_coverage: 0,
min_overall_doc_coverage: 70,
min_overall_moduledoc_coverage: 100,
min_overall_spec_coverage: 0,
raise: true,
reporter: Doctor.Reporters.Full,
struct_type_spec_required: true,
umbrella: false
}
94 changes: 94 additions & 0 deletions .github/actions/setup-elixir/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---

branding:
color: purple
icon: code

description: >-
GitHub Composite Action for installing Elixir & Beam, setting up and
retrieving dependencies along with caching.
inputs:
cache-name:
default: ${{ github.job }}
description: >-
(Optional) The name of the cache. This is used to build the full cache
key. By default this uses the job name which should suffice is most
scenarios. If you have a custom naming scheme or want to share caches
between different actions you can set it here. The reason we set this
differently for each job is because tools will have different compile
settings, like credo and dialyzer, and therefor have different files
cached.
required: false
type: string
elixir-version:
description: >-
(Optional) Version range or exact version of Elixir to use. If this is
not set, we attempt to read the "elixir" field from the .tool-versions
file.
required: false
type: string
otp-version:
description: >-
(Optional) Version range or exact version of Erlang/OTP to use. If this
is not set, we attempt to read the "erlang" field from the .tool-versions
file.
required: false
type: string
version-file:
default: .tool-versions
description: >-
(Optional) A version file to pull the Erlang/OTP and ELixir version from.
required: false
type: string

name: Setup Elixir

outputs:
elixir-version:
description: >-
The exact version of Elixir installed.
value: ${{ steps.beam.outputs.elixir-version }}
otp-version:
description: >-
The exact version of Erlang/OTP installed.
value: ${{ steps.beam.outputs.otp-version }}

runs:
steps:
- id: beam
name: Install Elixir
uses: erlef/setup-beam@v1
with:
elixir-version: ${{ inputs.elixir-version }}
otp-version: ${{ inputs.otp-version }}
version-file: ${{ (inputs.otp-version || inputs.elixir-version) || inputs.version-file }}
version-type: strict

- id: cache_dependencies
name: Cache Dependencies
uses: actions/cache@v3
with:
key: |
elixir-setup-deps-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-${{ inputs.cache-name }}-${{ hashFiles('mix.lock') }}
path: deps
restore-keys: |
elixir-setup-deps-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-${{ inputs.cache-name }}-
- if: steps.cache_dependencies.outputs.cache-hit != 'true'
name: Install Dependencies
run: mix deps.get
shell: bash

- name: Cache Build
uses: actions/cache@v3
with:
key: |
elixir-setup-build-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-${{ inputs.cache-name }}-${{ hashFiles('mix.lock') }}-${{ github.ref }}
path: _build
restore-keys: |
elixir-setup-build-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-${{ inputs.cache-name }}-${{ hashFiles('mix.lock') }}-
elixir-setup-build-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-${{ inputs.cache-name }}-
elixir-setup-build-${{ steps.beam.outputs.elixir-version }}-${{ steps.beam.outputs.otp-version }}-
using: composite
4 changes: 4 additions & 0 deletions .github/linters/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"extends": "standard",
"ignorePatterns": ["**/vendor/*.js"]
}
14 changes: 14 additions & 0 deletions .github/linters/.markdown-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---

# Linter rules doc:
# - https://github.com/DavidAnson/markdownlint
#
# Note:
# To comment out a single error:
# <!-- markdownlint-disable -->
# any violations you want
# <!-- markdownlint-restore -->
#

MD013: false
MD033: false
6 changes: 6 additions & 0 deletions .github/linters/.stylelintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": "stylelint-config-standard",
"rules": {
"at-rule-no-unknown": null
}
}
68 changes: 68 additions & 0 deletions .github/linters/.yaml-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---

# Linter rules doc:
# - https://yamllint.readthedocs.io/en/stable/rules.html
#
# Note:
# To comment out a single line:
# # yamllint disable-line

locale: "en_US.UTF-8"

rules:
braces:
level: warning
max-spaces-inside: 0
max-spaces-inside-empty: 5
min-spaces-inside: 0
min-spaces-inside-empty: 0
brackets:
level: warning
max-spaces-inside: 0
max-spaces-inside-empty: 5
min-spaces-inside: 0
min-spaces-inside-empty: 1
colons:
level: warning
max-spaces-after: 1
max-spaces-before: 0
commas:
level: warning
max-spaces-after: 1
max-spaces-before: 0
min-spaces-after: 1
comments:
ignore-shebangs: true
min-spaces-from-content: 1
require-starting-space: true
comments-indentation: {}
document-end: disable
document-start:
level: warning
present: true
empty-lines:
level: warning
max: 2
max-end: 0
max-start: 1
hyphens:
level: warning
max-spaces-after: 1
indentation:
check-multi-line-strings: false
indent-sequences: true
level: warning
spaces: 2
key-duplicates: {}
key-ordering: {}
line-length:
allow-non-breakable-inline-mappings: true
allow-non-breakable-words: true
ignore: |
*.github*
level: warning
max: 80
new-line-at-end-of-file: {}
new-lines:
type: unix
trailing-spaces: {}

0 comments on commit 951e20a

Please sign in to comment.