minor refactoring and fixes: dev module (#373) #184
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CLI Continuous Integration (Compilation tests for variations of Actix + 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-AS-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# naming convention is: [backend]-[database]-[plugins] | |
Actix-Sqlite-None: | |
name: Actix 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-AS-${{ hashFiles('**/Cargo.lock') }} | |
- run: git config --global user.name test | |
- run: git config --global user.email example@email.com | |
- run: cargo run --bin create-rust-app -- create -c -d sqlite -b actix-web 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 | |
Actix-Sqlite-All: | |
# needs: [Actix-Sqlite-None] | |
name: Actix 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-AS-all-${{ hashFiles('**/Cargo.lock') }} | |
- run: git config --global user.name test | |
- run: git config --global user.email example@email.com | |
- run: cargo run --bin create-rust-app -- create -c -d sqlite -b actix-web --plugins=auth,container,graphql,storage,utoipa 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 | |
# Actix-Sqlite-Container: | |
# needs: [Actix-Sqlite-None] | |
# name: Actix 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-AS-${{ 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 actix-web --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 | |
# | |
# Actix-Sqlite-Auth: | |
# needs: [Actix-Sqlite-None] | |
# name: Actix 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-AS-${{ 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 actix-web --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 | |
# | |
# Actix-Sqlite-Storage: | |
# needs: [Actix-Sqlite-None] | |
# name: Actix 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-AS-${{ 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 actix-web --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 | |
# | |
# Actix-Sqlite-GraphQL: | |
# needs: [Actix-Sqlite-None] | |
# name: Actix 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-AS-${{ 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 actix-web --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 | |
# | |
# Actix-Sqlite-Utoipa: | |
# needs: [Actix-Sqlite-None] | |
# name: Actix w/ Sqlite and the utoipa 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-AS-${{ 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 actix-web --plugins=auth,utoipa 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 | |
# - run: cd test-project && cargo dsync | |
# - uses: actions-rs/cargo@v1.0.3 | |
# with: | |
# command: build |