Merge pull request #362 from philomena-dev/extra-lint-jobs

Extra lint jobs
This commit is contained in:
liamwhite 2024-11-08 23:38:16 -05:00 committed by GitHub
commit 6d459ca67d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 37 additions and 10 deletions

View file

@ -31,6 +31,9 @@ jobs:
- run: docker compose pull - run: docker compose pull
- run: docker compose build - run: docker compose build
- name: mix format
run: docker compose run app mix format --check-formatted
- name: Build and test - name: Build and test
run: docker compose run app run-test run: docker compose run app run-test
@ -50,6 +53,21 @@ jobs:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: crate-ci/typos@master - uses: crate-ci/typos@master
cargo:
name: Rust Linting and Unit Tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Rust
uses: dtolnay/rust-toolchain@stable
- name: cargo fmt
run: (cd native/philomena && cargo fmt --check)
- name: cargo clippy
run: (cd native/philomena && cargo clippy -- -D warnings)
lint-and-test: lint-and-test:
name: 'JavaScript Linting and Unit Tests' name: 'JavaScript Linting and Unit Tests'
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -80,4 +98,4 @@ jobs:
working-directory: ./assets working-directory: ./assets
- run: npm run build - run: npm run build
working-directory: ./assets working-directory: ./assets

View file

@ -1,8 +1,8 @@
use base64::engine::general_purpose::URL_SAFE_NO_PAD;
use base64::Engine;
use ring::hmac; use ring::hmac;
use std::env; use std::env;
use url::Url; use url::Url;
use base64::Engine;
use base64::engine::general_purpose::URL_SAFE_NO_PAD;
fn trusted_host(mut url: Url) -> Option<String> { fn trusted_host(mut url: Url) -> Option<String> {
url.set_port(Some(443)).ok()?; url.set_port(Some(443)).ok()?;

View file

@ -1,5 +1,5 @@
use comrak::ComrakOptions;
use crate::camo; use crate::camo;
use comrak::ComrakOptions;
use rustler::{MapIterator, Term}; use rustler::{MapIterator, Term};
use std::collections::HashMap; use std::collections::HashMap;
use std::env; use std::env;
@ -19,19 +19,28 @@ fn common_options() -> ComrakOptions {
options.extension.camoifier = Some(|s| camo::image_url(s).unwrap_or_else(|| String::from(""))); options.extension.camoifier = Some(|s| camo::image_url(s).unwrap_or_else(|| String::from("")));
if let Ok(domains) = env::var("SITE_DOMAINS") { if let Ok(domains) = env::var("SITE_DOMAINS") {
options.extension.philomena_domains = Some(domains.split(',').map(|s| s.to_string()).collect::<Vec<String>>()); options.extension.philomena_domains = Some(
domains
.split(',')
.map(|s| s.to_string())
.collect::<Vec<String>>(),
);
} }
options options
} }
fn map_to_hashmap(map: Term) -> Option<HashMap<String, String>> { fn map_to_hashmap(map: Term) -> Option<HashMap<String, String>> {
Some(MapIterator::new(map)?.map(|(key, value)| { Some(
let key: String = key.decode().unwrap_or_else(|_| String::from("")); MapIterator::new(map)?
let value: String = value.decode().unwrap_or_else(|_| String::from("")); .map(|(key, value)| {
let key: String = key.decode().unwrap_or_else(|_| String::from(""));
let value: String = value.decode().unwrap_or_else(|_| String::from(""));
(key, value) (key, value)
}).collect()) })
.collect(),
)
} }
pub fn to_html(input: String, reps: Term) -> String { pub fn to_html(input: String, reps: Term) -> String {