Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
483 commits
Select commit Hold shift + click to select a range
b9e6284
30-access-policies client admin
smart--petea Mar 2, 2024
de85d4b
30-access-policies removed src/routes/stack/service.rs
smart--petea Mar 2, 2024
618c30e
30-access-policies owner logic for POST /stack/:id
smart--petea Mar 2, 2024
b599b98
30-access-policies admin, GET /stack/:id
smart--petea Mar 2, 2024
15b890b
30-access-policies GET /stack, GET /admin/stack/user/:id
smart--petea Mar 3, 2024
9f92af2
delete action for project/cloud/server, require review and optimizati…
Mar 4, 2024
aca9fdc
form fields fix for server/cloud
Mar 4, 2024
98b5a7d
30-access-policies /stack/:id/deploy
smart--petea Mar 4, 2024
a193104
Merge pull request #36 from trydirect/30-access-policies
smart--petea Mar 4, 2024
4c152e9
cloud update testing
Mar 4, 2024
4cc5471
project update fix, request_json updates, body_into_form moved to form
Mar 6, 2024
b46620a
icon attrs
Mar 6, 2024
5fad9d9
30-access-polices working on the general JsonConfig
smart--petea Mar 8, 2024
810bb6a
30-access-polices json errors
smart--petea Mar 10, 2024
a83071a
30-access-policies json message for errors
smart--petea Mar 11, 2024
b402c83
30-access-policies json debug command. sketch
smart--petea Mar 11, 2024
2cf6a75
payload fix for deploy command
Mar 12, 2024
d708f82
30-access-policies read payload from file
smart--petea Mar 13, 2024
fd47bfc
30-access-policies - json debug command
smart--petea Mar 15, 2024
d89fb33
deploy function re-factoring, rabbitmq listener non-functional yet
Mar 15, 2024
0cf6105
mq listener, added futures_lite::stream::StraemExt
Mar 17, 2024
d5d5a76
merge issue-33 to dev
Mar 17, 2024
9450ef4
slight refactoring, deref() for subforms
Mar 17, 2024
f665d5d
mq listener, read queue and update status
Mar 20, 2024
d4d21b4
mq listener, read queue and update status
Mar 20, 2024
dc6c54f
fix warnings
Mar 20, 2024
3e367ee
fix restart policy for service
Mar 20, 2024
858ab0e
import fixes
Mar 21, 2024
3bdf56c
30 merge with dev
smart--petea Mar 21, 2024
d68bc5e
30-access-policies
smart--petea Mar 21, 2024
2f0507d
reconfigure rabbitmq queue
Mar 22, 2024
b1295b8
docker image tag validation fix
Mar 22, 2024
70cbfaf
30-access-policies
smart--petea Mar 22, 2024
db44167
30-access-policies project add
smart--petea Mar 23, 2024
63888bd
30-access-policies POST /project
smart--petea Mar 23, 2024
1637f6f
30-access-policies POST/PUT /project
smart--petea Mar 23, 2024
304f54b
30-access-policies admin get project
smart--petea Mar 23, 2024
c00e093
30-access-policies admin routes grouped
smart--petea Mar 23, 2024
0bc8e23
Merge pull request #40 from trydirect/30-access-policies
vsilent Mar 24, 2024
11c1397
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Mar 24, 2024
f53197a
merge dev into issue-33
Mar 24, 2024
5522fa8
Merge pull request #41 from trydirect/issue-33
vsilent Mar 24, 2024
4040014
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Mar 24, 2024
a720a03
casbin-debug command
smart--petea Mar 26, 2024
ba20592
casbin-debug casbin main logic
smart--petea Mar 26, 2024
7dde117
security for db records, initial steps, key is hardcoded for testing …
Mar 27, 2024
ac8ebd5
secure all other cloud cred fields
Mar 27, 2024
298bd0a
little of optimization, get rid of duplcates
Mar 27, 2024
9246620
reduce repetition and improving readability
Mar 27, 2024
6e46901
reduce repetition and improving readability
Mar 27, 2024
62ce2d8
user project list
Mar 27, 2024
d1f40b7
redis creds to .env
Mar 27, 2024
330732d
fix unwrap_or redis creds to .env
Mar 27, 2024
8edd783
casbin-debug policies
smart--petea Mar 27, 2024
71edb3a
casbin-debug print all rules
smart--petea Mar 28, 2024
82a9e1f
server updates
Mar 30, 2024
75d2c4d
Check casbin rule command, readme
Mar 30, 2024
865882d
enable casbin, use security key from env
Mar 30, 2024
4583964
initial casbin rules
Apr 1, 2024
3e50dcb
initial casbin rules
Apr 1, 2024
820f522
remove project_id from cloud, as cloud keys can be use across projects
Apr 1, 2024
0576773
fix warnings, return app id from docker image validator
Apr 2, 2024
28a8e58
casbin-debug explain features
smart--petea Apr 2, 2024
4478b71
Merge branch 'casbin-debug' of github.com:trydirect/stacker into casb…
smart--petea Apr 2, 2024
57c7671
casbin-debug
smart--petea Apr 3, 2024
d52877e
casbin-debug
smart--petea Apr 4, 2024
41b1ca6
unfinished tag fix
Apr 7, 2024
4bae859
casbin-debug command
smart--petea Apr 7, 2024
8b0058c
Merge pull request #46 from trydirect/casbin-debug
smart--petea Apr 7, 2024
b943f4c
from to try_from, repo name format error fix
Apr 8, 2024
f9de4db
Update README.md
vsilent Apr 10, 2024
5ebde02
Merge pull request #48 from trydirect/vsilent-patch-2
vsilent Apr 10, 2024
9d969c2
Update README.md
vsilent Apr 10, 2024
78efe82
Merge pull request #49 from trydirect/vsilent-patch-3
vsilent Apr 10, 2024
869ce54
remove extra structure
Apr 10, 2024
5a8d6ab
stacker logo added
Apr 10, 2024
6235bc6
Update README.md
vsilent Apr 10, 2024
a2560a2
Merge pull request #50 from trydirect/vsilent-patch-4
vsilent Apr 10, 2024
f4b2e2b
Update README.md
vsilent Apr 10, 2024
2d758a9
Merge pull request #51 from trydirect/vsilent-patch-5
vsilent Apr 10, 2024
83b9079
47
smart--petea Apr 11, 2024
1574404
social field should be optional
Apr 12, 2024
b7b3db5
cleanup
Apr 12, 2024
efb590c
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Apr 12, 2024
737ac4f
merge 43-secure-cloud-tokens
Apr 12, 2024
dba85f8
47 validate rating when added
smart--petea Apr 12, 2024
2c189c9
47 casbin rule for user edit rating
smart--petea Apr 12, 2024
ef67676
47 edit rating logic
smart--petea Apr 12, 2024
dbe6b9a
47 show only visible
smart--petea Apr 12, 2024
4758398
47 anonymous_get visible
smart--petea Apr 12, 2024
1390f70
47 admin_get_rating
smart--petea Apr 12, 2024
842df59
47 admin_list_handler, transaction
smart--petea Apr 12, 2024
9b130dd
47 user delete rating. partially
smart--petea Apr 12, 2024
72ce432
47 user delete rating
smart--petea Apr 13, 2024
e2c07b8
47 rating admin edit handler
smart--petea Apr 13, 2024
5255b65
47 delete rating by admin
smart--petea Apr 13, 2024
7696fe7
Merge branch 'dev' into 47-delete-endpoints
smart--petea Apr 13, 2024
592ef6f
Merge pull request #53 from trydirect/47-delete-endpoints
smart--petea Apr 13, 2024
fa1b3f8
#54 dockerhub command
smart--petea Apr 17, 2024
8fa9b9b
54 is_active. mut removed
smart--petea Apr 19, 2024
326619f
54
smart--petea Apr 19, 2024
67b8538
54 is_active with tokio::select!
smart--petea Apr 20, 2024
8bb3a99
54 login logic
smart--petea Apr 20, 2024
bab76d0
54 tracing
smart--petea Apr 22, 2024
5992f02
54 fixed test
smart--petea Apr 24, 2024
1d20fdf
Merge pull request #56 from trydirect/54-parallel-dockerhub-requests
smart--petea Apr 24, 2024
a59e8a2
57 rating output in dependence of user's status
smart--petea Apr 26, 2024
d19c9e9
57 model Rating. fully removed serialize
smart--petea Apr 27, 2024
63e8b2f
Merge pull request #58 from trydirect/57-conditional-rating-serializa…
vsilent Apr 28, 2024
fd1169f
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Apr 28, 2024
2fc2214
check public repo fix
Apr 28, 2024
8eeddc4
add 'command' instruction to docker-compose generator
Jun 13, 2024
ff73f07
Merge branch 'main' into dev
vsilent Jun 15, 2024
bf0181a
docker compose 'command' added when non empty, vendor public repo che…
Jun 17, 2024
9ae0d76
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Jun 17, 2024
780acb2
Merge pull request #59 from trydirect/dev
vsilent Jun 17, 2024
185de0c
limit docker image search with ?name parameter. Find exact tag by name
Jun 27, 2024
c8e701a
Add ability to connect on-premise own server
Jul 10, 2024
dda0930
Server cloud setting columns like region should allow null for the ow…
Jul 11, 2024
02385bf
set provider to 'own' when deal with on-premise or own server conenction
Jul 11, 2024
97f5f84
agreement accept, and management for admin api
Jul 18, 2024
c91de51
github actions untilities versioning update, agreement funcs added
Nov 14, 2024
f1ad3c4
cargo update
Nov 14, 2024
5e9ca01
.sqlx added to the repo for offline build
Nov 14, 2024
095b7ba
test offline build
Nov 14, 2024
0229021
test offline build
Nov 14, 2024
96b0f95
Update docker.yml
vsilent Nov 14, 2024
970f876
workflow SQLX_OFFLINE
Nov 14, 2024
4225c62
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Nov 14, 2024
715a2cb
workflow SQLX_OFFLINE
Nov 14, 2024
c93f16a
workflow SQLX_OFFLINE
Nov 14, 2024
bb0c645
workflow SQLX_OFFLINE
Nov 14, 2024
70a743d
workflow SQLX_OFFLINE
Nov 14, 2024
1c8ea9a
workflow SQLX_OFFLINE
Nov 15, 2024
ab16922
workflow SQLX_OFFLINE
Nov 15, 2024
2e698bd
workflow SQLX_OFFLINE
Nov 15, 2024
a631162
.sqlx files
Nov 15, 2024
cbe46b6
.sqlx files
Nov 15, 2024
d8dfcaa
Add renovate.json
renovate[bot] Jan 22, 2025
59e1ba5
Merge pull request #63 from trydirect/renovate/configure
vsilent Jan 22, 2025
9079a2f
Update Rust crate sqlx to 0.8.0 [SECURITY]
renovate[bot] Jan 22, 2025
df11337
Update Rust crate base64 to v0.22.1
renovate[bot] Jan 22, 2025
2e003f4
Merge pull request #64 from trydirect/renovate/crate-sqlx-vulnerability
vsilent Jan 22, 2025
fa66a47
Merge pull request #65 from trydirect/renovate/base64-0.x-lockfile
vsilent Jan 22, 2025
3b3a6c2
Update Rust crate sqlx to 0.8.1 [SECURITY]
renovate[bot] Jan 22, 2025
c2ac319
Merge pull request #67 from trydirect/renovate/crate-sqlx-vulnerability
vsilent Jan 22, 2025
3e731e5
initial commands
Dec 22, 2025
129bd71
All hardcoded IDs removed, Casbin rules use SERIAL
Dec 23, 2025
6c52f29
fixed warnings
Dec 23, 2025
1e1e7ca
project.body->metadata, agent registration/commands tests, middleware…
Dec 23, 2025
9267f9f
TODO updates
Dec 23, 2025
a56c531
take vault creds from .env instead
Dec 24, 2025
e7bb6be
agent commander
Dec 25, 2025
71e448e
casbin rules for agent, vault for token rotation
Dec 25, 2025
8d1b8d5
sqlx step problem in ci/cd
Dec 25, 2025
19ee730
sqlx step problem in ci/cd
Dec 25, 2025
49a8a75
fmt fail fix
Dec 25, 2025
44b4217
clippy fail fix
Dec 25, 2025
7cebd2f
Merge branch 'dev'
Dec 25, 2025
1e1a51c
cargo.lock re-gen
Dec 25, 2025
df6b65d
create linux/macos binaries
Dec 25, 2025
0091721
downgrade sqlx
Dec 25, 2025
7200fc1
sqlx cache
Dec 25, 2025
f64a978
Disable SQLX_OFFLINE for prepare
Dec 25, 2025
4e06a2f
sqlx-date.json generate
Dec 25, 2025
4e8326b
sqlx-date.json check
Dec 25, 2025
7c57cd7
sqlx-date.json check
Dec 25, 2025
6b00be7
sqlx-date.json check
Dec 25, 2025
32dde92
sqlx-date.json check
Dec 25, 2025
66a2d9a
sqlx 0.6 → 0.8 migration
Dec 26, 2025
a5e1a57
no console for prod build for now
Dec 26, 2025
c7d757b
tests config
Dec 26, 2025
81dcd46
config sources for tests
Dec 26, 2025
6f457b7
access_control.conf in Dockerfile
Dec 26, 2025
c449efd
Added Default implementations for all configuration structs in config…
Dec 26, 2025
dfb44a1
test required db running
Dec 26, 2025
3a4e071
migration fix, check if table casbin_rule table is created
Dec 27, 2025
421b69c
admin access project endpoint
Dec 27, 2025
0b09bfe
feat: Implement MCP server foundation
Dec 27, 2025
40ad075
root/admin_group user, MCP registry, tools implementation
Dec 28, 2025
aedb8b6
MCP server updates, websocker + cookie based auth, server connected
Dec 28, 2025
3b06fd3
Marketplace API init
Dec 29, 2025
77d8516
new migrations Marketplace added at Stacker
Dec 30, 2025
4f4698f
marketplace + product + tests
Jan 1, 2026
e1e0809
marketplace + product + tests
Jan 1, 2026
3817b21
root inherits user rights
Jan 1, 2026
6ac2d5c
category sync/category_code instead of category_id
Jan 2, 2026
010c3a5
access categories
Jan 2, 2026
922e814
categories endpoint
Jan 2, 2026
86d0ec6
categories endpoint
Jan 2, 2026
8786027
marketplace, categories import from connectors
Jan 2, 2026
7bfbacf
add connector example based on 3-d party auth service
Jan 2, 2026
3aba964
build on self-hosted, ssl problem
Jan 2, 2026
fb58d39
Casbin rules allow CRUD templates operations to groupd_admin
Jan 3, 2026
0a8b589
connector structure unified
Jan 5, 2026
63a5501
feat: implement comprehensive health check system
Jan 5, 2026
dacf17e
Potential fix for code scanning alert no. 6: Workflow does not contai…
vsilent Jan 5, 2026
65be441
fix: resolve compilation errors in health check module
Jan 5, 2026
79d4dc5
Merge pull request #78 from trydirect/worktree-2026-01-03T11-33-55
vsilent Jan 5, 2026
33a193a
Agent's anonymous registration with deployment key
Jan 6, 2026
d0533fa
Dockerhub, search namespaces and repos impl, not tested yet
Jan 6, 2026
9987301
api endpoint conflict fix
Jan 6, 2026
590c938
Automated tests for marketplace, user service, deployment_validators
Jan 6, 2026
02d329a
Automated tests for marketplace, user service, deployment_validators
Jan 6, 2026
a01bb7d
Merge branch 'feature-marketplace' of https://github.com/trydirect/st…
Jan 6, 2026
01d1aa3
api prefix added
Jan 6, 2026
2525abe
check deployment first and then register agent
Jan 6, 2026
bbc456f
keep agent registration separate
Jan 6, 2026
9f7b729
migration fix
Jan 6, 2026
b155c95
migration fix
Jan 6, 2026
628e051
migrations revert
Jan 6, 2026
d35df23
Dockerhub, search namespaces and repos impl, not tested yet
Jan 7, 2026
5dd5a40
syntax fix
Jan 7, 2026
ef45536
syntax fix
Jan 7, 2026
c1c75b1
update record, insert conflict fix, get template by slug and user
Jan 8, 2026
e051b42
few fixes and json response
Jan 9, 2026
5f82b72
new status panel commands
Jan 9, 2026
3370d85
alter deployment_hash column
Jan 9, 2026
c686510
Merge branch 'feature-marketplace' into worktree-2026-01-09T13-26-18
Jan 9, 2026
852925a
status_panel commands
Jan 9, 2026
bb44e26
remove FK constraint from commands
Jan 12, 2026
b9e4785
agent's path in wait()
Jan 12, 2026
d6faf38
Added deployment capabilities route: capabilities.rs with static comm…
Jan 13, 2026
2950ef3
command_queue fix
Jan 13, 2026
9c0a6f7
command_queue fix
Jan 13, 2026
6769848
Removed push logic from create.rs,Removed VaultClient dependency, we …
Jan 14, 2026
7494535
casbin rule for enqueu endpoint
Jan 14, 2026
4522654
Fix: Add Casbin agent role permissions for Status Panel
Jan 14, 2026
1074ab6
match report from agent by column id not command_id
Jan 15, 2026
624f46f
fetch by command_id not by id
Jan 15, 2026
af45537
sqlx files
Jan 15, 2026
9a036ac
User auth cache, compress internal requests
Jan 15, 2026
6d82d3f
cache cookies
Jan 15, 2026
0187e24
STACKER_AGENT_POLL_TIMEOUT_SECS, STACKER_AGENT_POLL_INTERVAL_SECS con…
Jan 16, 2026
4ea47ac
casbin_reload config driven
Jan 16, 2026
e7aedbe
sqlx files for offline build
Jan 16, 2026
e8b99ce
updated changelog and readme
Jan 16, 2026
8b750de
defaults
Jan 16, 2026
8046d52
self-hosted build disabled
Jan 16, 2026
5beb4ad
Added next_poll_secs to the response body metadata for the agent wait…
Jan 16, 2026
7aad273
Potential fix for code scanning alert no. 14: Cleartext transmission …
vsilent Jan 16, 2026
746a5a6
test fix, vault v1
Jan 16, 2026
cb54da4
Merge branch 'feature-performance-improvements' of https://github.com…
Jan 16, 2026
ebbf0d8
skip when Postgres isn’t reachable, so these won’t fail in CI without…
Jan 16, 2026
098e8dc
Fixed the missing fixture by switching the test to an existing mock p…
Jan 16, 2026
61629ea
fix blocked requests by removed that mutex and switched to Rc<RefCell…
Jan 16, 2026
2ddd365
fix docker.yml copy dist, npm fix
Jan 16, 2026
7d93d66
Merge pull request #79 from trydirect/feature-performance-improvements
vsilent Jan 16, 2026
72c5037
Simplify README by removing banner details
vsilent Jan 16, 2026
a0eb8e1
Update Rust crate casbin to v2.19.1
renovate[bot] Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
File renamed without changes.
19 changes: 17 additions & 2 deletions .env
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/stacker
DATABASE_URL=postgres://postgres:postgres@stackerdb:5432/stacker
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=stacker
POSTGRES_PORT=5432
POSTGRES_PORT=5432
SECURITY_KEY=SECURITY_KEY_SHOULD_BE_OF_LEN_32

