Compare commits

...
Author SHA1 Message Date
phoenix 944b6f9c75 Cleanup
labyrinth release Tagging / release (pull_request) Successful in 2m6s
2026-08-06 12:45:32 -04:00
phoenix 0f5730f242 Making it more flexible 2026-08-06 12:45:24 -04:00
phoenix dd5ec8a5be ci: Added release worklfow 2026-08-06 12:45:14 -04:00
3 changed files with 81 additions and 1 deletions
+58
View File
@@ -0,0 +1,58 @@
name: labyrinth release Tagging
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
release:
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v6
with:
fetch-depth: 0 # Important for git describe --tags
- name: Install Rust
uses: actions-rs/toolchain@v1
with:
toolchain: 1.97
components: cargo
- uses: Swatinem/rust-cache@v2
- name: Extract Version from Cargo.toml
id: version
run: |
VERSION=$(grep '^version = "' Cargo.toml | sed -E 's/version = "([^"]+)"/\1/')
PROJECT_COMMIT_HASH=$(git rev-parse HEAD | cut -c 1-10)
BRANCH_REF="${{ gitea.ref }}"
BRANCH_NAME=$(echo "$BRANCH_REF" | cut -d '/' -f 3)
PROJECT_TAG_RELEASE="v$VERSION-$BRANCH_NAME-$PROJECT_COMMIT_HASH-928"
echo "::set-output name=project_tag_release::$PROJECT_TAG_RELEASE"
echo "Version: $VERSION"
echo "Hash: $PROJECT_COMMIT_HASH"
echo "Branh ref: $BRANCH_REF"
echo "Branch: $BRANCH_NAME"
echo "Tag Release: $PROJECT_TAG_RELEASE"
- name: Print version
id: Version
run: |
echo "Printing version"
echo "Version: ${{ steps.version.outputs.project_tag_release }}"
- name: Create GitHub Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.version.outputs.project_tag_release }}
release_name: Release ${{ steps.version.outputs.project_tag_release }}
body: |
Release of version ${{ steps.version.outputs.project_tag_release }}
+3
View File
@@ -1,5 +1,8 @@
#[derive(Default)]
pub struct Config {
pub url: String,
pub bucket: String,
pub region: String,
pub access_key_id: String,
pub secret_key: String,
}
+20 -1
View File
@@ -1,5 +1,7 @@
pub mod config;
use aws_sdk_s3::config::{Credentials, Region};
#[derive(Default)]
pub struct Data {
pub filepath: String,
@@ -25,7 +27,24 @@ impl Labyrinth {
file_key: &str,
data: &Data,
) -> Result<aws_sdk_s3::operation::put_object::PutObjectOutput, Error> {
let config = aws_config::load_from_env().await;
// 1. Create credentials
let credentials = Credentials::new(
self.config.access_key_id.clone(),
self.config.secret_key.clone(),
None, // session_token - None for long-term credentials
None, // expires_after - None for long-term credentials
"maze", // provider_name - just a label
);
// 2. Create region
let region = Region::new(self.config.region.to_string());
let config = aws_config::from_env()
.region(region)
.credentials_provider(credentials)
.load()
.await;
// let config = aws_config::load_from_env().await;
let client = aws_sdk_s3::Client::new(&config);
let data_content = if data.raw_data.is_empty() {