# On pushing to master branch, build and push docker images with tags # - latest # - shorted SHA name: latest on: push: branches: master jobs: # test: # runs-on: ubuntu-latest # steps: # - name: Checkout repository # uses: actions/checkout@v2 # - name: Set up JDK11 # uses: actions/setup-java@v1 # with: # java-version: 11 # - name: Run tests # run: mvn clean test # env: # SERVER_PWD: somePW # services: # seb-server-mariadb: # image: mariadb:10 # env: # MYSQL_ROOT_PASSWORD: somePW # MYSQL_ALLOW_EMPTY_PASSWORD: yes build: runs-on: ubuntu-latest steps: - name: Get short SHA uses: benjlevesque/short-sha@v1.2 id: short-sha - name: Store short SHA as environment variable run: echo $SHA env: SHA: ${{ steps.short-sha.outputs.sha }} - name: Checkout repository uses: actions/checkout@v2 - name: Set up JDK11 uses: actions/setup-java@v1 with: java-version: 11 - name: Cache Maven packages uses: actions/cache@v2 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Build with maven run: export sebserver-version=${{ env.SHA }} mvn clean package -DskipTests -Dbuild-version="${{ env.SHA }}" - uses: actions/upload-artifact@v2 with: name: Package path: target/seb-server.jar docker_push: runs-on: ubuntu-latest needs: build steps: - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Checkout repository uses: actions/checkout@v2 - name: Download a single artifact uses: actions/download-artifact@v2 with: name: Package # - # name: Generate tags # id: docker_tags # uses: dnaka91/action-docker-tags@v0.1 # - # name: Show generated tags # run: echo "${{ steps.docker_tags.outputs.tags }}" - name: Build and push id: docker_build uses: docker/build-push-action@v2 with: context: . file: ./docker/testing/distributed/sebuniversal.Dockerfile push: true tags: | bengig/seb-server:latest bengig/seb-server:${{ env.SHA }}