REDIS_URL=redis://127.0.0.1/
# SQLX_OFFLINE=true

# Vault Configuration
VAULT_ADDRESS=http://127.0.0.1:8200
VAULT_TOKEN=your_vault_token_here
VAULT_AGENT_PATH_PREFIX=agent

STACKER_CASBIN_RELOAD_ENABLED=true
STACKER_CASBIN_RELOAD_INTERVAL_SECS=60

STACKER_AGENT_POLL_TIMEOUT_SECS=30
STACKER_AGENT_POLL_INTERVAL_SECS=2
75 changes: 52 additions & 23 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,36 @@ name: Docker CICD
on:
push:
branches:
- master
- main
- testing
- dev
pull_request:
branches:
- master
- main
- dev

jobs:
cicd-linux-docker:

cicd-docker:
name: Cargo and npm build
runs-on: ubuntu-latest
#runs-on: self-hosted
env:
SQLX_OFFLINE: true
steps:
- name: Checkout sources
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Install OpenSSL build deps
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y pkg-config libssl-dev

- name: Verify .sqlx cache exists
run: |
ls -lh .sqlx/ || echo ".sqlx directory not found"
find .sqlx -type f 2>/dev/null | wc -l

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
Expand All @@ -26,7 +43,7 @@ jobs:
components: rustfmt, clippy

