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 build
- name: mix format
run: docker compose run app mix format --check-formatted
- name: Build and test
run: docker compose run app run-test
@ -50,6 +53,21 @@ jobs:
- uses: actions/checkout@v4
- 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:
name: 'JavaScript Linting and Unit Tests'
runs-on: ubuntu-latest
@ -80,4 +98,4 @@ jobs:
working-directory: ./assets
- 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 std::env;
use url::Url;
use base64::Engine;
use base64::engine::general_purpose::URL_SAFE_NO_PAD;
fn trusted_host(mut url: Url) -> Option<String> {
url.set_port(Some(443)).ok()?;

View file

@ -1,5 +1,5 @@
use comrak::ComrakOptions;
use crate::camo;
use comrak::ComrakOptions;
use rustler::{MapIterator, Term};
use std::collections::HashMap;
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("")));
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
}
fn map_to_hashmap(map: Term) -> Option<HashMap<String, String>> {
Some(MapIterator::new(map)?.map(|(key, value)| {
let key: String = key.decode().unwrap_or_else(|_| String::from(""));
let value: String = value.decode().unwrap_or_else(|_| String::from(""));
Some(
MapIterator::new(map)?
.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)
}).collect())
(key, value)
})
.collect(),
)
}
pub fn to_html(input: String, reps: Term) -> String {