Skip to content

6.0.0-dev3

6.0.0-dev3 #319

Workflow file for this run

name: "Build and Publish Release Containers to MCR"
on:
release:
types: [published]
env:
ACR_REGISTRY: ccfmsrc.azurecr.io
ACR_TOKEN_NAME: app-push-token
DOCKER_BUILDKIT: 1 # https://docs.docker.com/develop/develop-images/build_enhancements/
permissions: read-all
jobs:
build_and_publish:
name: "Build & push"
runs-on: [self-hosted, 1ES.Pool=gha-virtual-ccf-sub]
strategy:
matrix:
platform: [sgx, virtual, snp]
type: [dev, run]
run_js: [true, ""]
clang_version: ["11", "15"]
exclude:
- type: dev
run_js: true
- platform: sgx
clang_version: "15"
- platform: virtual
clang_version: "11"
- platform: snp
clang_version: "11"
steps:
- uses: actions/checkout@v4
- name: Get image tag from git tag (release) or latest (branch)
run: |
CCF_RELEASE=${GITHUB_REF#refs/tags/ccf-}
echo "tag=${CCF_RELEASE}" >> $GITHUB_OUTPUT
echo "major_release=${CCF_RELEASE:0:1}" >> $GITHUB_OUTPUT
id: tref
- name: Build ${{ matrix.type }} container for ${{ matrix.platform }}${{ matrix.run_js && ', (JS)' || '' }} using clang ${{ matrix.clang_version }}
run: docker build -f docker/app_${{ matrix.type }} . --build-arg="clang_version=${{ matrix.clang_version }}" --build-arg="platform=${{ matrix.platform }}" --build-arg="ansible_vars=ccf_ver=${{ steps.tref.outputs.tag }} ${{ matrix.run_js && 'run_js=true' || '' }}" -t $ACR_REGISTRY/public/ccf/app/${{ matrix.type }}${{ matrix.run_js && '-js' || '' }}:${{ steps.tref.outputs.tag }}-${{ matrix.platform }}
if: ${{ steps.tref.outputs.major_release == '4'}}
- name: Log in
run: |
set -x
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
az login --identity -u ${{ secrets.ACR_MANAGED_IDENTITY }}
az acr login --name ccfmsrc
if: ${{ steps.tref.outputs.major_release == '4'}}
- name: Push App container
run: docker push $ACR_REGISTRY/public/ccf/app/${{ matrix.type }}${{ matrix.run_js && '-js' || '' }}:${{ steps.tref.outputs.tag }}-${{ matrix.platform }}
if: ${{ steps.tref.outputs.major_release == '4'}}