diff --git a/.dockerignore b/.dockerignore index 31bb6fd..432d5d7 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,7 @@ .git +.github .gitignore +cache Dockerfile docker-compose.yml LICENSE diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..2c7d170 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: + # Maintain dependencies for GitHub Actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml new file mode 100644 index 0000000..615ebcc --- /dev/null +++ b/.github/workflows/docker-build.yml @@ -0,0 +1,45 @@ +name: Docker Multi-Architecture Build + +on: + push: + paths-ignore: + - "**.md" + branches: + - dev-indep + +jobs: + build-docker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + with: + platforms: all + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 + with: + version: latest + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: cache docker cache + uses: actions/cache@v2.1.1 + with: + path: ${{ github.workspace }}/cache + key: ${{ runner.os }}-docker-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-docker-${{ hashFiles('**/requirements.txt') }} + - name: Build and push + uses: docker/build-push-action@v2 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64,linux/arm64 + push: true + tags: ytorg/yotter:latest + cache-from: type=local,src=cache + cache-to: type=local,dest=cache