--- ######################### ######################### ## Deploy Docker Image ## ######################### ######################### # # Documentation: # https://help.github.com/en/articles/workflow-syntax-for-github-actions # ####################################### # Start the job on all push to master # ####################################### on: release: # Want to run the automation when a release is created types: ['created'] ############### # Set the Job # ############### jobs: build: # Name the Job name: Deploy Docker Image - Release # Set the agent to run on runs-on: ubuntu-latest # Only run on main repo if: github.repository == 'github/super-linter' ################## # Load all steps # ################## steps: ########################## # Checkout the code base # ########################## - name: Checkout Code uses: actions/checkout@v2.3.4 ######################## # Get the current date # ######################## - name: Get current date run: echo "BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> ${GITHUB_ENV} ######################## # Setup Docker build X # ######################## - name: Setup BuildX uses: docker/setup-buildx-action@v1 ############################### # Login to DockerHub registry # ############################### - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} ###################################### # Login to GitHub Container registry # ###################################### - name: Login to GitHub Container Registry uses: docker/login-action@v1 with: username: ${{ secrets.GCR_USERNAME }} password: ${{ secrets.GCR_TOKEN }} registry: ghcr.io ########################################### # Build and Push containers to registries # ########################################### - name: Build and push uses: docker/build-push-action@v2 with: context: . file: ./Dockerfile build-args: | BUILD_DATE=${{ env.BUILD_DATE }} BUILD_REVISION=${{ github.sha }} BUILD_VERSION=${{ github.sha }} push: true tags: | github/super-linter:latest github/super-linter:v3 github/super-linter:${{ github.event.release.tag_name }} ghcr.io/github/super-linter:latest ghcr.io/github/super-linter:v3 ghcr.io/github/super-linter:${{ github.event.release.tag_name }}