-
Notifications
You must be signed in to change notification settings - Fork 123
67 lines (64 loc) · 2.27 KB
/
base-build.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name: Build base images
on:
workflow_dispatch:
pull_request:
branches:
- dev
permissions:
id-token: write
contents: write
jobs:
build-and-push:
runs-on: ubuntu-latest
environment: build
strategy:
matrix:
include:
- dockerfile: Dockerfile-services-base
image-name: services-base
- dockerfile: Dockerfile-worker-base
image-name: worker-base
steps:
- uses: actions/checkout@v4
with:
ref: dev
- name: 'Az CLI login'
uses: azure/login@v1
with:
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
- name: 'Build and push image'
run: |
az acr login -n ${{ secrets.ACR_NAME }}
VERSION_TAG=${{ github.run_id }}
export IMAGE_TAG=${{ secrets.ACR_NAME }}.azurecr.io/unlisted/farmai/terravibes/${{ matrix.image-name }}:$VERSION_TAG
docker build . -f ./resources/docker/${{ matrix.dockerfile }} -t $IMAGE_TAG
docker push $IMAGE_TAG
update-tags:
needs: build-and-push
runs-on: ubuntu-latest
environment: build
steps:
- uses: actions/checkout@v4
with:
ref: dev
ssh-key: ${{ secrets.WORKFLOW_KEY }}
- name: 'Update tags'
run: |
TAG=${{ github.run_id }}
sed -i "s|\(\s\+image.*:\).*|\1${TAG}|" ./.github/workflows/lint-test.yml
sed -i "s|\(FROM.*:\).*|\1${TAG}|" ./resources/docker/Dockerfile-api_orchestrator
sed -i "s|\(FROM.*:\).*|\1${TAG}|" ./resources/docker/Dockerfile-cache
sed -i "s|\(FROM.*:\).*|\1${TAG}|" ./resources/docker/Dockerfile-worker
sed -i "s|\(FROM.*:\).*|\1${TAG}|" ./resources/docker/Dockerfile-devcontainer
- name: Commit changes
run: |
git config --global user.email "farmvibesaicd@microsoft.com"
git config --global user.name "FarmVibes.AI Release Pipeline"
BRANCH=update-base-${{ github.run_id }}
git checkout -b $BRANCH
git add ./.github/workflows/lint-test.yml
git add ./resources/docker/
git commit -m "Update base tag to latest image"
git push --set-upstream origin $BRANCH