name: Docker on: push: branches: master pull_request: env: IMAGE_NAME: ooklaserver jobs: test: runs-on: [ubuntu-latest] steps: - uses: actions/checkout@v2 - name: Build Test run: docker build . --file Dockerfile push: needs: [test] name: Publish to Docker Hub runs-on: [ubuntu-latest] steps: - uses: actions/checkout@v2 - name: Build image run: docker build . --file Dockerfile -t ${{ secrets.hub_user }}/$IMAGE_NAME - name: Login to Docker Hub run: echo "${{ secrets.hub_token }}" | docker login -u ${{ secrets.hub_user }} --password-stdin - name: Push Image to Docker Hub run: | docker push ${{ secrets.hub_user }}/$IMAGE_NAME:$GITHUB_SHA docker push ${{ secrets.hub_user }}/$IMAGE_NAME:latest