name: Manual Build on: workflow_dispatch: inputs: version: description: 'Version of engine to build e.g. "3.4.4", "3.5"' required: true type: string release_name: description: 'Release name, usually "stable", but can also be something like "rc3", "beta1"' type: string default: "stable" required: true env: IMAGE_NAME: godot-ci jobs: build: name: Build Image runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - run: echo IMAGE_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Login to GitHub Container Registry uses: docker/login-action@v1.14.1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - run: echo IMAGE_TAG=$(echo ${{ github.event.inputs.release_name != 'stable' && format('.{0}', github.event.inputs.release_name) || '' }}) >> $GITHUB_ENV - name: Build and push Docker images uses: docker/build-push-action@v2.9.0 with: context: . file: Dockerfile push: true tags: | ghcr.io/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}:${{ github.event.inputs.version }}${{ env.IMAGE_TAG }} ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:${{ github.event.inputs.version }}${{ env.IMAGE_TAG }} build-args: | GODOT_VERSION=${{ github.event.inputs.version }} RELEASE_NAME=${{ github.event.inputs.release_name }} SUBDIR=${{ github.event.inputs.release_name != 'stable' && format('/{0}', github.event.inputs.release_name) || '' }} build-mono: name: Build Mono Image runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 - run: echo IMAGE_OWNER=$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]') >> $GITHUB_ENV - name: Login to GitHub Container Registry uses: docker/login-action@v1.14.1 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Login to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - run: echo IMAGE_TAG=$(echo ${{ github.event.inputs.release_name != 'stable' && format('.{0}', github.event.inputs.release_name) || '' }}) >> $GITHUB_ENV - name: Build and push Docker images uses: docker/build-push-action@v2.9.0 with: context: . file: mono.Dockerfile push: true tags: | ghcr.io/${{ env.IMAGE_OWNER }}/${{ env.IMAGE_NAME }}:mono-${{ github.event.inputs.version }}${{ env.IMAGE_TAG }} ${{ secrets.DOCKERHUB_USERNAME }}/${{ env.IMAGE_NAME }}:mono-${{ github.event.inputs.version }}${{ env.IMAGE_TAG }} build-args: | GODOT_VERSION=${{ github.event.inputs.version }} RELEASE_NAME=${{ github.event.inputs.release_name }} SUBDIR=${{ github.event.inputs.release_name != 'stable' && format('/{0}', github.event.inputs.release_name) || '' }}