|
49 | 49 | with:
|
50 | 50 | go-version-file: go.mod
|
51 | 51 |
|
52 |
| - - name: Output Variables |
| 52 | + - name: Set Variables |
53 | 53 | id: vars
|
54 | 54 | run: |
|
55 | 55 | echo "go_path=$(go env GOPATH)" >> $GITHUB_OUTPUT
|
|
60 | 60 | ./.github/scripts/variables.sh docker_md5 >> $GITHUB_OUTPUT
|
61 | 61 | ./.github/scripts/variables.sh build_tag >> $GITHUB_OUTPUT
|
62 | 62 | ./.github/scripts/variables.sh stable_tag >> $GITHUB_OUTPUT
|
63 |
| - cat $GITHUB_OUTPUT |
64 | 63 |
|
65 | 64 | - name: Fetch Cached Binary Artifacts
|
66 | 65 | id: binary-cache
|
@@ -92,10 +91,64 @@ jobs:
|
92 | 91 | echo "exists=true" >> $GITHUB_OUTPUT
|
93 | 92 | fi
|
94 | 93 |
|
| 94 | + - name: Output variables |
| 95 | + run: | |
| 96 | + echo go_code_md5: ${{ steps.vars.outputs.go_code_md5 }} |
| 97 | + echo go_path: ${{ steps.vars.outputs.go_path }} |
| 98 | + echo binary_cache_hit: ${{ steps.binary-cache.outputs.cache-hit }} |
| 99 | + echo chart_version: ${{ steps.vars.outputs.chart_version }} |
| 100 | + echo ic_version: ${{ steps.vars.outputs.ic_version }} |
| 101 | + echo docker_md5: ${{ steps.vars.outputs.docker_md5 }} |
| 102 | + echo build_tag: ${{ steps.vars.outputs.build_tag }} |
| 103 | + echo stable_tag: ${{ steps.vars.outputs.stable_tag }} |
| 104 | + echo stable_image_exists: ${{ steps.stable_exists.outputs.exists }} |
| 105 | +
|
| 106 | + binaries: |
| 107 | + name: Build Binaries |
| 108 | + runs-on: ubuntu-22.04 |
| 109 | + needs: [checks] |
| 110 | + permissions: |
| 111 | + contents: read |
| 112 | + steps: |
| 113 | + - name: Checkout Repository |
| 114 | + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 |
| 115 | + |
| 116 | + - name: Setup Golang Environment |
| 117 | + uses: actions/setup-go@cdcb36043654635271a94b9a6d1392de5bb323a7 # v5.0.1 |
| 118 | + with: |
| 119 | + go-version-file: go.mod |
| 120 | + if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }} |
| 121 | + |
| 122 | + - name: Build binaries |
| 123 | + uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0 |
| 124 | + with: |
| 125 | + version: latest |
| 126 | + args: build --snapshot --clean |
| 127 | + env: |
| 128 | + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| 129 | + GOPATH: ${{ needs.checks.outputs.go_path }} |
| 130 | + AWS_PRODUCT_CODE: ${{ secrets.AWS_PRODUCT_CODE }} |
| 131 | + AWS_PUB_KEY: ${{ secrets.AWS_PUB_KEY }} |
| 132 | + AWS_NAP_DOS_PRODUCT_CODE: ${{ secrets.AWS_NAP_DOS_PRODUCT_CODE }} |
| 133 | + AWS_NAP_DOS_PUB_KEY: ${{ secrets.AWS_NAP_DOS_PUB_KEY }} |
| 134 | + AWS_NAP_WAF_PRODUCT_CODE: ${{ secrets.AWS_NAP_WAF_PRODUCT_CODE }} |
| 135 | + AWS_NAP_WAF_PUB_KEY: ${{ secrets.AWS_NAP_WAF_PUB_KEY }} |
| 136 | + AWS_NAP_WAF_DOS_PRODUCT_CODE: ${{ secrets.AWS_NAP_WAF_DOS_PRODUCT_CODE }} |
| 137 | + AWS_NAP_WAF_DOS_PUB_KEY: ${{ secrets.AWS_NAP_WAF_DOS_PUB_KEY }} |
| 138 | + GORELEASER_CURRENT_TAG: "v${{ needs.checks.outputs.ic_version }}" |
| 139 | + if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }} |
| 140 | + |
| 141 | + - name: Store Artifacts in Cache |
| 142 | + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 |
| 143 | + with: |
| 144 | + path: ${{ github.workspace }}/dist |
| 145 | + key: nginx-ingress-${{ needs.checks.outputs.go_code_md5 }} |
| 146 | + if: ${{ needs.checks.outputs.binary_cache_hit != 'true' }} |
| 147 | + |
95 | 148 | build-docker:
|
96 | 149 | if: ${{ needs.checks.outputs.stable_image_exists != 'true' }}
|
97 | 150 | name: Build Docker OSS
|
98 |
| - needs: [checks] |
| 151 | + needs: [checks, binaries] |
99 | 152 | strategy:
|
100 | 153 | fail-fast: false
|
101 | 154 | matrix:
|
@@ -125,7 +178,7 @@ jobs:
|
125 | 178 | build-docker-plus:
|
126 | 179 | if: ${{ needs.checks.outputs.stable_image_exists != 'true' }}
|
127 | 180 | name: Build Docker Plus
|
128 |
| - needs: [checks] |
| 181 | + needs: [checks, binaries] |
129 | 182 | strategy:
|
130 | 183 | fail-fast: false
|
131 | 184 | matrix:
|
@@ -157,7 +210,7 @@ jobs:
|
157 | 210 | build-docker-nap:
|
158 | 211 | if: ${{ needs.checks.outputs.stable_image_exists != 'true' }}
|
159 | 212 | name: Build Docker NAP
|
160 |
| - needs: [checks] |
| 213 | + needs: [checks, binaries] |
161 | 214 | strategy:
|
162 | 215 | fail-fast: false
|
163 | 216 | matrix:
|
@@ -302,8 +355,8 @@ jobs:
|
302 | 355 | uses: ./.github/workflows/publish-helm.yml
|
303 | 356 | with:
|
304 | 357 | branch: ${{ github.ref_name }}
|
305 |
| - ic_version: 0.0.0-edge |
306 |
| - chart_version: edge |
| 358 | + ic_version: edge |
| 359 | + chart_version: 0.0.0-edge |
307 | 360 | nginx_helm_repo: false
|
308 | 361 | permissions:
|
309 | 362 | contents: write # for pushing to Helm Charts repository
|
|
0 commit comments