# name of the workflow. # this is optional. name: Cloud Actions # events that will trigger this workflow. # here, we only have "pull_request", so the workflow will run # whenever we create a pull request. # other examples: [push] and [pull_request, push] on: pull_request: push: branches: - master # each workflow must have at least one job. # jobs run in parallel by default (we can change that). # each job groups together a series of steps to accomplish a purpose. jobs: Dockerhub: runs-on: ubuntu-latest # if: ${{ github.ref == 'refs/heads/master' || github.event.pull_request.merged == true }} # Runs if it's a push to 'main' or a merged PR to 'main' steps: - name: checkout uses: actions/checkout@v3 - name: Verify Docker is available run: | docker info docker version - name: Login to Dockerhub # log into docker hub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} # Using secret for Docker username password: ${{ secrets.DOCKER_PASSWORD }} # Using secret for Docker password id: docker-login - name: build container image # build the container run: docker compose build --no-cache id: docker-build - name: Upload to Dockerhub run: docker push darkicewolf50/darkicewolf50cloud:latest if: ${{ steps.docker-login.outcome == 'success' && steps.docker-build.outcome == 'success' }} - name: Upload with Git SHA tag run: | docker tag darkicewolf50/darkicewolf50cloud:latest darkicewolf50/darkicewolf50cloud:${{ github.sha }} docker push darkicewolf50/darkicewolf50cloud:${{ github.sha }}