aboutsummaryrefslogtreecommitdiffstats
path: root/.gitea/workflows/ci.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.gitea/workflows/ci.yaml')
-rw-r--r--.gitea/workflows/ci.yaml48
1 files changed, 48 insertions, 0 deletions
diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml
new file mode 100644
index 0000000..94b2b10
--- /dev/null
+++ b/.gitea/workflows/ci.yaml
@@ -0,0 +1,48 @@
+name: CI
+
+# For all pushes to the main branch run the tests and push the image to the
+# GitHub registry under an edge tag so we can use it for the nightly
+# integration tests
+on: [push]
+
+jobs:
+ docker:
+ runs-on: ubuntu-latest
+ steps:
+ # GitHub Actions do not automatically checkout your projects. If you need the code
+ # you need to check it out.
+ - name: Checkout
+ uses: https://git.stdv.de/Mirrors/[email protected]
+ - name: Prepare
+ id: prep
+ run: |
+ DOCKER_IMAGE=git.stdv.de/saturneric/gpgfrontend-manual
+ VERSION=$(git rev-parse --short HEAD)
+ # Add timestamp for better versioning
+ TIMESTAMP=$(date +%Y%m%d%H%M%S)
+ TAGS="${DOCKER_IMAGE}:${VERSION}"
+ TAGS="$TAGS,${DOCKER_IMAGE}:${VERSION}-${TIMESTAMP}"
+ TAGS="$TAGS,${DOCKER_IMAGE}:latest"
+ echo "tags=${TAGS}" >> $GITHUB_OUTPUT
+
+ - name: Set up Docker Buildx
+ id: buildx
+ uses: https://git.stdv.de/Mirrors/setup-buildx-action@v2
+
+ - name: Login to Gitea
+ if: github.event_name != 'pull_request'
+ uses: https://git.stdv.de/Mirrors/login-action@v2
+ with:
+ registry: git.stdv.de
+ username: ${{ secrets.DOCKER_USERNAME }}
+ password: ${{ secrets.DOCKER_PASSWORD }}
+
+ - name: Build & Push
+ id: docker_build
+ uses: https://git.stdv.de/Mirrors/build-push-action@v4
+ with:
+ builder: ${{ steps.buildx.outputs.name }}
+ context: .
+ file: ./Dockerfile
+ push: ${{ github.event_name != 'pull_request' }}
+ tags: ${{ steps.prep.outputs.tags }}