🛠️ Build Docker image for Oracle Database Documentation MCP Server #7
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 🛠️ Build Docker image for Oracle Database Documentation MCP Server | |
| on: | |
| push: | |
| paths: | |
| - "src/oracle-db-doc-mcp-server/**" | |
| pull_request: | |
| paths: | |
| - "src/oracle-db-doc-mcp-server/**" | |
| jobs: | |
| build-image: | |
| strategy: | |
| matrix: | |
| runner: ["ubuntu-24.04", "ubuntu-24.04-arm"] | |
| permissions: | |
| packages: write | |
| name: 🛠️ Build image | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - name: 📂 Checkout repo | |
| uses: actions/checkout@v4 | |
| - name: 🔄 Generate environment variables | |
| id: os_arch | |
| run: | | |
| if [ "$(uname -m)" == "aarch64" ]; then | |
| echo "OS_ARCH=arm64" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "OS_ARCH=amd64" >> "$GITHUB_OUTPUT" | |
| fi; | |
| - name: Build image | |
| run: | | |
| cd src/oracle-db-doc-mcp-server/ | |
| buildah bud -f Dockerfile -t oracle-db-doc:latest-${{ steps.os_arch.outputs.OS_ARCH }} . | |
| - name: 🔓 Login to GHCR registry | |
| uses: redhat-actions/podman-login@v1 | |
| with: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| registry: ghcr.io | |
| - name: 🫸 Push image to Container Registry | |
| uses: redhat-actions/push-to-registry@v2 | |
| with: | |
| registry: ghcr.io/gvenzl/mcp | |
| image: oracle-db-doc | |
| tags: latest-${{ steps.os_arch.outputs.OS_ARCH }} | |
| upload-multi-arch: | |
| name: 🫸 Push multi-arch manifest | |
| runs-on: "ubuntu-24.04" | |
| needs: build-image | |
| permissions: | |
| packages: write | |
| steps: | |
| - name: 🔓 Login to GHCR registry | |
| uses: redhat-actions/podman-login@v1 | |
| with: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| registry: ghcr.io | |
| - name: 🫸 Push multi-arch manifest | |
| run: | | |
| podman manifest create ghcr.io/gvenzl/mcp/oracle-db-doc:latest | |
| podman manifest add ghcr.io/gvenzl/mcp/oracle-db-doc:latest ghcr.io/gvenzl/mcp/oracle-db-doc:latest-amd64 | |
| podman manifest add ghcr.io/gvenzl/mcp/oracle-db-doc:latest ghcr.io/gvenzl/mcp/oracle-db-doc:latest-arm64 | |
| podman push ghcr.io/gvenzl/mcp/oracle-db-doc:latest |