-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #10 from DioCrafts/feature/api-management
Upgrading libraries
- Loading branch information
Showing
25 changed files
with
1,153 additions
and
538 deletions.
There are no files selected for viewing
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
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 }} |
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
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 |
Oops, something went wrong.