@@ -64,20 +64,20 @@ jobs:
6464 strategy :
6565 fail-fast : true
6666 matrix :
67- os : [ ubuntu-22.04 , windows-latest, macos-latest ]
67+ os : [ ubuntu-latest , windows-latest, macos-latest ]
6868 with :
6969 ref : ${{ needs.version-and-tag.outputs.tag }}
7070 runs-on : ${{ matrix.os }}
7171
72- bundle-linux :
72+ bundle-linux-old :
7373 needs : [ get-configs, version-and-tag, build-and-test ]
7474 strategy :
7575 fail-fast : true
7676 matrix :
7777 include :
78- - { arch: "x64", docker-platform: "linux/amd64", go-arch: "amd64", use_qemu: false, node-version: "22 " }
79- - { arch: "arm64", docker-platform: "linux/arm64", go-arch: "arm64", use_qemu: true, node-version: "22 " }
80- runs-on : ubuntu-22.04
78+ - { arch: "x64", docker-platform: "linux/amd64", go-arch: "amd64", use_qemu: false, node-version: "18 " }
79+ - { arch: "arm64", docker-platform: "linux/arm64", go-arch: "arm64", use_qemu: true, node-version: "18 " }
80+ runs-on : ubuntu-latest
8181 steps :
8282 - uses : actions/checkout@v5
8383 with :
@@ -95,11 +95,11 @@ jobs:
9595
9696 TAG=${{ needs.version-and-tag.outputs.tag }}
9797 if [[ "$TAG" =~ -alpha$ ]]; then
98- FILE_NAME="${APP_NAME}-${VERSION}-alpha-linux-${{ matrix.arch }}-node${NODE_MAJOR}"
98+ FILE_NAME="${APP_NAME}-${VERSION}-alpha-glib2.28- linux-${{ matrix.arch }}-node${NODE_MAJOR}"
9999 elif [[ "$TAG" =~ -beta$ ]]; then
100- FILE_NAME="${APP_NAME}-${VERSION}-beta-linux-${{ matrix.arch }}-node${NODE_MAJOR}"
100+ FILE_NAME="${APP_NAME}-${VERSION}-beta-glib2.28- linux-${{ matrix.arch }}-node${NODE_MAJOR}"
101101 else
102- FILE_NAME="${APP_NAME}-${VERSION}-linux-${{ matrix.arch }}-node${NODE_MAJOR}"
102+ FILE_NAME="${APP_NAME}-${VERSION}-glib2.28- linux-${{ matrix.arch }}-node${NODE_MAJOR}"
103103 fi
104104
105105 ASSET_NAME=$(echo "$FILE_NAME" | tr '[:upper:]' '[:lower:]')
@@ -109,38 +109,60 @@ jobs:
109109 if : matrix.use_qemu
110110 uses : docker/setup-qemu-action@v3
111111
112- - name : Bundle (${{ matrix.docker-platform }}
112+ - name : Bundle (${{ matrix.docker-platform }}-${{ matrix.node-version }})
113113 run : |
114- docker run --rm -v ${{ github.workspace }}:/work -w /work \
114+ docker run --rm -t - v ${{ github.workspace }}:/work -w /work \
115115 --platform ${{ matrix.docker-platform }} \
116- amazonlinux:2023 \
116+ node:18-buster \
117117 /bin/bash -c '
118- set -ex
119- yum install -y make gcc-c++ python3 tar gzip wget tree
118+ set -e
119+
120+ git config --global --add safe.directory /work
121+ echo "deb http://archive.debian.org/debian buster main" > /etc/apt/sources.list
122+ echo "deb http://archive.debian.org/debian-security buster/updates main" >> /etc/apt/sources.list
123+ apt-get -o Acquire::Check-Valid-Until=false update
124+
125+ apt-get update
126+ apt-get install -y make g++ python3 build-essential tar gzip wget tree
127+
128+ SYS_LIB=$(find /usr/lib -name libstdc++.so.6 | head -n 1)
129+ SYS_MAX=$(strings "$SYS_LIB" | grep "GLIBCXX_[0-9]" | sort -V | tail -n 1)
130+ SYS_MIN=$(strings "$SYS_LIB" | grep "GLIBCXX_[0-9]" | sort -V | head -n 1)
131+ echo "----------------------------------------------------------------"
132+ echo "SYSTEM BASELINE:"
133+ echo "Library Path: $SYS_LIB"
134+ echo "Max GLIBCXX Supported: $SYS_MAX"
135+ echo "Min GLIBCXX Supported: $SYS_MIN"
136+ echo "----------------------------------------------------------------"
120137
121138 wget -q https://go.dev/dl/go${{ needs.get-configs.outputs.go-version }}.linux-${{ matrix.go-arch }}.tar.gz
122139 tar -C /usr/local -xzf go${{ needs.get-configs.outputs.go-version }}.linux-${{ matrix.go-arch }}.tar.gz
123140 export PATH=$PATH:/usr/local/go/bin
124141
125- curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
126- export NVM_DIR="$HOME/.nvm"
127- . "$NVM_DIR/nvm.sh"
128- nvm install ${{ matrix.node-version }}
129- nvm use ${{ matrix.node-version }}
142+ uname -r && node -v && npm -v && go version
130143
131144 npm ci
132145
133146 TAG="${{ needs.version-and-tag.outputs.tag }}"
134147 if [[ "$TAG" =~ -alpha$ ]]; then
135- npm run bundle:alpha
148+ npm run bundle:alpha -- --env rebuild=true
136149 elif [[ "$TAG" =~ -beta$ ]]; then
137- npm run bundle:beta
150+ npm run bundle:beta -- --env rebuild=true
138151 else
139- npm run bundle:prod
152+ npm run bundle:prod -- --env rebuild=true
140153 fi
141154
142- tree -f bundle/production/node_modules/tree-sitter
143- tree -f bundle/production/node_modules/tree-sitter-json
155+ if [ -z "$(find . -name "*.node" -print -quit)" ]; then
156+ echo "::warning::No .node files found to check"
157+ exit 1
158+ else
159+ find . -name "*.node" -print0 | while IFS= read -r -d "" file; do
160+ echo "Inspecting: $file"
161+ FILE_MAX=$(strings "$file" | grep "GLIBCXX_[0-9]" | sort -V | tail -n 1)
162+ FILE_MIN=$(strings "$file" | grep "GLIBCXX_[0-9]" | sort -V | head -n 1)
163+ echo " > FileMAX - $FILE_MAX FileMIN - $FILE_MIN"
164+ done
165+ fi
144166
145167 GOARCH=${{ matrix.go-arch }} go build -C ./cfn-init/cmd -v -o ../../bundle/production/bin/cfn-init
146168 cp ./cfn-init/THIRD-PARTY-LICENSES.txt ./bundle/production/bin/
@@ -155,12 +177,14 @@ jobs:
155177 include-hidden-files : true
156178 compression-level : 6
157179
158- bundle-win-mac :
180+ bundle :
159181 needs : [ get-configs, version-and-tag, build-and-test ]
160182 strategy :
161183 fail-fast : true
162184 matrix :
163185 include :
186+ - { os: "ubuntu-latest", arch: "x64", platform: "linux", go-arch: "amd64", node-version: "22.x" }
187+ - { os: "ubuntu-24.04-arm", arch: "arm64", platform: "linux", go-arch: "arm64", node-version: "22.x" }
164188 - { os: "macos-15-intel", arch: "x64", platform: "darwin", go-arch: "amd64", node-version: "22.x" }
165189 - { os: "macos-latest", arch: "arm64", platform: "darwin", go-arch: "arm64", node-version: "22.x" }
166190 - { os: "windows-latest", arch: "x64", platform: "win32", go-arch: "amd64", node-version: "22.x" }
@@ -191,7 +215,7 @@ jobs:
191215 - name : Install Dependencies
192216 run : npm ci
193217
194- - name : Bundle (${{ matrix.platform }}-${{ matrix.arch }})
218+ - name : Bundle (${{ matrix.os }}-${{ matrix.node-version }})
195219 shell : bash
196220 run : |
197221 TAG=${{ needs.version-and-tag.outputs.tag }}
@@ -249,7 +273,7 @@ jobs:
249273 compression-level : 6
250274
251275 release :
252- needs : [ version-and-tag, bundle-linux, bundle-win-mac ]
276+ needs : [ version-and-tag, bundle-linux-old , bundle ]
253277 runs-on : ubuntu-latest
254278 permissions :
255279 contents : write
0 commit comments