diff --git a/.github/workflows/contribution.yml b/.github/workflows/contribution.yml index 467426b3..85a04d42 100644 --- a/.github/workflows/contribution.yml +++ b/.github/workflows/contribution.yml @@ -9,4 +9,8 @@ permissions: jobs: build: name: Website Build Validation - uses: ./.github/workflows/build-site.yml \ No newline at end of file + uses: ./.github/workflows/build-site.yml + lint: + name : Website Linting Validation + needs: build + uses : ./.github/workflows/lint-site.yml diff --git a/.github/workflows/lint-site.yml b/.github/workflows/lint-site.yml new file mode 100644 index 00000000..9840fb75 --- /dev/null +++ b/.github/workflows/lint-site.yml @@ -0,0 +1,23 @@ +name: Lint The Website + +on: + workflow_call: + +permissions: + contents: read + +jobs: + build: + name: Build Website + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v4 + with: + name: github-pages + path: ./site + - name: Display structure of downloaded files + run: ls -R ./site + - name: Check HTML + uses: chabad360/htmlproofer@master + with: + directory: ./site diff --git a/Gemfile b/Gemfile index 0398e0db..d6135135 100644 --- a/Gemfile +++ b/Gemfile @@ -16,3 +16,5 @@ end # Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem # do not have a Java counterpart. gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby] + +gem 'html-proofer' \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index a8e66196..6572d98e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,18 +1,32 @@ GEM remote: https://rubygems.org/ specs: + Ascii85 (2.0.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) + afm (0.2.2) + async (2.23.0) + console (~> 1.29) + fiber-annotation + io-event (~> 1.9) + metrics (~> 0.12) + traces (~> 0.15) base64 (0.2.0) bigdecimal (3.1.9) bootstrap (5.3.5) popper_js (>= 2.11.8, < 3) colorator (1.1.0) concurrent-ruby (1.3.5) + console (1.29.3) + fiber-annotation + fiber-local (~> 1.1) + json csv (3.3.4) em-websocket (0.5.3) eventmachine (>= 0.12.9) http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) eventmachine (1.2.7) faraday (2.13.0) faraday-net_http (>= 2.0, < 3.5) @@ -26,6 +40,10 @@ GEM ffi (1.17.2-x86-linux-gnu) ffi (1.17.2-x86-linux-musl) ffi (1.17.2-x86_64-darwin) + fiber-annotation (0.2.0) + fiber-local (1.1.0) + fiber-storage + fiber-storage (1.0.0) forwardable-extended (2.6.0) google-protobuf (4.30.2) bigdecimal @@ -42,9 +60,20 @@ GEM google-protobuf (4.30.2-x86_64-darwin) bigdecimal rake (>= 13) + hashery (2.1.2) + html-proofer (5.0.10) + addressable (~> 2.3) + async (~> 2.1) + nokogiri (~> 1.13) + pdf-reader (~> 2.11) + rainbow (~> 3.0) + typhoeus (~> 1.3) + yell (~> 2.0) + zeitwerk (~> 2.5) http_parser.rb (0.8.0) i18n (1.14.7) concurrent-ruby (~> 1.0) + io-event (1.9.0) jekyll (4.4.1) addressable (~> 2.4) base64 (~> 0.2) @@ -88,21 +117,33 @@ GEM rb-inotify (~> 0.9, >= 0.9.10) logger (1.7.0) mercenary (0.4.0) + metrics (0.12.1) net-http (0.6.0) uri + nokogiri (1.18.8-arm64-darwin) + racc (~> 1.4) octokit (6.1.1) faraday (>= 1, < 3) sawyer (~> 0.9) pathutil (0.16.2) forwardable-extended (~> 2.6) + pdf-reader (2.14.1) + Ascii85 (>= 1.0, < 3.0, != 2.0.0) + afm (~> 0.2.1) + hashery (~> 2.0) + ruby-rc4 + ttfunk popper_js (2.11.8) public_suffix (6.0.1) + racc (1.8.1) + rainbow (3.1.1) rake (13.2.1) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) rexml (3.4.1) rouge (4.5.1) + ruby-rc4 (0.1.5) safe_yaml (1.0.5) sass-embedded (1.87.0) google-protobuf (~> 4.30) @@ -118,9 +159,16 @@ GEM faraday (>= 0.17.3, < 3) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) + traces (0.15.2) + ttfunk (1.8.0) + bigdecimal (~> 3.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) unicode-display_width (2.6.0) uri (1.0.3) webrick (1.9.1) + yell (2.2.2) + zeitwerk (2.6.18) PLATFORMS arm64-darwin @@ -133,6 +181,7 @@ PLATFORMS DEPENDENCIES bootstrap (~> 5.3.3) + html-proofer http_parser.rb (~> 0.6.0) jekyll jekyll-feed (~> 0.12)