Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrading libraries #10

Merged
merged 2 commits into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
61 changes: 61 additions & 0 deletions .github/workflows/docker-build-and-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Build and Push Docker Image with Automated Versioning

on:
push:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2

- name: Set up Git for tag management
run: |
git config --global user.email "[email protected]"
git config --global user.name "GitHub CI Bot"

- name: Extract Current Version from Git Tags
id: version
run: |
latest_tag=$(git describe --tags --abbrev=0)
if [ -z "$latest_tag" ]; then
latest_tag="0.0.0"
fi
IFS='.' read -r major minor patch <<< "$latest_tag"
patch=$((patch + 1)) # Increase the patch version; adjust as you prefer
new_version="$major.$minor.$patch"
echo "new_version=$new_version" >> $GITHUB_ENV

- name: Tag New Version in Git
run: |
git tag ${{ env.new_version }}
git push origin ${{ env.new_version }}

- name: Set up Rust
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal

- name: Build with LTO and PGO
run: |
export RUSTFLAGS="-Cprofile-use=flusso.profdata"
cargo build --release
unset RUSTFLAGS

- name: Package Optimized Binary in Docker Image
run: |
docker build -t diocrafts/flusso-ingress-controller:${{ env.new_version }} .

- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}

- name: Push Docker Image with New Version
run: |
docker push diocrafts/flusso-ingress-controller:${{ env.new_version }}
38 changes: 18 additions & 20 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,27 +1,25 @@
# Ignora los archivos de compilación de Rust
# Ignore Rust build output and artifacts generated by Cargo in the `/target` directory
/target/**


# Ignora archivos de compilación específicos de debug y release
# Ignore specific debug and release build directories across all project folders
**/debug/
**/release/

# Ignora archivos de dependencias y compilación de Cargo
/.cargo/
/Cargo.lock

# Ignora archivos de configuración de editor y sistema
*.swp
*.DS_Store
*.log
# Ignore Cargo-specific build and dependency files
/.cargo/ # Cargo configuration directory
/Cargo.lock # Dependency lockfile, not needed for libraries, but included for applications

# Ignora archivos de compilación y artefactos específicos de Rust
*.rlib
*.dSYM
*.exe
*.dll
*.so
*.dylib
*.stackdump
*.profraw
# Ignore editor and OS-specific temporary files
*.swp # Swap files generated by Vim or other editors
*.DS_Store # MacOS-specific metadata file
*.log # Log files, often generated during debugging

# Ignore Rust-specific compilation artifacts and temporary files
*.rlib # Rust library files
*.dSYM # Debug information for MacOS
*.exe # Executables on Windows
*.dll # Dynamic link libraries on Windows
*.so # Shared objects (Linux/Unix)
*.dylib # Dynamic libraries on MacOS
*.stackdump # Stack dumps on Windows (crash logs)
*.profraw # Profile-guided optimization data, generated during profiling
Loading