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.GH_PAT }} - 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