- name: Cache cargo registry
uses: actions/cache@v3.0.7
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: docker-registry-${{ hashFiles('**/Cargo.lock') }}
Expand All @@ -35,7 +52,7 @@ jobs:
docker-

- name: Cache cargo index
uses: actions/cache@v3.0.7
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: docker-index-${{ hashFiles('**/Cargo.lock') }}
Expand All @@ -48,7 +65,7 @@ jobs:
head -c16 /dev/urandom > src/secret.key

- name: Cache cargo build
uses: actions/cache@v3.0.7
uses: actions/cache@v4
with:
path: target
key: docker-build-${{ hashFiles('**/Cargo.lock') }}
Expand Down Expand Up @@ -87,54 +104,57 @@ jobs:
command: clippy
args: -- -D warnings

- name: Run cargo build
- name: Build server (release)
uses: actions-rs/cargo@v1
with:
command: build
args: --release
args: --release --bin server

- name: npm install, build, and test
if: ${{ hashFiles('web/package.json') != '' }}
working-directory: ./web
run: |
npm install
npm run build
# npm test

- name: Archive production artifacts
uses: actions/upload-artifact@v2
if: ${{ hashFiles('web/package.json') != '' }}
uses: actions/upload-artifact@v4
with:
name: dist-without-markdown
path: |
web/dist
!web/dist/**/*.md

