diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..e6dae56 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,41 @@ +# Git +.git +.gitignore +.gitea + +# Documentation +*.md +LICENSE + +# IDE +.vscode +.idea +*.swp +*.swo +*~ + +# Build artifacts +keenetic-exporter +*.exe +*.dll +*.so +*.dylib + +# Test files +*_test.go +testdata + +# Go workspace +go.work +go.work.sum + +# Configuration examples +config.yaml.example +config.example.yaml + +# Logs +*.log + +# Temporary files +tmp/ +temp/ diff --git a/.gitea/workflows/docker-build.yml b/.gitea/workflows/docker-build.yml new file mode 100644 index 0000000..50b8cdd --- /dev/null +++ b/.gitea/workflows/docker-build.yml @@ -0,0 +1,33 @@ +name: Build and Push Docker Image + +on: + push: + branches: + - main + +jobs: + build-and-push: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Login to Gitea Container Registry + uses: docker/login-action@v3 + with: + registry: gitea.sinav-lab.com + username: ${{ gitea.actor }} + password: ${{ secrets.GITEA_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v5 + with: + context: . + push: true + tags: gitea.sinav-lab.com/sinav/keenetic-exporter:latest + cache-from: type=registry,ref=gitea.sinav-lab.com/sinav/keenetic-exporter:buildcache + cache-to: type=registry,ref=gitea.sinav-lab.com/sinav/keenetic-exporter:buildcache,mode=max