diff --git a/.github/workflows/auto-build.yml b/.github/workflows/auto-build.yml new file mode 100644 index 00000000..51f9131a --- /dev/null +++ b/.github/workflows/auto-build.yml @@ -0,0 +1,40 @@ +name: publishmultipledockerimages +on: + push: + branches: [ docker-mods ] + paths: + - '**/Dockerfile' + +jobs: + job1: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + - name: get changed files + id: getfile + run: | + echo "::set-output name=files::$(git diff-tree --no-commit-id --name-only -r ${{ github.sha }}| xargs)" + + - name: Login to GitHub Container Registry + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.PERSONAL_TOKEN }} + + - name: echo the changed files and build&push + run: | + for i in ${{ steps.getfile.outputs.files }} + do + directory="$( echo $i | cut -d'/' -f1 -s )" + if [ -z "$directory" ]; then + continue # Skip root dir + elif [ "$i" == *.md ]; then + continue # Skip markdown files + docker build . --file $i --tag theme.park:$directory + docker push ghcr.io/gilbn/theme.park:$directory + done