- name: Display structure of downloaded files
if: ${{ hashFiles('web/package.json') != '' }}
run: ls -R web/dist

- name: Copy app files and zip
run: |
mkdir -p app/stacker/dist
cp target/release/stacker app/stacker
cp -a web/dist/. app/stacker
cp docker/prod/Dockerfile app/Dockerfile
cp target/release/server app/stacker/server
if [ -d web/dist ]; then cp -a web/dist/. app/stacker; fi
cp Dockerfile app/Dockerfile
cd app
touch .env
tar -czvf ../app.tar.gz .
cd ..

- name: Upload app archive for Docker job
uses: actions/upload-artifact@v2.2.2
uses: actions/upload-artifact@v4
with:
name: artifact-linux-docker
path: app.tar.gz

cicd-docker:
cicd-linux-docker:
name: CICD Docker
runs-on: ubuntu-latest
needs: cicd-linux-docker
needs: cicd-docker
steps:
- name: Download app archive
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
name: artifact-linux-docker

Expand All @@ -144,12 +164,21 @@ jobs:
- name: Display structure of downloaded files
run: ls -R

- name: Docker build and publish
uses: docker/build-push-action@v1
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: trydirect/stacker
add_git_labels: true
tag_with_ref: true
#no-cache: true
-
name: Build and push
uses: docker/build-push-action@v6
with:
push: true
tags: trydirect/stacker:latest
3 changes: 2 additions & 1 deletion .github/workflows/notifier.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,12 @@ jobs:

