Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
ff99508
#feature - setting up worflows for multiple separated OS. Changelog g…
TheRustifyer Nov 2, 2022
62a3d8a
#feature - code-quality workflow for lint with Clippy, and formatting…
TheRustifyer Nov 2, 2022
95b3317
Added cache for multiple jobs on the new workflows
TheRustifyer Nov 2, 2022
f687286
Without sanitizer job due to workflow inconsistences
TheRustifyer Nov 2, 2022
08e206d
Code coverage workflow only runs on tags pushes
TheRustifyer Nov 2, 2022
1b02771
Deleted stable-i686-gnu from the continuous-integration workflow
TheRustifyer Nov 2, 2022
77bfba3
#Fix - Solved clippy warnings on canyon-connection
TheRustifyer Nov 2, 2022
bbd2dc7
#fix - Solved clippy warnings on canyon_crud crud module
TheRustifyer Nov 2, 2022
d5ee4d3
#fix - Cleaned Clippy warnings on the canyon-crud crate
TheRustifyer Nov 3, 2022
1aaeb25
#fix - Solved Clippy warnings on the canyon-manager crate
TheRustifyer Nov 3, 2022
cce1660
#fix - Solved Clippy warnings of the canyon-observer module
TheRustifyer Nov 3, 2022
3b4aea0
#fix - Solved all clippy warnings on the project
TheRustifyer Nov 3, 2022
df15e2c
#feature - formatted canyon-crud crate code with rustfmt
TheRustifyer Nov 4, 2022
75bf48f
#fix - cleaned and formatted code according rustfmt guidelines
TheRustifyer Nov 4, 2022
855d4ec
dockerizing the new integrations tests for the library
TheRustifyer Nov 4, 2022
a4eb82f
merged from stashed changes
TheRustifyer Nov 4, 2022
125d540
#feature - psql docker now has config for have an static ip, so there…
TheRustifyer Nov 4, 2022
c181aab
base test for the find by primary key crud operation
TheRustifyer Nov 4, 2022
2bd0aa6
tested both available associated functions to performn a find by prim…
TheRustifyer Nov 4, 2022
781e707
basic select operations integration testscompleted
TheRustifyer Nov 4, 2022
caf2e62
#feature - Integration Tests for the base CRUD operations available i…
TheRustifyer Nov 7, 2022
8c70c78
#feature - tests for the available operations in Canyon with search b…
TheRustifyer Nov 7, 2022
98bea10
Completed the tests for every CRUD operation available within Canyon
TheRustifyer Nov 7, 2022
bdd1f03
#fix - Base integration tests all are completed, at least, for every …
TheRustifyer Nov 8, 2022
77675bb
Clippy question mark warning ignored. Solved casts on literals when c…
TheRustifyer Nov 8, 2022
a7f7749
Corrected code quality workflow
TheRustifyer Nov 8, 2022
4f05ccc
#fix - More Clippy warnings
TheRustifyer Nov 8, 2022
6e5de2e
First try of wake up a postgres container with Docker directly from a…
TheRustifyer Nov 8, 2022
97df1b1
Setting docker container with postgres for Linux environments. Just u…
TheRustifyer Nov 9, 2022
cfed576
Merged origin/main
TheRustifyer Nov 10, 2022
11f456f
Cleaned workflow files. Concrete Linux-CI on tag push is mixed now wi…
TheRustifyer Nov 10, 2022
62a9775
Excluding Integration Tests from the non Linux machines
TheRustifyer Nov 10, 2022
7418147
Owning new generated dirs
TheRustifyer Nov 10, 2022
f0a5088
Code Cov report only on push tags
TheRustifyer Nov 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 72 additions & 0 deletions .github/changelog_configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
{
"categories": [
{
"title": "## 🚀 Features",
"labels": ["feature"]
},
{
"title": "## 🐛 Fixes",
"labels": ["fix"]
},
{
"title": "## 🧪 Tests",
"labels": ["test"]
},
{
"title": "## 🧪 Tests and some 🪄 Magic",
"labels": ["test", "magic"],
"exclude_labels": ["no-magic"],
"exhaustive": true,
"empty_content": "- no matching PRs"
}
],
"ignore_labels": [
"ignore"
],
"sort": {
"order": "ASC",
"on_property": "mergedAt"
},
"template": "${{CHANGELOG}}\n\n<details>\n<summary>Uncategorized</summary>\n\n${{UNCATEGORIZED}}\n</details>",
"pr_template": "- ${{TITLE}}\n - PR: #${{NUMBER}}",
"empty_template": "- no changes",
"label_extractor": [
{
"pattern": "(.) (.+)",
"target": "$1",
"flags": "gu"
},
{
"pattern": "\\[Issue\\]",
"on_property": "title",
"method": "match"
}
],
"duplicate_filter": {
"pattern": "\\[ABC-....\\]",
"on_property": "title",
"method": "match"
},
"transformers": [
{
"pattern": "[\\-\\*] (\\[(...|TEST|CI|SKIP)\\])( )?(.+?)\n(.+?[\\-\\*] )(.+)",
"target": "- $4\n - $6"
}
],
"max_tags_to_fetch": 200,
"max_pull_requests": 200,
"max_back_track_time_days": 365,
"exclude_merge_branches": [
"Owner/qa"
],
"tag_resolver": {
"method": "semver",
"filter": {
"pattern": "api-(.+)",
"flags": "gu"
}
},
"base_branches": [
"dev"
]
}
35 changes: 0 additions & 35 deletions .github/workflows/cache.yml

