From 161c4f02d215030e828a9d06e16247fc166a9c7c Mon Sep 17 00:00:00 2001 From: Ruslan Bakiev <572431+veikab@users.noreply.github.com> Date: Fri, 8 May 2026 12:19:51 +0700 Subject: [PATCH] Add Gitea deployment workflow --- .dockerignore | 5 ++ .gitea/workflows/build-and-deploy.yml | 70 +++++++++++++++++++++++++++ Dockerfile | 11 +++++ nginx.conf | 10 ++++ 4 files changed, 96 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitea/workflows/build-and-deploy.yml create mode 100644 Dockerfile create mode 100644 nginx.conf diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..98bd8f2 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +.dart_tool +build +.env +.git +ios/Flutter/.last_build_id diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml new file mode 100644 index 0000000..03bd542 --- /dev/null +++ b/.gitea/workflows/build-and-deploy.yml @@ -0,0 +1,70 @@ +name: Build and deploy Flutter Web + +on: + push: + branches: + - main + +jobs: + build: + runs-on: build-host + env: + SERVICE_NAME: flutter + IMAGE: gitea.dsrptlab.com/mapflow/flutter:${{ github.sha }} + DOKPLOY_APPLICATION_ID: 9UR7Tpp9v_I6Ueu04sUiu + steps: + - uses: actions/checkout@v4 + + - name: Log in to Gitea registry + run: | + echo "${{ secrets.REGISTRY_TOKEN }}" | docker login gitea.dsrptlab.com \ + -u "${{ secrets.REGISTRY_USERNAME }}" \ + --password-stdin + + - name: Build and push image + run: | + set -euo pipefail + builder="mapflow-builder" + if ! docker buildx inspect "$builder" >/dev/null 2>&1; then + docker buildx create --name "$builder" --driver docker-container --buildkitd-config /etc/buildkit/buildkitd.toml + fi + docker buildx use "$builder" + docker buildx inspect --bootstrap + docker buildx build --push --tag "$IMAGE" . + + - name: Skip stale deployment + run: | + set -euo pipefail + latest_sha="$(git ls-remote origin refs/heads/main | awk '{print $1}')" + if [ "$latest_sha" = "${GITHUB_SHA}" ]; then + touch .deploy-current + else + echo "A newer main commit exists: $latest_sha. Skipping deploy for ${GITHUB_SHA}." + fi + + - name: Update Dokploy image + run: | + set -euo pipefail + [ -f .deploy-current ] || exit 0 + payload=$(cat <