notifyTelegram:
runs-on: ubuntu-latest
concurrency: build
steps:
- name: send custom message
uses: appleboy/telegram-action@master
with:
to: ${{ secrets.TELEGRAM_TO }}
token: ${{ secrets.TELEGRAM_TOKEN }}
message: |
"Issue ${{ github.event.action }}: \n${{ github.event.issue.html_url }}"
"Github actions on push: build in progress .. ${{ github.event.action }} "
79 changes: 69 additions & 10 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,81 @@
name: Rust
permissions:
contents: read

on:
push:
branches: [ "main" ]
branches: [ dev, main ]
pull_request:
branches: [ "main" ]
branches: [ dev, main ]

env:
CARGO_TERM_COLOR: always

jobs:
build:

runs-on: ubuntu-latest

name: Build binaries (Linux/macOS)
env:
SQLX_OFFLINE: true
strategy:
matrix:
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
artifact_name: stacker-linux-x86_64
- os: macos-latest
target: x86_64-apple-darwin
artifact_name: stacker-macos-x86_64
- os: macos-latest
target: aarch64-apple-darwin
artifact_name: stacker-macos-aarch64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
- uses: actions/checkout@v4
- name: Verify .sqlx cache exists
run: |
ls -lh .sqlx/ || echo ".sqlx directory not found"
find .sqlx -type f 2>/dev/null | wc -l
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
override: true
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-registry-
- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-index-
- name: Cache target directory
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-target-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-target-${{ matrix.target }}-
- name: Build server (release)
run: cargo build --release --target ${{ matrix.target }} --bin server --verbose