This file was deleted.

71 changes: 71 additions & 0 deletions .github/workflows/code-coverage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: Linux CI && Code Coverage

on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]+'

env:
CARGO_TERM_COLOR: always

jobs:
code-coverage:
permissions:
contents: write
env:
CARGO_INCREMENTAL: '0'
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Use nightly toolchain
run: |
rustup toolchain install nightly
rustup override set nightly

- name: Caching cargo dependencies
id: project-cache
uses: Swatinem/rust-cache@v2

- if: ${{ steps.cache-cargo.outputs.cache-hit != 'true' }}
name: Install grcov
run: cargo install grcov

- name: Make the USER own the working directory
if: ${{ matrix.os == 'ubuntu-latest' }}
run: sudo chown -R $USER:$USER ${{ github.workspace }}

- name: Waking up docker
run: docker-compose -f ./docker/docker-compose.yml up -d

- name: Run tests
run: |
cargo test --all-features --no-fail-fast --target=x86_64-unknown-linux-gnu -- --show-output --test-threads=1

- name: Waking up docker
run: |
docker-compose -f ./docker/docker-compose.yml down
sudo chown -R $USER:$USER ${{ github.workspace }}
rm -rf ./docker/postgres-data

- name: Generate code coverage report
run: |
grcov . -s . --binary-path ./target/debug/ -t html --branch --ignore-not-existing -o ./target/debug/coverage
grcov . -s . --binary-path ./target/debug/ -t cobertura --branch --ignore-not-existing -o ./target/debug/coverage/code_cov.xml

- name: Publish Test Results
uses: actions/upload-artifact@v3
with:
name: Unit Test Results
path: |
./target/debug/coverage/code_cov.xml
./target/debug/coverage/index.html

- name: Publish coverage report to GitHub Pages
uses: JamesIves/github-pages-deploy-action@v4
with:
folder: ./target/debug/coverage
token: ${{ secrets.GITHUB_TOKEN }}
60 changes: 60 additions & 0 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Code quality and sanity

on:
push:
branches: '*'
pull_request:
branches: '*'

jobs:
clippy:
name: Lint with Clippy
runs-on: ubuntu-latest
env:
RUSTFLAGS: -Dwarnings
steps:
- uses: actions/checkout@v3

- name: Caching project dependencies
id: project-cache
uses: Swatinem/rust-cache@v2

- uses: hecrj/setup-rust-action@v1
with:
components: clippy
- run: cargo clippy --workspace --all-targets --verbose --all-features -- -A clippy::question_mark
rustfmt:
name: Verify code formatting
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Caching project dependencies
id: project-cache
uses: Swatinem/rust-cache@v2

- uses: hecrj/setup-rust-action@v1
with:
components: rustfmt

- run: cargo fmt --all -- --check

check-rustdoc-links:
name: Check intra-doc links
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
crate: [canyon_connection, canyon_crud, canyon_macros, canyon_observer, canyon_manager, canyon_observer, canyon_sql]
steps:
- uses: actions/checkout@v3

- name: Caching project dependencies
id: project-cache
uses: Swatinem/rust-cache@v2

- uses: hecrj/setup-rust-action@v1
with:
rust-version: nightly

- run: cargo rustdoc -p ${{ matrix.crate }} --all-features -- -D warnings
50 changes: 50 additions & 0 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Continuous Integration

on:
push:
branches: 'main'
pull_request:
branches: 'main'

env:
CARGO_TERM_COLOR: always

jobs:
multiplatform-tests:
name: Testing on Rust ${{ matrix.rust }} for ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- { rust: stable, os: ubuntu-latest }
- { rust: nightly, os: ubuntu-latest }
- { rust: stable, os: macos-latest }
- { rust: stable, os: windows-latest }

steps:
- name: Make the USER own the working directory
if: ${{ matrix.os == 'ubuntu-latest' }}
run: sudo chown -R $USER:$USER ${{ github.workspace }}

- uses: actions/checkout@v3

- name: docker-compose
if: ${{ matrix.os == 'ubuntu-latest' }}
run: docker-compose -f ./docker/docker-compose.yml up -d

- name: Caching cargo dependencies
id: project-cache
uses: Swatinem/rust-cache@v2

- uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust }}

- name: Run all tests, UNIT and INTEGRATION for Linux targets
if: ${{ matrix.os == 'ubuntu-latest' }}
run: cargo test --verbose --workspace --all-features --no-fail-fast -- --show-output --test-threads=1

- name: Run UNIT tests with no external connections for the rest of the defined targets
if: ${{ matrix.os != 'ubuntu-latest' }}
run: cargo test --verbose --workspace --exclude tests --all-features --no-fail-fast -- --show-output
27 changes: 27 additions & 0 deletions .github/workflows/macos-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: macOS CI

on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]+'

env:
CARGO_TERM_COLOR: always

jobs:
linux-tests:
runs-on: macos-latest
name: Tests for macOS
env:
CARGO_TERM_COLOR: always
steps:
- uses: actions/checkout@v3

- name: Caching cargo deps
id: ci-cache
uses: Swatinem/rust-cache@v2

- name: Running tests for macOS targets
run: |
cargo test --all-features --workspace --exclude tests
36 changes: 0 additions & 36 deletions .github/workflows/publish-tests-results.yml

This file was deleted.

27 changes: 0 additions & 27 deletions .github/workflows/publish.yaml

This file was deleted.

Loading