forked from meshery/meshery
-
Notifications
You must be signed in to change notification settings - Fork 0
94 lines (93 loc) · 3.97 KB
/
build-and-release-stable.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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
name: Meshery Build and Releaser (stable)
on:
push:
tags:
- "v*"
jobs:
build:
name: Docker build and push
if: github.repository == 'meshery/meshery'
env:
RELEASE_CHANNEL: "stable"
runs-on: ubuntu-22.04
steps:
- name: Check out code
uses: actions/checkout@master
with:
fetch-depth: 1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Docker stable and playground build & tag
run: |
DOCKER_BUILDKIT=1 docker build -f install/docker/Dockerfile --no-cache -t ${{ secrets.IMAGE_NAME }}:stable-latest --build-arg TOKEN=${{ secrets.GLOBAL_TOKEN }} --build-arg GIT_COMMITSHA=${GITHUB_SHA::8} --build-arg GIT_VERSION=${GITHUB_REF/refs\/tags\//} --build-arg RELEASE_CHANNEL=${RELEASE_CHANNEL} .
docker tag ${{ secrets.IMAGE_NAME }}:stable-latest ${{ secrets.IMAGE_NAME }}:stable-${GITHUB_REF/refs\/tags\//}
docker tag ${{ secrets.IMAGE_NAME }}:stable-latest ${{ secrets.IMAGE_NAME }}:stable-${GITHUB_SHA::8}
docker tag ${{ secrets.IMAGE_NAME }}:stable-latest ${{ secrets.IMAGE_NAME }}:playground-latest
docker tag ${{ secrets.IMAGE_NAME }}:stable-latest ${{ secrets.IMAGE_NAME }}:playground-${GITHUB_REF/refs\/tags\//}
docker tag ${{ secrets.IMAGE_NAME }}:stable-latest ${{ secrets.IMAGE_NAME }}:playground-${GITHUB_SHA::8}
- name: Docker stable and playground push
run: |
docker push ${{ secrets.IMAGE_NAME }}:stable-latest
docker push ${{ secrets.IMAGE_NAME }}:stable-${GITHUB_REF/refs\/tags\//}
docker push ${{ secrets.IMAGE_NAME }}:stable-${GITHUB_SHA::8}
docker push ${{ secrets.IMAGE_NAME }}:playground-latest
docker push ${{ secrets.IMAGE_NAME }}:playground-${GITHUB_REF/refs\/tags\//}
docker push ${{ secrets.IMAGE_NAME }}:playground-${GITHUB_SHA::8}
# SKIP STEP: FAILS BECAUSE README FILE SIZE IS TOO LARGE FOR DOCKER HUB
# - name: Docker Hub Description
# uses: peter-evans/dockerhub-description@v3
# env:
# DOCKERHUB_USERNAME: ${{ secrets.DOCKER_USERNAME }}
# DOCKERHUB_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
# DOCKERHUB_REPOSITORY: ${{ secrets.IMAGE_NAME }}
ctlrelease:
name: Mesheryctl build & release
if: github.repository == 'meshery/meshery'
runs-on: macos-latest
steps:
- name: Check out code
uses: actions/checkout@master
with:
fetch-depth: 0
- name: Set up Go
uses: actions/setup-go@master
with:
go-version: 1.19
- name: goreleaser with tag
uses: goreleaser/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_NOTES_PAT }}
RELEASE_CHANNEL: "stable"
with:
version: latest
args: release --rm-dist --skip-validate
- name: bump homebrew-core formula
uses: mislav/bump-homebrew-formula-action@v2
with:
formula-name: mesheryctl
download-url: https://github.com/meshery/meshery.git
env:
COMMITTER_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}
call-dde-release-workflow:
needs: ctlrelease
name: Build and Release Docker Extension
uses: meshery/meshery/.github/workflows/build-and-release-dde.yml@master
secrets: inherit
call-aks-playground-deploy-workflow:
needs: build
name: Deploy Meshery Playground
uses: meshery/meshery/.github/workflows/deploy-meshery-playground.yml@master
secrets: inherit
email-meshery-release-notes-workflow:
needs: build
name: Email Meshery Release Notes
uses: layer5labs/meshery-extensions-packages/.github/workflows/notify-email.yml@master
secrets: inherit
call-cncf-playground-rollout:
needs: build
name: Deploy CNCF Playground
uses: meshery/meshery/.github/workflows/cncf-playground-deploy-meshery.yaml@master
secrets: inherit