--- name: Build and push on: schedule: - cron: '0 3 * * *' push: branches: - 'main' jobs: test_shellcheck: name: check and test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install shellcheck run: apt update && apt install -y shellcheck - name: test run: ./shellcheck.sh buildpush: name: build_and_push needs: [test_shellcheck] runs-on: ubuntu-latest strategy: matrix: image: - name: postgres-backup path: postgres-backup - name: pyweb path: pyweb - name: shellcheck path: shellcheck - name: vaultwarden-backup path: vaultwarden-backup - name: metabase path: metabase steps: - uses: actions/checkout@v4 - name: Install buildah and podman run: | sudo apt update sudo apt install -y buildah podman - name: Build ${{ matrix.image.name }} image id: build uses: redhat-actions/buildah-build@v2 with: image: uleenucks/${{ matrix.image.name }} tags: latest containerfiles: | ${{ matrix.image.path }}/Containerfile - name: Push ${{ matrix.image.name }} to Docker Hub uses: redhat-actions/push-to-registry@v2 with: image: ${{ steps.build.outputs.image }} tags: ${{ steps.build.outputs.tags }} registry: docker.io username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }}