3 Commits

Author SHA1 Message Date
d1cbf972fe since branch names may contain slashes and other special chars they are not suitable for tag names. only use the hash
Some checks failed
Build and deploy the backend to staging / Build and push image (pull_request) Successful in 1m54s
Run linting on the backend code / Build (pull_request) Successful in 3m19s
Run testing on the backend code / Build (pull_request) Failing after 24m59s
2025-10-13 18:05:27 +02:00
fe2a0cf1d5 add missing dollar sign
Some checks failed
Build and deploy the backend to staging / Build and push image (pull_request) Failing after 36s
Run linting on the backend code / Build (pull_request) Successful in 2m46s
Run testing on the backend code / Build (pull_request) Has been cancelled
2025-10-13 18:03:39 +02:00
c11faee824 towards a better gitops deploy strategy
Some checks failed
Build and deploy the backend to staging / Build and push image (pull_request) Failing after 38s
Run linting on the backend code / Build (pull_request) Successful in 3m20s
Run testing on the backend code / Build (pull_request) Failing after 27m28s
2025-10-13 17:17:02 +02:00
9 changed files with 32 additions and 62 deletions

1
.envrc Normal file
View File

@@ -0,0 +1 @@
use nix

View File

@@ -10,15 +10,7 @@ jobs:
name: Build and push image
uses: ./.gitea/workflows/workflow_build-image.yaml
with:
tag: stable
# sets the tag to the git tag that triggered the workflow - the deployment (configured in a separate repository) will use this tag and be deployed to production by argocd
tag: ${{ github.ref_name }}
secrets:
PACKAGE_REGISTRY_ACCESS: ${{ secrets.PACKAGE_REGISTRY_ACCESS }}
deploy-prod:
name: Deploy to production
uses: ./.gitea/workflows/workflow_deploy-container.yaml
with:
overlay: prod
secrets:
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
needs: build-and-push

View File

@@ -12,15 +12,7 @@ jobs:
name: Build and push image
uses: ./.gitea/workflows/workflow_build-image.yaml
with:
tag: unstable
# sets a unique tag for each commit in the PR - this gets deployed to a separate application instance using argocd
tag: sha${{ github.sha }}
secrets:
PACKAGE_REGISTRY_ACCESS: ${{ secrets.PACKAGE_REGISTRY_ACCESS }}
deploy-prod:
name: Deploy to staging
uses: ./.gitea/workflows/workflow_deploy-container.yaml
with:
overlay: stg
secrets:
KUBE_CONFIG: ${{ secrets.KUBE_CONFIG }}
needs: build-and-push

View File

@@ -1,35 +0,0 @@
on:
workflow_call:
inputs:
overlay:
required: true
type: string
secrets:
KUBE_CONFIG:
required: true
name: Deploy the newly built container
jobs:
deploy:
name: Deploy
runs-on: ubuntu-latest
steps:
- uses: https://gitea.com/actions/checkout@v4
with:
submodules: true
- name: setup kubectl
uses: https://github.com/azure/setup-kubectl@v4
- name: Set kubeconfig
run: |
echo "${{ secrets.KUBE_CONFIG }}" > kubeconfig
- name: Deploy to k8s
run: |
kubectl apply -k backend/deployment/overlays/${{ inputs.overlay }} --kubeconfig=kubeconfig
kubectl -n anyway-backend rollout restart deployment/anyway-backend-${{ inputs.overlay }} --kubeconfig=kubeconfig

1
.gitignore vendored
View File

@@ -1 +1,2 @@
cache/
.direnv/

8
.vscode/launch.json vendored
View File

@@ -9,9 +9,7 @@
"name": "Backend - debug",
"type": "debugpy",
"request": "launch",
"env": {
"DEBUG": "true"
},
"envFile": "${workspaceFolder}/backend/debug.env",
"jinja": true,
"cwd": "${workspaceFolder}/backend",
"module": "fastapi",
@@ -25,9 +23,7 @@
"type": "debugpy",
"request": "launch",
"program": "src/tester.py",
"env": {
"DEBUG": "true"
},
"envFile": "${workspaceFolder}/backend/debug.env",
"cwd": "${workspaceFolder}/backend"
},
// frontend - flutter app

3
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"nixEnvSelector.nixFile": "${workspaceFolder}/default.nix"
}

5
backend/.gitignore vendored
View File

@@ -1,3 +1,6 @@
# all .env files
*.env
# osm-cache
cache_XML/
@@ -165,4 +168,4 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
#.idea/

17
default.nix Normal file
View File

@@ -0,0 +1,17 @@
{ pkgs ? import <nixpkgs> { config.android_sdk.accept_license = true; config.allowUnfree = true; } }:
pkgs.mkShell {
buildInputs = [
pkgs.flutter
#pkgs.android-tools # for adb
#pkgs.openjdk # required for Android builds
];
# Set up Android SDK paths if needed
shellHook = ''
export ANDROID_SDK_ROOT=${pkgs.androidsdk}/libexec/android-sdk
export PATH=$PATH:${pkgs.androidsdk}/libexec/android-sdk/platform-tools
echo "Flutter dev environment ready. 'adb' and 'flutter' are available."
'';
}