Skip to content

refactor(auth permissions): use return type Result<()> instead of Res… #183

refactor(auth permissions): use return type Result<()> instead of Res…

refactor(auth permissions): use return type Result<()> instead of Res… #183

name: CLI Continuous Integration (Compilation tests for variations of Poem + Sqlite)
on:
workflow_dispatch:
push:
branches:
- "main"
paths:
- "**.rs"
- "Cargo.lock"
- "Cargo.toml"
pull_request:
paths:
- "**.rs"
- "Cargo.lock"
- "Cargo.toml"
env:
CARGO_TERM_COLOR: always
CARGO_REGISTRIES_CRATES_IO_PROTOCOL: sparse
concurrency:
group: CI-PS-${{ github.ref }}
cancel-in-progress: true
jobs:
Dummy-Job:
name: dummy job so workflow is valid
runs-on: ubuntu-latest
steps:
- run: echo "lorem ipsum dolor sit amet"
# # naming convention is: [backend]-[database]-[plugins]
# Poem-Sqlite-None:
# name: Poem w/ Sqlite and no plugins
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4.1.4
# - uses: rui314/setup-mold@v1
# - run: rustup install stable
# - run: rustup update
# - uses: actions/cache@v4.0.2
# with:
# path: |
# .cargo/.build
# key: ${{ runner.os }}-cargo-cli-PS-${{ hashFiles('**/Cargo.lock') }}
# - run: git config --global user.name test
# - run: git config --global user.email example@email.com
# - uses: actions-rs/cargo@v1.0.3
# with:
# command: run
# args: --bin create-rust-app -- create -c -d sqlite -b poem test-project
# - name: test test-project
# working-directory: ./test-project
# run: |
# printf "// @generated automatically by Diesel CLI.\ndiesel::table! {\n todos (id) {\n id -> Int4,\n text -> Text,\n created_at -> Timestamp,\n updated_at -> Timestamp,\n }\n}" >> ./backend/schema.rs
# sed -i 's/create-rust-app = {/create-rust-app = { path = "..\/create-rust-app", /' ./Cargo.toml
# cargo dsync
# cargo check
#
#
# Poem-Sqlite-All:
# # needs: [Poem-Sqlite-None]
# name: Poem w/ Sqlite and all valid plugins
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4.1.4
# - uses: rui314/setup-mold@v1
# - run: rustup install stable
# - run: rustup update
# - uses: actions/cache@v4.0.2
# with:
# path: |
# .cargo/.build
# key: ${{ runner.os }}-cargo-cli-PS-all-${{ hashFiles('**/Cargo.lock') }}
# - run: git config --global user.name test
# - run: git config --global user.email example@email.com
# - uses: actions-rs/cargo@v1.0.3
# with:
# command: run
# args: --bin create-rust-app -- create -c -d sqlite -b poem --plugins=auth,container,graphql,storage test-project
# - name: test test-project
# working-directory: ./test-project
# run: |
# printf "// @generated automatically by Diesel CLI.\ndiesel::table! {\n todos (id) {\n id -> Int4,\n text -> Text,\n created_at -> Timestamp,\n updated_at -> Timestamp,\n }\n}" >> ./backend/schema.rs
# sed -i 's/create-rust-app]/create-rust-app]\npath = "..\/create-rust-app"/' Cargo.toml
# cargo dsync
# cargo check
# Poem-Sqlite-Container:
# needs: [Poem-Sqlite-None]
# name: Poem w/ Sqlite and the container plugin
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4.1.4
# - uses: rui314/setup-mold@v1
# - run: rustup install stable
# - run: rustup update
# - uses: actions/cache@v4.0.2
# with:
# path: |
# **/.cargo/.build
# **/target
# key: ${{ runner.os }}-cargo-cli-PS-${{ hashFiles('**/Cargo.lock') }}
# - run: git config --global user.name test
# - run: git config --global user.email example@email.com
# - uses: actions-rs/cargo@v1.0.3
# with:
# command: run
# args: --bin create-rust-app -- create -c -d sqlite -b poem --plugins=container test-project
# - run: cd test-project && printf "// @generated automatically by Diesel CLI.\ndiesel::table! {\n todos (id) {\n id -> Int4,\n text -> Text,\n created_at -> Timestamptz,\n updated_at -> Timestamptz,\n }\n}" >> ./backend/schema.rs && cargo dsync && cargo check
#
# Poem-Sqlite-Auth:
# needs: [Poem-Sqlite-None]
# name: Poem w/ Sqlite and the auth plugin
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4.1.4
# - uses: rui314/setup-mold@v1
# - run: rustup install stable
# - run: rustup update
# - uses: actions/cache@v4.0.2
# with:
# path: |
# **/.cargo/.build
# **/target
# key: ${{ runner.os }}-cargo-cli-PS-${{ hashFiles('**/Cargo.lock') }}
# - run: git config --global user.name test
# - run: git config --global user.email example@email.com
# - uses: actions-rs/cargo@v1.0.3
# with:
# command: run
# args: --bin create-rust-app -- create -c -d sqlite -b poem --plugins=auth test-project
# - run: cd test-project && printf "// @generated automatically by Diesel CLI.\ndiesel::table! {\n todos (id) {\n id -> Int4,\n text -> Text,\n created_at -> Timestamptz,\n updated_at -> Timestamptz,\n }\n}" >> ./backend/schema.rs && cargo dsync && cargo check
#
# Poem-Sqlite-Storage:
# needs: [Poem-Sqlite-None]
# name: Poem w/ Sqlite and the storage plugin
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4.1.4
# - uses: rui314/setup-mold@v1
# - run: rustup install stable
# - run: rustup update
# - uses: actions/cache@v4.0.2
# with:
# path: |
# **/.cargo/.build
# **/target
# key: ${{ runner.os }}-cargo-cli-PS-${{ hashFiles('**/Cargo.lock') }}
# - run: git config --global user.name test
# - run: git config --global user.email example@email.com
# - uses: actions-rs/cargo@v1.0.3
# with:
# command: run
# args: --bin create-rust-app -- create -c -d sqlite -b poem --plugins=storage test-project
# - run: cd test-project && printf "// @generated automatically by Diesel CLI.\ndiesel::table! {\n todos (id) {\n id -> Int4,\n text -> Text,\n created_at -> Timestamptz,\n updated_at -> Timestamptz,\n }\n}" >> ./backend/schema.rs && cargo dsync && cargo check
#
# Poem-Sqlite-GraphQL:
# needs: [Poem-Sqlite-None]
# name: Poem w/ Sqlite and the graphql plugin
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4.1.4
# - uses: rui314/setup-mold@v1
# - run: rustup install stable
# - run: rustup update
# - uses: actions/cache@v4.0.2
# with:
# path: |
# **/.cargo/.build
# **/target
# key: ${{ runner.os }}-cargo-cli-PS-${{ hashFiles('**/Cargo.lock') }}
# - run: git config --global user.name test
# - run: git config --global user.email example@email.com
# - uses: actions-rs/cargo@v1.0.3
# with:
# command: run
# args: --bin create-rust-app -- create -c -d sqlite -b poem --plugins=graphql,auth test-project
# - run: cd test-project && printf "// @generated automatically by Diesel CLI.\ndiesel::table! {\n todos (id) {\n id -> Int4,\n text -> Text,\n created_at -> Timestamptz,\n updated_at -> Timestamptz,\n }\n}" >> ./backend/schema.rs && cargo dsync && cargo check