Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
e419ece
Create dash-docker-p4c-bmv2-acr.yml
chrispsommers Aug 30, 2022
a0736ac
Update Makefile
chrispsommers Aug 30, 2022
d92a501
Experimenting with ACR publish workflows
chrispsommers Aug 30, 2022
01734a9
Update and rename dash-docker-p4c-bmv2-acr.yml to dash-p4c-bmv2-docke…
chrispsommers Aug 30, 2022
c716147
Experimental ACR publish; change regname
chrispsommers Aug 31, 2022
ff4c77b
Update dash-p4c-bmv2-docker-acr.yml
chrispsommers Aug 31, 2022
e171274
Fix macro errors
chrispsommers Aug 31, 2022
8a956ad
Update dash-p4c-bmv2-docker-acr.yml
chrispsommers Aug 31, 2022
27745f3
Uncomment docker push command
chrispsommers Aug 31, 2022
7defb43
Build dash-grpc:1.43.2 docker and publish to ACR
chrispsommers Aug 31, 2022
1983d5b
Add CI script for saithrift-bldr-docker
chrispsommers Aug 31, 2022
7449600
Remove superfluous ACR publish steps from regular docker build CI scr…
chrispsommers Aug 31, 2022
b0333b4
Add CI scripts to build and publish remaining docker images to Azure …
chrispsommers Sep 1, 2022
f1be0d3
Publish docker images to ACR and use those in build process. (#208)
chrispsommers Sep 1, 2022
1ba9a66
Use make target to publish to ACR (just bmv2-bldr as first candidate).
chrispsommers Sep 2, 2022
8a9d2e5
Merge remote-tracking branch 'upstream/publish-dockers-to-acr' into p…
chrispsommers Sep 2, 2022
9acd6e5
Incremental progress - publish to ACRs (#212)
chrispsommers Sep 2, 2022
5716060
Call docker publish make targets from all CI scripts which publish.
chrispsommers Sep 2, 2022
44d62dc
Incremental progress publishing dockers to ACR (#213)
chrispsommers Sep 2, 2022
a5d013a
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-…
chrispsommers Sep 8, 2022
098d110
Spellcheck - add to wordslist
chrispsommers Sep 8, 2022
bcd061c
Sync to main via intermediate dev branch. (#216)
chrispsommers Sep 8, 2022
1571b4e
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-…
chrispsommers Sep 12, 2022
ed09008
Incremental progress publishing dockers to ACR (#219)
chrispsommers Sep 12, 2022
24b67b5
Remove publish steps from non-ACR CI scripts (consequence of merge).
chrispsommers Sep 12, 2022
3143618
Incremental progress publishing dockers to ACR. (#220)
chrispsommers Sep 12, 2022
8241334
Trial of env var to define docker img
chrispsommers Sep 13, 2022
8fc6434
Merge branch 'publish-dockers-to-acr' into publish-dockers-to-acr-cs1
chrispsommers Sep 13, 2022
83fe7a8
Add docker .env variable to CI triggers.
chrispsommers Sep 13, 2022
6de9570
Fix stray conflict markers in Makefile.
chrispsommers Sep 13, 2022
c2015e9
Fix CI triggers.
chrispsommers Sep 13, 2022
a2750e3
Use .env files to define docker images. Fix CI triggers. Remove some …
chrispsommers Sep 14, 2022
54421fb
add missing path
chrispsommers Sep 14, 2022
e54df56
Fix path.
chrispsommers Sep 14, 2022
cbb1eac
Trivial change to force a CI build.
chrispsommers Sep 14, 2022
f055a72
Change Makefile to force CI rebuild.
chrispsommers Sep 14, 2022
8fe59f9
Trivial change to docker image .env file to test CI triggers.
chrispsommers Sep 14, 2022
012a8e8
Change .env file to force CI.
chrispsommers Sep 14, 2022
6a0817d
Change grpc docker .env file to trigger CI rebuild.
chrispsommers Sep 14, 2022
22955ba
Change saithrift-bldr docker .env to force CI rebuild.
chrispsommers Sep 14, 2022
829d159
Change saithrift-client .env file to force CI rebuild/
chrispsommers Sep 14, 2022
27a9475
Trial docker build/conditional publish.
chrispsommers Sep 15, 2022
bfcf700
Get env variable into context.
chrispsommers Sep 15, 2022
b05c4ef
Correct env filename
chrispsommers Sep 15, 2022
8e11c8c
Debugging env vars & docker save
chrispsommers Sep 15, 2022
3954255
Fix CI syntax
chrispsommers Sep 15, 2022
2f5b8ba
Add Makefile targets to upload/download docker image tarball artifact.
chrispsommers Sep 15, 2022
ebc8f30
Revert to simple conditional job for build+publish.
chrispsommers Sep 15, 2022
4e076c4
Conditional CI for non-publish docker job.
chrispsommers Sep 15, 2022
b11e09b
Add conditionals to all docker build/publish workflows: run build-onl…
chrispsommers Sep 15, 2022
f7d1377
Documenting Docker workflows.
chrispsommers Sep 15, 2022
ee73762
Spellcheck fixes.
chrispsommers Sep 15, 2022
cf72c8e
Spellcheck fixes.
chrispsommers Sep 15, 2022
46aa3e3
Add screen cap of skipped job.
chrispsommers Sep 15, 2022
afac42e
Spellcheck
chrispsommers Sep 15, 2022
3e3d091
Update PR from dev branch (sync to main) (#224)
chrispsommers Sep 15, 2022
b52c1aa
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-acr
chrispsommers Sep 15, 2022
d6bf841
Use env variable for DASH_ACR_LOGIN_SERVER instead of secret.
chrispsommers Sep 17, 2022
b0e2d59
Use literal expression instead of env variable.
chrispsommers Sep 17, 2022
158c6b8
Use literal expression for ACR repository instead of secret.
chrispsommers Sep 17, 2022
822a9f9
Clarify docker publishing.
chrispsommers Sep 17, 2022
a50f8cb
Spellcheck.
chrispsommers Sep 17, 2022
51e2de8
Document another dockerfile workflow.
chrispsommers Sep 17, 2022
3ef9333
spellcheck
chrispsommers Sep 17, 2022
17912b5
CI triggers on PR to any branch, not just main.
chrispsommers Sep 17, 2022
b743627
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-acr
chrispsommers Sep 22, 2022
c104408
Fixes per review feedback https://github.com/Azure/DASH/pull/225#issu…
chrispsommers Sep 23, 2022
63dfe87
Spellcheck.
chrispsommers Sep 23, 2022
4bb4a13
Spellcheck.
chrispsommers Sep 23, 2022
85e5d1f
Merge remote-tracking branch 'upstream/main' into publish-dockers-to-acr
chrispsommers Oct 7, 2022
00ca2ea
Spellcheck
chrispsommers Oct 7, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/dash-bmv2-bldr-docker-acr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: DASH-docker-bmv2-bldr-build-publish-acr

on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-bmv2-bldr-docker-acr.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.bmv2-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_BMV2_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "**" ]
paths:
- '.github/workflows/dash-bmv2-bldr-docker-acr.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.bmv2-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_BMV2_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
name: Build and publish docker dash-bmv2-bldr image
# Can only publish from within DASH repo (need credentials from secrets)
if: github.repository == 'Azure/DASH'
runs-on: ubuntu-20.04
defaults:
run:
working-directory: ./dash-pipeline
steps:
- uses: actions/checkout@v3
- name: Build dash-bmv2-bldr docker image
run: make docker-bmv2-bldr
- uses: azure/docker-login@v1
with:
login-server: sonicdash.azurecr.io
username: ${{ secrets.DASH_ACR_USERNAME }}
password: ${{ secrets.DASH_ACR_PASSWORD }}
- name: Publish dash-bmv2-bldr image
run: make docker-publish-bmv2-bldr
9 changes: 5 additions & 4 deletions .github/workflows/dash-bmv2-bldr-docker.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
name: DASH-docker-bmv2-bldr-build-image


on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-bmv2-bldr-docker.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.bmv2-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_BMV2_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "main" ]
branches: [ "**" ]
paths:
- '.github/workflows/dash-bmv2-bldr-docker.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.bmv2-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_BMV2_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
name: Build docker dash-bmv2-bldr image
# Only run on forks (in main repo, run build/publish workflows instead)
if: github.repository != 'Azure/DASH'
runs-on: ubuntu-20.04
defaults:
run:
Expand All @@ -29,5 +32,3 @@ jobs:
- uses: actions/checkout@v3
- name: Build dash-bmv2-bldr docker image
run: make docker-bmv2-bldr
- name: Publish dash-bmv2 docker image
run: make docker-publish-bmv2-bldr
2 changes: 1 addition & 1 deletion .github/workflows/dash-bmv2-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ on:
- '!dash-pipeline/**.png'
- '!dash-pipeline/**.txt'
pull_request:
branches: [ "main" ]
branches: [ "**" ]
paths:
- '.gitmodules'
- '.github/workflows/dash-bmv2-ci.yml'
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/dash-grpc1.43.2-docker-acr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: DASH-docker-grpc1.43.2-build-publish-acr

on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-grpc1.43.2-docker-acr.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.grpc1.43.2'
- 'dash-pipeline/dockerfiles/DOCKER_GRPC_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "**" ]
paths:
- '.github/workflows/dash-grpc1.43.2-docker-acr.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.grpc1.43.2'
- 'dash-pipeline/dockerfiles/DOCKER_GRPC_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
# Can only publish from within DASH repo (need credentials from secrets)
if: github.repository == 'Azure/DASH'
name: Build and publish docker dash-grpc1.43.2 image
runs-on: ubuntu-20.04
defaults:
run:
working-directory: ./dash-pipeline
steps:
- uses: actions/checkout@v3
- name: Build dash-grpc1.43.2 docker image
run: make docker-dash-grpc
- uses: azure/docker-login@v1
with:
login-server: sonicdash.azurecr.io
username: ${{ secrets.DASH_ACR_USERNAME }}
password: ${{ secrets.DASH_ACR_PASSWORD }}
- name: Publish dash-grpc1.43.2 image
run: make docker-publish-dash-grpc
9 changes: 5 additions & 4 deletions .github/workflows/dash-grpc1.43.2-docker.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
name: DASH-docker-grpc1.43.2-build-image


on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-grpc1.43.2-docker.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.grpc1.43.2'
- 'dash-pipeline/dockerfiles/DOCKER_GRPC_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "main" ]
branches: [ "**" ]
paths:
- '.github/workflows/dash-grpc1.43.2-docker.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.grpc1.43.2'
- 'dash-pipeline/dockerfiles/DOCKER_GRPC_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
name: Build docker dash-grpc1.43.2 image
# Only run on forks (in main repo, run build/publish workflows instead)
if: github.repository != 'Azure/DASH'
runs-on: ubuntu-20.04
defaults:
run:
Expand All @@ -29,5 +32,3 @@ jobs:
- uses: actions/checkout@v3
- name: Build dash-grpc1.43.2 docker image
run: make docker-dash-grpc
- name: Publish dash-bmv2 docker image
run: make docker-publish-dash-grpc
42 changes: 42 additions & 0 deletions .github/workflows/dash-p4c-bmv2-docker-acr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: DASH-docker-p4c-bmv2-build-publish-acr

on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-p4c-bmv2-docker-acr.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.p4c-bmv2'
- 'dash-pipeline/dockerfiles/DOCKER_P4C_BMV2_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "**" ]
paths:
- '.github/workflows/dash-p4c-bmv2-docker-acr.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.p4c-bmv2'
- 'dash-pipeline/dockerfiles/DOCKER_P4C_BMV2_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
name: Build and publish docker dash-p4c-bmv2 image
# Can only publish from within DASH repo (need credentials from secrets)
if: github.repository == 'Azure/DASH'
runs-on: ubuntu-20.04

defaults:
run:
working-directory: ./dash-pipeline
steps:
- uses: actions/checkout@v3
- name: Build dash-p4c-bmv2 docker image
run: make docker-dash-p4c
- uses: azure/docker-login@v1
with:
login-server: sonicdash.azurecr.io
username: ${{ secrets.DASH_ACR_USERNAME }}
password: ${{ secrets.DASH_ACR_PASSWORD }}
- name: Publish dash-p4c-bmv2 docker image to ACR
run: make docker-publish-dash-p4c
9 changes: 5 additions & 4 deletions .github/workflows/dash-p4c-bmv2-docker.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
name: DASH-docker-p4c-bmv2-build-image


on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-p4c-bmv2-docker.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.p4c-bmv2'
- 'dash-pipeline/dockerfiles/DOCKER_P4C_BMV2_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "main" ]
branches: [ "**" ]
paths:
- '.github/workflows/dash-p4c-bmv2-docker.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.p4c-bmv2'
- 'dash-pipeline/dockerfiles/DOCKER_P4C_BMV2_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
name: Build docker dash-p4c-bmv2 image
# Only run on forks (in main repo, run build/publish workflows instead)
if: github.repository != 'Azure/DASH'
runs-on: ubuntu-20.04
defaults:
run:
Expand All @@ -29,5 +32,3 @@ jobs:
- uses: actions/checkout@v3
- name: Build dash-p4c-bmv2 docker image
run: make docker-dash-p4c
- name: Publish dash-p4c-bmv2 docker image
run: make docker-publish-dash-p4c
48 changes: 48 additions & 0 deletions .github/workflows/dash-saithrift-bldr-docker-acr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: DASH-docker-saithrift-bldr-build-publish-acr

on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-saithrift-bldr-docker-acr.yml'
- 'dash-pipeline/Makefile'
- 'dash-pipeline/dockerfiles/Dockerfile.saithrift-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_SAITHRIFT_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "**" ]
paths:
- '.github/workflows/dash-saithrift-bldr-docker-acr.yml'
- 'dash-pipeline/Makefile'
- 'dash-pipeline/dockerfiles/Dockerfile.saithrift-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_SAITHRIFT_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
name: Build and publish dash-saithrift-bldr-image
# Can only publish from within DASH repo (need credentials from secrets)
if: github.repository == 'Azure/DASH'
runs-on: ubuntu-20.04
env:
docker_fg_flags: -u root --privileged
docker_bg_flags: -d -u root --privileged
defaults:
run:
working-directory: ./dash-pipeline
steps:
- uses: actions/checkout@v3
- name: Build and publish docker-saithrift-bldr image
run: make docker-saithrift-bldr
- uses: azure/docker-login@v1
with:
login-server: sonicdash.azurecr.io
username: ${{ secrets.DASH_ACR_USERNAME }}
password: ${{ secrets.DASH_ACR_PASSWORD }}
- name: Build dash-saithrift-bldr image
run: DOCKER_FLAGS=$docker_fg_flags make docker-saithrift-bldr
- name: Publish dash-saithrift-bldr docker image
run: make docker-publish-saithrift-bldr
37 changes: 37 additions & 0 deletions .github/workflows/dash-saithrift-bldr-docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: DASH-docker-saithrift-bldr-image

on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-saithrift-bldr-docker.yml'
- 'dash-pipeline/Makefile'
- 'dash-pipeline/dockerfiles/Dockerfile.saithrift-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_SAITHRIFT_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "**" ]
paths:
- '.github/workflows/dash-saithrift-bldr-docker.yml'
- 'dash-pipeline/Makefile'
- 'dash-pipeline/dockerfiles/Dockerfile.saithrift-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_SAITHRIFT_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
name: Build dash-saithrift-bldr-image
runs-on: ubuntu-20.04
env:
docker_fg_flags: -u root --privileged
docker_bg_flags: -d -u root --privileged
defaults:
run:
working-directory: ./dash-pipeline
steps:
- uses: actions/checkout@v3
- name: Build docker-saithrift-bldr image
run: make docker-saithrift-bldr
56 changes: 56 additions & 0 deletions .github/workflows/dash-saithrift-client-bldr-docker-acr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: DASH-docker-saithrift-client-bldr-build-publish-acr

on:
push:
branches: [ "**" ]
paths:
- '.github/workflows/dash-saithrift-client-bldr-docker-acr.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.saithrift-client-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_SAITHRIFT_CLIENT_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
pull_request:
branches: [ "**" ]
paths:
- '.github/workflows/dash-saithrift-client-bldr-docker-acr.yml'
- 'dash-pipeline/dockerfiles/Dockerfile.saithrift-client-bldr'
- 'dash-pipeline/dockerfiles/DOCKER_SAITHRIFT_CLIENT_BLDR_IMG.env'
- 'dash-pipeline/.dockerignore'
- 'dash-pipeline/dockerfiles/.dockerignore'
workflow_dispatch:

jobs:
build:
name: Build and publish dash-saithrift-client-bldr-image
# Can only publish from within DASH repo (need credentials from secrets)
if: github.repository == 'Azure/DASH'
runs-on: ubuntu-20.04
env:
docker_fg_flags: -u root --privileged
docker_bg_flags: -d -u root --privileged
defaults:
run:
working-directory: ./dash-pipeline
steps:
- uses: actions/checkout@v3
- name: Pull docker p4c image
run: make docker-pull-dash-p4c
- name: Build P4 software switch (bmv2) and P4Info
run: DOCKER_FLAGS=$docker_fg_flags make p4
- name: Install SAI submodule
run: git submodule update --init
- name: Build docker-saithrift-bldr image
run: make docker-saithrift-bldr
- name: Generate SAI API
run: DOCKER_FLAGS=$docker_fg_flags make sai
- name: Generate SAI-Thrift client and server code and libs
run: DOCKER_FLAGS=$docker_fg_flags make saithrift-server
- uses: azure/docker-login@v1
with:
login-server: sonicdash.azurecr.io
username: ${{ secrets.DASH_ACR_USERNAME }}
password: ${{ secrets.DASH_ACR_PASSWORD }}
- name: Build dash-saithrift-client-bldr image
run: DOCKER_FLAGS=$docker_fg_flags make docker-saithrift-client-bldr
- name: Publish dash-saithrift-client-bldr docker image
run: make docker-publish-saithrift-client-bldr
Loading