Skip to content

Commit

Permalink
fix(builds): Refactor and cleanup make rules (microsoft#28)
Browse files Browse the repository at this point in the history
Get the `make` rules and pipelines to work. 

## Testing Done

```bash
$ PLATFORM=linux/amd64 make retina-image
...
$ PLATFORM=linux/arm64 make retina-image
...
$ make retina-ut
...
$ make all-gen
...
$ make retina-image-win
...
```

---------

Signed-off-by: Anubhab Majumdar <anmajumdar@microsoft.com>
  • Loading branch information
anubhabMajumdar authored Mar 13, 2024
1 parent 09f4053 commit f477347
Show file tree
Hide file tree
Showing 8 changed files with 321 additions and 503 deletions.
127 changes: 121 additions & 6 deletions .github/workflows/images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@ on:
branches: [ main ]

jobs:
images:
name: Build Images
retina-images:
name: Build Linux Images
runs-on: ubuntu-latest

strategy:
matrix:
platform: ["linux"]
arch: ["amd64", "arm64"]
component: ["agent", "operator"]

# required for AZ login/SP
permissions:
Expand Down Expand Up @@ -45,17 +44,133 @@ jobs:
set -euo pipefail
az acr login -n ${{ secrets.ACR_NAME }}
echo "TAG=$(make version)" >> $GITHUB_ENV
make build PLATFORMS=${{ matrix.platform }}/${{ matrix.arch }} COMPONENT=${{ matrix.component }}
make retina-image PLATFORM=${{ matrix.platform }}/${{ matrix.arch }}
retina-win-images:
name: Build Windows Images
runs-on: ubuntu-latest

strategy:
matrix:
platform: ["windows"]
arch: ["amd64"]

# required for AZ login/SP
permissions:
id-token: write
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- uses: actions/setup-go@v4
with:
go-version: ">=1.21.0"
- run: go version

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Az CLI login
uses: azure/login@v2
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: Build/Push Images
shell: bash
run: |
set -euo pipefail
az acr login -n ${{ secrets.ACR_NAME }}
echo "TAG=$(make version)" >> $GITHUB_ENV
make retina-image-win PLATFORM=${{ matrix.platform }}/${{ matrix.arch }}
operator-images:
name: Build Operator Images
runs-on: ubuntu-latest

strategy:
matrix:
platform: ["linux"]
arch: ["amd64", "arm64"]

# required for AZ login/SP
permissions:
id-token: write
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- uses: actions/setup-go@v4
with:
go-version: ">=1.21.0"
- run: go version

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Az CLI login
uses: azure/login@v2
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: Build/Push Images
shell: bash
run: |
set -euo pipefail
az acr login -n ${{ secrets.ACR_NAME }}
echo "TAG=$(make version)" >> $GITHUB_ENV
make retina-operator-image PLATFORM=${{ matrix.platform }}/${{ matrix.arch }}
kubectl-retina-images:
name: Build kubectl-retina Images
runs-on: ubuntu-latest

strategy:
matrix:
platform: ["linux"]
arch: ["amd64", "arm64"]

# required for AZ login/SP
permissions:
id-token: write
contents: read

steps:
- name: Checkout code
uses: actions/checkout@v4

- uses: actions/setup-go@v4
with:
go-version: ">=1.21.0"
- run: go version

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Az CLI login
uses: azure/login@v2
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}

- name: Build/Push Images
shell: bash
run: |
set -euo pipefail
az acr login -n ${{ secrets.ACR_NAME }}
echo "TAG=$(make version)" >> $GITHUB_ENV
make kubectl-retina-image PLATFORM=${{ matrix.platform }}/${{ matrix.arch }}
manifests:
name: Generate Manifests
runs-on: ubuntu-latest
needs: images
needs: [retina-images, retina-win-images, operator-images, kubectl-retina-images]

strategy:
matrix:
component: ["agent", "operator"]
component: ["retina", "operator", "kubectl-retina"]

# required for AZ login/SP
permissions:
Expand Down
Loading

0 comments on commit f477347

Please sign in to comment.