|
37 | 37 | type: string |
38 | 38 |
|
39 | 39 | env: |
40 | | - GIT_VERSION: ${{github.event.inputs.release-ver}} |
| 40 | + GIT_VERSION: ${{github.event.inputs.release-ver || inputs.release-ver }} |
41 | 41 | RELEASE_CHANNEL: ${{github.event.inputs.release-channel || inputs.release-channel }} |
42 | 42 |
|
43 | 43 | jobs: |
44 | | - print-inputs: |
| 44 | + validate-inputs: |
45 | 45 | runs-on: ubuntu-latest |
46 | 46 | steps: |
47 | | - - run: | |
48 | | - echo "Env RELEASE_CHANNEL: ${{env.RELEASE_CHANNEL}}" |
49 | | - echo "Env GIT_VERSION: ${{env.GIT_VERSION}}" |
| 47 | + - name: Validate inputs |
| 48 | + run: | |
| 49 | + echo "Validating GIT_VERSION and RELEASE_CHANNEL..." |
| 50 | +
|
| 51 | + if [ -z "${{ env.GIT_VERSION }}" ]; then |
| 52 | + echo "❌ Error: GIT_VERSION is empty!" |
| 53 | + exit 1 |
| 54 | + fi |
| 55 | + |
| 56 | + if [ ${#GIT_VERSION} -le 3 ]; then |
| 57 | + echo "❌ Error: GIT_VERSION '${GIT_VERSION}' is too short. It must be > 3 characters." |
| 58 | + exit 1 |
| 59 | + fi |
| 60 | +
|
| 61 | + if [ -z "${{ env.RELEASE_CHANNEL }}" ]; then |
| 62 | + echo "❌ Error: RELEASE_CHANNEL is empty!" |
| 63 | + exit 1 |
| 64 | + fi |
| 65 | +
|
| 66 | + echo "✓ Validation passed: GIT_VERSION=${{ env.GIT_VERSION }}, RELEASE_CHANNEL=${{ env.RELEASE_CHANNEL }}" |
| 67 | +
|
50 | 68 |
|
51 | 69 | docker-build: |
52 | 70 | runs-on: ubuntu-latest |
53 | 71 | steps: |
54 | 72 | - name: Checkout repo |
55 | 73 | uses: actions/checkout@v4 |
| 74 | + |
56 | 75 | - name: Identify Release Values |
57 | 76 | run: | |
58 | | - # LATEST_VERSION=$(git ls-remote --tags | tail -1 | cut -f2 | sed 's/refs\/tags\///g') |
59 | | - # GIT_VERSION=$(git ls-remote --tags | tail -1 | cut -f2 | sed 's/refs\/tags\///g') |
60 | | - # GIT_VERSION=$(git describe --tags `git rev-list --tags --max-count=1` --always) |
61 | | - GIT_STRIPPED_VERSION=$(echo $GIT_VERSION | cut -c2-) |
62 | | - # echo "GIT_LATEST=$LATEST_VERSION" >> $GITHUB_ENV |
63 | | - echo "GIT_VERSION=$GIT_VERSION" >> $GITHUB_ENV |
| 77 | + GIT_VERSION="${{ env.GIT_VERSION }}" |
| 78 | + GIT_STRIPPED_VERSION="${GIT_VERSION#v}" |
64 | 79 | echo "GIT_STRIPPED_VERSION=$GIT_STRIPPED_VERSION" >> $GITHUB_ENV |
65 | 80 | shell: bash |
66 | 81 |
|
67 | 82 | - name: Generate release notes |
68 | 83 | id: release_notes |
69 | 84 | run: | |
70 | 85 | RELEASE_NOTES=$(gh release create ${{ github.ref_name }} --generate-notes --repo ${{ github.repository }} | tail -n +2) # Get generated release notes, excluding the first line |
71 | | - RELEASE_NOTES="$RELEASE_NOTES\nSee https://docs.layer5.io/kanvas/reference/releases/$GIT_VERSION" |
| 86 | + RELEASE_NOTES="$RELEASE_NOTES\nSee https://docs.layer5.io/kanvas/reference/releases/${{env.GIT_VERSION}}" |
72 | 87 | echo "RELEASE_NOTES<<EOF" >> $GITHUB_ENV |
73 | 88 | echo "$RELEASE_NOTES" >> $GITHUB_ENV |
74 | 89 | echo "EOF" >> $GITHUB_ENV |
75 | 90 | env: |
76 | 91 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 92 | + |
| 93 | + - name: Setup image tags in docker-compose.yaml |
| 94 | + run: | |
| 95 | + sed -i "s/kanvas-docker-extension:stable-latest/kanvas-docker-extension:${{env.RELEASE_CHANNEL}}-${{env.GIT_VERSION}}/g" docker-compose.yaml |
| 96 | + sed -i "s/meshery:kanvas-latest/meshery:kanvas-${{env.GIT_VERSION}}/g" docker-compose.yaml |
| 97 | + cat docker-compose.yaml |
77 | 98 | |
78 | 99 | - name: Set up QEMU |
79 | 100 | uses: docker/setup-qemu-action@v3 |
|
0 commit comments