From 8a507640d9f748a800f4ccd1942fc78c6dcf8d1b Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 21 Jun 2022 11:45:08 -0400 Subject: [PATCH 1/3] - adds docker image definition for hidi --- .github/workflows/docker.yml | 45 ++++++++++++++++++++++++++++++++++++ Dockerfile | 21 +++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 .github/workflows/docker.yml create mode 100644 Dockerfile diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 000000000..25ce827bb --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,45 @@ +name: Publish Docker image +on: + workflow_dispatch: + push: + branches: [master, vnext] + paths: ['src/Microsoft.OpenApi.Hidi/**', '.github/workflows/**'] +env: + REGISTRY: msgraphprod.azurecr.io + IMAGE_NAME: public/hidi/generator +jobs: + push_to_registry: + environment: + name: acr + name: Push Docker image + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v3 + - name: Login to GitHub package feed + uses: docker/login-action@v2.0.0 + with: + username: ${{ secrets.ACR_USERNAME }} + password: ${{ secrets.ACR_PASSWORD }} + registry: ${{ env.REGISTRY }} + - run: | + $content = [XML](Get-Content ./src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj) + $version = $content.Project.PropertyGroup.Version + echo "::set-output name=version::${version}" + shell: pwsh + id: getversion + if: contains(github.ref, 'refs/tags/v') + env: + BRANCH_NAME: ${{ github.ref }} + - name: Push to GitHub Packages - Nightly + if: contains(github.ref, 'refs/head/main') + uses: docker/build-push-action@v3.0.0 + with: + push: true + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:nightly + - name: Push to GitHub Packages - Release + if: contains(github.ref, 'refs/tags/v') + uses: docker/build-push-action@v3.0.0 + with: + push: true + tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest,${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ steps.getversion.outputs.version }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..8326ce3b9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,21 @@ +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env +WORKDIR /app + +COPY ./src ./hidi/src +WORKDIR /app/hidi +RUN dotnet publish ./src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj -c Release + +FROM mcr.microsoft.com/dotnet/runtime:6.0 as runtime +WORKDIR /app + +COPY --from=build-env /app/hidi/src/Microsoft.OpenApi.Hidi/bin/Release/net6.0 ./ + +VOLUME /app/output +VOLUME /app/openapi.yml +VOLUME /app/api.csdl +VOLUME /app/collection.json +ENV HIDI_CONTAINER=true DOTNET_TieredPGO=1 DOTNET_TC_QuickJitForLoops=1 +ENTRYPOINT ["dotnet", "Microsoft.OpenApi.Hidi.dll"] +LABEL description="# Welcome to Hidi \ +To start transforming OpenAPI documents checkout [the getting started documentation](https://github.com/microsoft/OpenAPI.NET/tree/vnext/src/Microsoft.OpenApi.Hidi) \ +[Source dockerfile](https://github.com/microsoft/OpenAPI.NET/blob/vnext/Dockerfile)" From 9b1c35c6df614fef3b1b39b6dc5d551fc5a8410e Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 21 Jun 2022 11:46:16 -0400 Subject: [PATCH 2/3] - fixes branch filters for docker image release --- .github/workflows/docker.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 25ce827bb..769e3a099 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -32,13 +32,13 @@ jobs: env: BRANCH_NAME: ${{ github.ref }} - name: Push to GitHub Packages - Nightly - if: contains(github.ref, 'refs/head/main') + if: contains(github.ref, 'refs/head/vnext') uses: docker/build-push-action@v3.0.0 with: push: true tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:nightly - name: Push to GitHub Packages - Release - if: contains(github.ref, 'refs/tags/v') + if: contains(github.ref, 'refs/head/master') uses: docker/build-push-action@v3.0.0 with: push: true From 8bee807da0cc9251e7a442ebb7dd1729cce16947 Mon Sep 17 00:00:00 2001 From: Vincent Biret Date: Tue, 21 Jun 2022 12:02:53 -0400 Subject: [PATCH 3/3] - fixes image name Signed-off-by: Vincent Biret --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 769e3a099..95f2e4d6b 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -6,7 +6,7 @@ on: paths: ['src/Microsoft.OpenApi.Hidi/**', '.github/workflows/**'] env: REGISTRY: msgraphprod.azurecr.io - IMAGE_NAME: public/hidi/generator + IMAGE_NAME: public/hidi jobs: push_to_registry: environment: