name: Publish Docker image on: release: types: [published] jobs: push-simulator: name: Push Simulator runs-on: ubuntu-latest steps: - name: Prepare id: prep run: | DOCKER_IMAGE=atlargeresearch/opendc VERSION=edge if [[ $GITHUB_REF == refs/tags/* ]]; then VERSION=${GITHUB_REF#refs/tags/} fi echo "tags=${DOCKER_IMAGE}:${VERSION}" >> $GITHUB_OUTPUT - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Push to Docker Hub uses: docker/build-push-action@v3 with: push: true file: opendc-web/opendc-web-runner/Dockerfile repository: atlargeresearch/opendc tags: ${{ steps.prep.outputs.tags }} push-api: name: Push API runs-on: ubuntu-latest steps: - name: Prepare id: prep run: | DOCKER_IMAGE=atlargeresearch/opendc-web-api VERSION=edge if [[ $GITHUB_REF == refs/tags/* ]]; then VERSION=${GITHUB_REF#refs/tags/} fi echo "tags=${DOCKER_IMAGE}:${VERSION}" >> $GITHUB_OUTPUT - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Push to Docker Hub uses: docker/build-push-action@v3 with: push: true file: opendc-web/opendc-web-server/Dockerfile tags: ${{ steps.prep.outputs.tags }} push-ui: name: Push UI runs-on: ubuntu-latest steps: - name: Prepare id: prep run: | DOCKER_IMAGE=atlargeresearch/opendc-web-ui VERSION=edge if [[ $GITHUB_REF == refs/tags/* ]]; then VERSION=${GITHUB_REF#refs/tags/} fi echo "tags=${DOCKER_IMAGE}:${VERSION}" >> $GITHUB_OUTPUT - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Push to Docker Hub uses: docker/build-push-action@v3 with: push: true context: opendc-web/opendc-web-ui tags: ${{ steps.prep.outputs.tags }}