- name: Build console (release with features)
run: cargo build --release --target ${{ matrix.target }} --bin console --features explain --verbose
- name: Prepare binaries
run: |
mkdir -p artifacts
cp target/${{ matrix.target }}/release/server artifacts/server
cp target/${{ matrix.target }}/release/console artifacts/console
tar -czf ${{ matrix.artifact_name }}.tar.gz -C artifacts .
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact_name }}
path: ${{ matrix.artifact_name }}.tar.gz
retention-days: 7
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
target
.idea
.idea/
files
access_control.conf
configuration.yaml
configuration.yaml.backup
configuration.yaml.orig
.vscode/
.env
docs/*.sql
3 changes: 0 additions & 3 deletions .idea/.gitignore

This file was deleted.

12 changes: 0 additions & 12 deletions .idea/dataSources.xml

This file was deleted.

6 changes: 0 additions & 6 deletions .idea/inspectionProfiles/profiles_settings.xml

This file was deleted.

7 changes: 0 additions & 7 deletions .idea/misc.xml

This file was deleted.

8 changes: 0 additions & 8 deletions .idea/modules.xml

This file was deleted.

7 changes: 0 additions & 7 deletions .idea/sqldialects.xml

This file was deleted.

12 changes: 0 additions & 12 deletions .idea/stacker.iml

This file was deleted.

6 changes: 0 additions & 6 deletions .idea/vcs.xml

This file was deleted.

7 changes: 7 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
repos:
- repo: https://github.com/gitguardian/ggshield
rev: v1.28.0
hooks:
- id: ggshield
language_version: python3
stages: [commit]
Loading
Loading